Анимирование персонажа в Blender
Данный урок полностью посвящен анимации персонажа в блендер. Мы не будем создавать риг самостоятельно, а воспользуемся уже готовым, как это и делают аниматоры в больших студиях. Сам урок не сложный и отлично подойдет для тех, кто мало знаком с анимацией в Blender.
Финальный результат
Текстовый урок
Перед тем как начать анимировать…
Первый и наиболее важный шаг это поиск хороших референсов. Без использования хороших референсов вам будет очень трудно достичь качественного результата. Это своего рода чертеж, который поможет анализировать проделанную работу и подскажет, как достичь желаемого результата.
Создайте раскадровку. Это ключевые позы вашего персонажа. Она не должна быть суперточной, но должна давать четкое представления того, в каких позах будет находится ваш персонаж в тот или иной момент времени.
В данном уроке мы не будем создавать непосредственно сам риг, а сосредоточимся исключительно на процессе создания анимации персонажа. Для этого вам необходимо скачать модель персонажа Body Mechanics Rig V1.0 с сайта Blendswap.com.
Подготовка персонажа
Если все модели, окружение, персонажи и анимация создаются и хранятся в одном файле, он становится слишком перегруженным и занимает много места. Даже, если вы создаете несколько файлов для различных частей анимации, в случае, если вам понадобится изменить персонажа, вам придется проделывать это в каждом файле.
Хорошей практикой является держать все элементы независимо друг от друга. Персонажи и остальные части окружения должны быть связанны (или импортированы) в ваш анимационыый файл.
При таком подходе, если вы измените вашего персонажа, то это отразится на всех файлах, с которыми он связан. При этом размер файла самой анимации будет минимальным.
Откройте Blender и удалите из него все лишнее.
В меню File выберите пункт Link.
Найдите скачанный blend-файл с персонажем.
Выберите каталог Group. Это распространенная практика группировать модель персонажа и его риг.
Наконец-то, выберите группу BMR-Blue.
Персонаж появится в вашей сцене. На данный момент вы не можете его редактировать. Для этого вам потребуется открыть оригинальный файл.
Для анимации необходимо сделать арматуру персонажа редактируемой. В меню Object выберите пункт Make Proxy…
В появившемся окне выберите rig_BMR-Blue.
Появится арматура персонажа и вы сможете двигать кости в режиме позирования (Pose mode).
Перейдите в режим позирования.
Выберите кость foot.ik.l. На панели свойств в меню Properties установите параметр auto_stretch равным 0.00. Это предотвратит растягивание ноги персонажа.
Проделайте тоже самое для правой ноги (foot.ik.r).
Включите автоматическую установку ключевых кадров при трансформации костей персонажа (auto-keyframe).
Переключитесь на рабочее пространство Animation.
На данный момент мы готовы приступить к созданию анимации.
Анимация
Убедитесь, что вы находитесь на 1-ом кадре. Выделите все кости персонажа и сбросьте их в значение по умолчанию (Alt + G и Alt + R). Так как опция auto-keyframe включена, это установит ключевые кадры для всех костей на первом кадре.
В редакторе Dope Sheet перейдите в режим Action Editor. Вся наша анимация будет состоять из одного экшина.
Назовите экшин backflip и назначьте для него поддельного пользователя (fake user). Также убедитесь, чтобы кнопка Summary была активированна. Это включит сводку ключевых кадров вверху окна Dope Sheet.
В окне 3D-вида перейдите на вид спереди и переключитесь на ортогональный вид. Поочередно опустите обе руки персонажа.
Выберите все кости управляющие пальцами вашего персонажа и с помощью клавиши S немного согните их. На данном этапе мы создаем стартовую позу из которой персонаж будет выполнять сальто.
Перейдите на 11-й кадр.
Перейдите на вид справа или слева. Выделите кость управляющую торсом персонажа и опустите ее. Затем заведите руки назад и поверните голову. В редакторе Dope Sheet вы заметите, что для данных костей были созданы ключевые кадры.
Пропустите еще 10 кадров и перейдите на 21-й. На видах сбоку и спереди создайте следующую ключевую позу вашего персонажа.
Пропускаем очередные 10 кадров и создаем следующую позу. На данный момент мы сосредоточены лишь на создании ключевых поз и не обращаем никакого внимания на тайминги между ними. К ним мы вернемся после создания всех поз.
Создайте все ключевые позы с интервалом в 10 кадров.
Перейдите на шкале времени на вторую с конца позу, в редакторе Dope Sheet нажмите I и выберите пункт All Channels, чтобы установить ключевые кадры для всех костей. Все последующие анимации будут использовать данные позиции костей в качестве стартовой точки.
Перейдите вперед на десять кадров и установите персонажа в исходную позу.
Перейдите на первый кадр.
Проиграйте анимацию (Alt + A). На данный момент она выглядит мягко говоря не очень. Теперь то мы и займемся настройкой таймингов между ключевыми кадрами.
Остановите анимацию и перейдите на первый кадр. Выделите кость foot.ik.l. Продублируйте ключевые кадры (Shift + D) в окне Dope Sheet и переместите их на 11-й кадр. Тоже самое проделайте для foot.ik.R.
Перейдите на 16-й кадр и поверните руки так, чтобы они были перед персонажем.
Проиграйте анимацию еще раз. После небольшой корректировки рук и ног стало значительно лучше, но все еще не идеально.
Чтобы ускорить или замедлить тот или иной процесс выделите один из ключевых кадров в верхней части окна (Summary) и с помощью клавиши G смещайте все кадры в нужную вам сторону. Чем ближе два таких кадра друг к другу, тем быстрее происходит анимация между ними и наоборот.
После всех корректировок установите продолжительность всей анимации. Для этого перейдите на тот кадр, на котором вы хотите закончить анимацию и нажмите клавишу E.
Проиграйте анимацию и оцените результат. Если вы потратите еще немного времени на корректировку кадров, добавление асимметрии и т.д., результат будет значительно лучше.
Blender для начинающих/Анимация
-
Стандартные движки
-
Описание всего по немногу. После прочтения Вы сможете моделировать в Blender.Разбирание меню. После изучения этой главы Вы будете быстрее ориентироваться в меню.Описание модификаторов. После прочтения данной главы Вы сможете плодотворно пользоваться модификаторами в Blender.В этой главе описывается игровая логика в BGE. В конце прочтения данной главы Вы будете владеть игровой логикой почти на профессиональном уровне.Здесь рассказывается о нодах в Blender. В конце прочтения этой главы Вы будете уметь создавать несложные, но красивые материалы.Глава посвящена нодам в старом рендере «Blender Render». После изучения главы Вы будете способны ориентироваться в нодах старого рендера на среднем уровне.Эта часть книги дает сведения о создании анимации. После ее прочтения Вы сможете работать с анимацией в Blender.Здесь повествуется о том, как настроить Blender под себя. В конце прочтения этой части книги Вы сможете изменить интерфейс под себя.Такие тонкости Blender, которые могут сделать работу в нем более комфортной. После изучения этой главы Вы сможете оптимизировать работу программы и работать с объектами на более высоком уровне.
-
Здесь рассказывается о настройке поведения объектов с помощью нодовой системы. Изучив главу, Вы будуте способны визуально программировать логику нодами.
-
Рендеринг
-
Примеры создания простых моделей для игр и самих игр, и материалов для игр. После изучения этой главы Вы будете способны создавать игры средней сложности.Примеры использования движка Cycles Render с кратким описанием. В конце изучения этой главы Вы сможете быстрее разбираться в нодах.
-
Примеры настройки игровой логики в Blender. В конце прочтения этой главы Вы будете уметь создавать свою игровую логику.Решение задач на Python с использованием Blender. После прочтения данной главы Вы приобретете навыки написания скриптов.
Старый Blender Содержит информацию о Blender 2.49. После прочтения данной части книги Вы сможете назвать основные плюсы и минусы Blender 2.49.
Blender & 3DsMax Сравнение Blender, 3DsMax, Sweet Home и Art Of Illusion. После прочтения этой главы Вы будете немного знать о различиях этих программ.
-
Этот раздел посвящен языку программирования Python и его использованию в Blender. После ее прочтения Вы будете немного ориентироваться в написании скриптов в Blender.Здесь рассказывается о написании шейдеров на языке OSL.Этот раздел посвящен библиотеке OpenGL. Послее его прочтения Вы будуте способны программировать на OpenGL.Немного о языке шейдеров GLSL. После его прочтения Вы сможете читать простые программы на этом языке.Здесь рассказывается о JS, Ajax и JSON. После изучения этого раздела Вы сможете легче ориентироваться в нодах, предназначенных для сети, в Blend4Web.
Постобработка изображений
-
Немного о постобработки изображений. После прочтения этой главы книги Вы будете более осведомлены об эффектах, которые можно применять для изображений.
Музыкальное сопровождение
-
Список песен и мелодий, которые могут помочь насладиться процессом работы в Blender.
Содержание
Timeline Editor [ править ]
Общий принцип [ править ]
Всякая анимация в Blender создается следующим образом: выбираются некоторые кадры, в которых меняются позиции объектов, углы их поворота или происходят другие изменения, далее Blender сам рассчитывает скорость изменения параметров тел между этими кадрами.
Интерфейс редактора [ править ]
- Start и End — кадры, в диапазоне которых может проигрываться анимация у данного объекта.
- Для установки начального кадра в текущий нажмите на S.
- Для установки конечного в текущий — E.
- 1 — перейдет к кадру, называемым Start.
- 4 — перейдет к кадру, называемым End.
- 2 — воспроизведет анимацию с конца к началу (от текущего кадра до кадра Start).
- 3 — проиграет анимацию от начала к концу (от текущего кадра до кадра End).
Типы анимации [ править ]
Для создания анимации следует нажать на кнопку I в окне 3D вида, выбрав из списка что Blender должен запомнить в данном кадре — позицию, угол поворота или другое. Далее следует изменить кадр и проделать то же самое.
- Location — в текущем кадре будет сохранена только позиция объекта.
- Rotation — в текущем кадре будет сохранен только угол поворота тела.
- Scaling — в текущем кадре будет сохранен только размер объекта.
- LocRot — сохранит в текущем кадре как и позицию, так и угол поворота объекта.
- LocScale — сохранит в текущем кадре как и позицию, так и размер объекта.
- LocRotScale — сохранит в текущем кадре позицию, угол поворота и размер тела.
- RotScale — сохранит в текущем кадре угол поворота и размер тела.
Graph Editor [ править ]
Один из мощных инструментов для редактирования созданной анимации — Graph Editor. Он позволяет не только изменять анимацию, но и применять к ней всякие эффекты.
- Вся анимация всегда представляется в виде трех кривых, иллюстрирующих изменения поворота или других величин.
- Красная кривая показывает изменения по оси X.
- Зеленая и синяя — по осям Y и Z соответственно.
При надобности можно поворачивать кривые потянув за крайние точки, как показано на картинке:
- Слева есть маленькое окно, в котором можно работать с названием анимации, объекта и даже управлять видимостью кривых и их блокировкой.
- Для изменения названия объекта, анимации или типа анимации щелкните по нему 2 раза, а затем установите нужное имя.
3. С помощью стрелочек можно сворачивать и разворачивать ниже располагающиеся меню. 1. Кнопки в виде глаза управляют видимостью кривых — по осям X, Y и Z. 2. Также можно блокировать и разблокировать от изменений любую из кривых нажимая на значок в виде замка.
Курсор [ править ]
Одна из важных вещей, без которых нельзя бы было работать — это курсор в редакторе Graph Editor.
- Для управления курсором откройте окно View Properties.
- Галочка Show Cursor указывает на то, будет ли показывать курсор в виде двух пересекающихся перпендикулярных линий, или будет отображаться на его месте только вертикальная линия, символизирующая текущий кадр.
- Команда Cursor from Selection заставляет переместиться курсор в среднюю точку, между всеми выделенными (точки — это ключевые кадры).
- Cursor X определяет позицию курсора по оси X, а Cursor Y — соответственно по оси Y.
- Чтобы переместить все выделенные ключевые кадры по некоторой оси к курсору следует нажать на To Keys.
- Если Вы нажмете на To Keys по оси X, то все точки переместятся курсору, да так, что все их координаты по оси X станут совпадать с текущей координатой курсора по данной оси.
- Аналогично и с осью Y — точки сдвинутся к курсору только по оси Y, по оси X движения не произойдет.
Раскраска кривых [ править ]
- Для раскраски кривых (каждой по отдельности) следует перейти в окно Active F-Curve.
- Далее из меню Color Mode выбрать требующийся тип раскраски.
- User Defined — с помощью него Вы можете сами установить цвет для кривой.
- Для того, чтобы кривая, символизирующая изменения по оси X была красной, по Y — зеленой, а по оси Z — синей установите тип раскраски Auto XYZ to RGB.
- Когда хочется, чтобю кривая была раскрашена одним из цветов радуги выберите Auto Rainbow.
- Цвет пользователю можно выбрать будет только при типе раскраски f-кривой User Defined.
Модификаторы F-кривых [ править ]
Как известно из начальной части книги, модификатор — это такое действие, которое позволяет изменять что-нибудь. Они настраиваются в окне Modifiers, находящиеся справа.
- Модификаторы здесь сильно отличаются от модификаторов объектов.
- У них нет собственного имени — пользователь не может сам задать имя.
- Наверху в окне Modifiers есть кнопка для добавления нового модификатора. После нажатия на нее появится весь список модификаторов, из которого Вам придется выбрать нужный.
- Как и обычно, каждый модификатор можно удалять, нажимая на крестик.
- Или отключать видимость его влияния, нажимая на значок рупора слева от крестика.
- Также, все модификаторы имеют настройки области своего влияния — Restrick Frame Range.
- Для включения такого ограничения нажмите на Restrick Frame Range, для отключения — щелкните снова по этой кнопке.
- Start — это кадр, на котором модификатор начнет оказывать свое действие.
- End — последний кадр влияния модификатора.
- Существуют 2 функции для плавного увеличения и уменьшения влияния.
- In — управляет количеством кадров, которое требуется с первого кадра влияния модификатора (Start) до того момента, как модификатор проявит максимальную силу влияния (установленную в Use Influence).
- Out — аналогичная In функция, только для затухания влияния модификатора перед последним кадром End.
Описание модификаторов [ править ]
-
Built In Function преобразует кривую в график некоторой математической функции.
- Из списка математических функций Type можно выбрать: sine (синус), cosine (косинус), tangent (тангенс), natural logarithm (натуральный логарифм) или normalized sine (синус от x, деленный на x).
- Amplitude (амлитуда) — отвечает за растянутость шума по оси Y.
- Параметр Phase Multiplier устанавливает насколько сжата по оси X функция. Чем значение дальше от 0, тем функция более сжата по оси X.
- Phase Offset отвечает за смещение функции по оси X.
- Для смещения вправо используйте отрицательные значение.
- Для смещения влево используйте положительное значение.
- Для смещения вверх используйте положительное значение.
- Для смещения вниз используйте отрицательные значение.
-
Для придания кривой случайной формы воспользуйтесь модификатором шума Noise.
- Существует несколько типов смешивания формы кривой с шумом и с изначальной формой кривой.
- Replace — на f-кривой шум заменит ее предыдущую форму, оставив только результат от эффекта шума.
- Add — такой тип смешивания, при котором у точек с одинаковыми координатами координаты по Y будут складываться. (Эти кривые — изначальная кривая, и кривая, которая огибала бы существующую изначальную кривую и на ней бы оставался только шум.)
- Substract — также как и у типа смешивания Add, только координаты делятся.
- Та же схема и у Multiply, только с перемножением.
- Если выбрать отрицательное значение, то шум просто будет растягиваться по оси Y, отражаясь относительно изначальной кривой.
- Для смещения вправо используйте отрицательные значение.
- Для смещения влево используйте положительное значение.
-
Для установки ограничений на высоту кривой выберите модификатор Limits.
- Miminum X нужен для установки минимального значения X, за который кривой нельзя заходить.
- Maximum X нужен для установки максимального значения X, за который кривой нельзя заходить.
- Miminum Y нужен для установки минимального значения X, ниже которого кривая не может продолжаться.
- Maximum Y нужен для установки максимального значения X, выше которого кривая не может продолжаться.
Интерполяция f-кривых [ править ]
Изменяя интерполяцию конкретных участков f-кривых Вы можете контролировать ее плавность и форму. Существует 3 вида интерполяции:
- Bezier — стандартный вид интерполяции в виде плавной кривой.
- Linear — при данном виде интерполяции участки кривой (с данной интерполяцией) будут в виде ломанной.
- Constant — вид интерполяции, при котором кривая будет представлена в виде ступенек.
- Нажав на T можно сменить вид интерполяции для выделенных участков кривых.
Сглаживания [ править ]
Blender поддерживает 7 видом сглаживания для кривых:
- Sinusoidal — самый слабый.
- Quadratic — квадратичное сглаживание.
- Cubic — кубические сглаживание.
- Quartic — четверичное сглаживание.
- Quintic — пятиричное сглаживание.
- Exponential — экспоненциальное сглаживание.
Пропорционально моделирование f-кривых [ править ]
Пропорциональное доступно в полной мере и для редактирования кривых:
- Опорную точку или центр вращения (или для других операций) можно выбрать из меню Pivot Point.
Управление контрольной точкой [ править ]
Контрольная точка f-кривой — самая левая из всех выделенных точек точка. Изменять ее свойства можно в окне Active Keyframe.
- Изменяя параметр Frame можно устанавливать кадр, в котором находится эта контрольная точка.
- Меняя Value Вы измените позицию этой точки по Y.
Динамические эффекты [ править ]
- К контрольной точке можно применять также и динамические эффекты в окне Active Keyframe.
- Для применения эффектов для всех выделенных точек выбирайте из списка Dinamic Effects любой из трех эффектов после нажатия на T.
- Существуют следующие виды эффектов:
- Back — кубическое изгибание кривой.
- Имеет параметр Back, указывающий силу и направление изгибания кривой.
- Если его значение положительно, то кривая изогнется вверх, иначе вниз.
- Чем дальше от нуля значение этого параметра, тем сильнее изгибание.
- Чем дальше по оси Y будет находиться следующий ключевой кадр, тем сильнее будет изгибание кривой на данном участке.
- Amplitude — отвечает за значение амплитуды колебаний затухающей синусоиды.
- Period — частота колебаний.
- Чем значение этого параметра дальше по модулю от нуля, тем длиннее периоды колебаний кривой.
- С помощью параметра Easing можно для контрольной точки выбрать где будет применяться данный эффект.
- Ease Out — справа сразу у контрольной точки.
- Ease In — около следующего ключевого кадра.
- Ease In and Out — между контрольной точкой и следующим ключевым кадром.
Аддон Anim All (*) [ править ]
Данный аддон позволяет анимировать практически все за считанные секунды. В нем можно:
Анимация персонажей в Blender 3D — это просто
Мир open source не стоит на месте и постоянно развивается. Про Blender 3D написано уже много статей, но помимо Blender, существует еще много полезных и бесплатных программ. Одна из них, это MakeHuman. На Хабре упоминания о ней имеются, но какой либо информации по ней нет. Предлагаю вам заглянуть под кат и посмотреть, что анимация персонажей в связке MakeHuman+Blender3D, это действительно просто. Осторожно, много картинок.
Подготовка
- Windows 7,8: C:\Users\%username%\AppData\Roaming\Blender Foundation\Blender\2.6x\scripts\addons
- Windows XP: C:\Documents and Settings\%username%\Application Data\Blender Foundation\Blender\2.6x\scripts\addons
- Vista: C:\Program Files\Blender Foundation\Blender\%blenderversion%\scripts\addons (this is valid at least for blender 2.69)
- Linux: /home/$user/.blender/$version/scripts/addons
Запустим Blender и перейдем в настройки (Ctrl+Alt+U).
В дополнениях, у вас должен появиться пункт MakeHuman, при выборе которого вы увидите три дополнения, которые необходимо активировать проставив галочки.
Также необходимо активировать дополнение Import-Export Make Human:
Последнее, что необходимо сделать в настройках, это поставить галочку возле Auto Run Python Scripts (необходимо для работы скрипта импорта).
Сохраняем настройки нажав Save User Settings.
Моделирование персонажа
Сразу скажу, что русский язык включается в настройках.
MakeHuman, это генератор персонажей мужского и женского пола. По пиктограммам и надписям, думаю понятно, какой ползунок за какую часть человеческого тела отвечает.
Во вкладке «Моделирование» персонажа можно состарить, изменить цвет кожи, сделать ему длинные руки, ноги и т.д.
Во вкладке «Геометрии» персонажа можно одеть, добавить ему волосы, зубы, брови, веки, язык и другие необходимые органы (если требуется).
Для примера, я сделал вот такого симпатичного молодого человека.
Теперь, необходимо добавить ему кости для анимации.
Переходим во вкладку Поза-Анимировать и выбираем любые понравившееся кости. Я выбрал кости «Basic».
Далее, экспортируем нашего персонажа в формат понятный Blender`у. Файл->Экспорт, выбираем всё как на скриншоте:
По середине окна, есть кнопка с тремя точками, которая позволяет выбрать папку для сохранения и имя файла. Сохраняем нашего персонажа и переходим в Blender.
Анимация
В Blender, удаляем всё со сцены и идем в меню File-Import->MakeHuman:
Ищем сохраненный ранее файл и выбираем его.
В принципе, персонаж со всеми костями и манипуляторами готов. Можно подвигать частями тела и уже делать анимацию в ручную. Но это не наш метод и мы пойдем дальше.
Blender поддерживает формат анимации bvh. Данную анимацию, в основном, получают с помощью Motion Capture. В интернете много файлов с готовой анимацией. Мы возьмем анимацию отсюда . Скачиваем архив Zip file for BVH directories 01-09 (45 MB). и распаковываем.
Убеждаемся, что в Blender выбран наш персонаж и в так называемом «T» окне, выбираем вкладку Misc и нажимаем кнопку Load And Retarget.
В открывшемся окне выбора файла, выбираем любой понравившийся нам файл с анимацией bvh, который мы скачали ранее.
И теперь можно насладиться нашей анимацией, нажав кнопку Play.
Немного полезностей
1. MakeHuman при экспорте сохраняет файл персонажа в файл с расширением mhx и рядом создает папку textures которой лежат текстуры глаз, кожи и т.д. Вы всегда можете дорисовать что-то своё. Например татуировки или шрамы. UV развертку он тоже создает самостоятельно.
2. После того как вы накопите у себя много файлов с анимациями bhv, становится трудно ориентироваться в них всех. Естественно, вам хочется иметь какой-то предпросмоторщик. И он есть. Называется bvhacker, является бесплатной и open source программой и живет здесь. Так же, с помощью него можно исправлять и корректировать анимацию.
На этом на сегодня всё, надеюсь информация будет кому-то полезной.
В следующей статье расскажу о том, как создать анимацию, используя камеру и motion capture в blender.