From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Настройка Ключей формы (Shape Keys)

Рис. 1: Базовый меш для примера Ключей формы.
Начнем с простого примера, показывющего все необходимые элементы.

Базовый меш показан на Рис. 1. Это его вид сверху (Num-7). Теперь мы собираемся создать пять Форм.

Выберите меш в режиме "Object".

Прежде всего создайте Базовую ("Basis") Форму, нажатием i->Mesh. (или нажатием кнопки "Add Shape Key" на вкладке "Edit/Buttons").

Внимание!
Убедитесь, что вы создали/отредактировали меш по своему вкусу до того, как создадите Базовую форму. Если вы отредактируете меш после создания ключей формы, это приведёт к непредсказуемым последствиям.


Мы создадим следующие четыре формы с самого начала, поэтому все они исходят из Базовой формы. Повторите процесс нажатия i->Mesh четыре раза.

Вы можете переключаться между формами, выбором соответствующей формы на панели Shapes среди кнопок Editing (F9). Теперь мы будем изменять формы.

Рис. 2: Четыре из пяти различных форм: Базовая (Basis)(1), Закрыт (Close)(2), Улыбка (Smile)(3), Лево-Вверх (LeftUp)(4).

Формы:

  1. Базовая (Basis)- Базовая позиция, рот приоткрыт.
  2. Закрыт (Close)- Рот закрыт.
  3. Улыбка (Smile)- Уголки рта приподняты.
  4. Лево-Вверх (LeftUp)- Только левый уголок вверх.
  5. Право-Вверх (RightUp)- Только правый уголок вверх.

Смотрите изображения ------------>>>>>>>>>

Для управления Ipo-кривыми мы используем кости арматуры. Одна кость для открытия и закрытия рта, другая для поднимания или опускания уголков рта. Поскольку для управления движениями мы можем использовать все три пространственных направления по отдельности, мы можем двигать одновременно оба уголка рта перемещением по вертикали, а перемещением по горизонтали мы будем двигать только правую или, соответственно, только левую сторону, и т.д.

Сколько костей вы используете и как вы хотите управлять формами - дело ваше, это зависит от объема управления и удобства использования, какого вы хотели бы достичь.

В нашем примере арматура установлена в вид ZX (Фронтальный) (Num-1). Вы можете перенести его на отдельный слой и использовать отдельные 3D-окна для перемещения окружающих костей. Вам следует располагать кости вдоль глобальных осей - это проще, чем ограничивать их передвижение.

Название левой кости - "Close", правой кости - "Smile". Название арматуры объекта - "Driver" (F9->панель Link and Materials, поле OB:.). (Название "Driver" выбрано произвольно и не имеет отношения к IPO->"Driver")

Выберите меш в режиме "Object".

Разделите 3D-окно и перейдите в Ipo Curve editor. Выберите Ipo Type->Shape (Рис. 3).

Рис. 3: Настройка арматуры. На правой стороне окна Ipo в режиме формы. Мы смотрим на кости снизу вверх. 1: "Закрыт" ("Close"), 2: "Улыбка" ("Smile").

Соединение Ключа Формы и Драйвера

Рис. 4: Кость как ключ Ipo Драйвера в редакторе Ipo-кривых.
Для соединения Ключа Формы с управляемым объектом - Драйвером - выберите Ключ формы (ЛКМ из списка на правой стороне окна IPO) и нажмите n в окне Ipo для вызова панели Transform Properties. Кликните Add Driver. Впишите название арматуры в поле OB: и выберите Pose в выпадающем списке. Впишите имя управляемой кости в полк BO: (в данном случае - "Close"). Мы используем LocZ для управления позой (Рис. 4). Если вы не уверены в правильности координаты, выберите кость в 3D-окне и используйте её панель свойств преобразований в 3D окне, чтобы посмотреть его координаты.

Для вставки Ipo-кривой нажмите i в редакторе Ipo-кривых (Ipo Curve editor) и подтвердите Default one-to-one mapping. Туда будет вставлена линейная кривая в диапазоне от (0,0) до (1,1). В символе Ipo-кривой перед именем формы появится точка, символизирующая тот факт, что у этой кривой имеется Драйвер. Ipo-кривая отображает движения кости через Ключевые значения формы, к примеру, при перемещении кости на 1 Blender Unit (BU) в направлении Z, Ключевые значения формы изменяется от 0 до 1. Если двигаться в отрицательном направлении Z, форма инвертируется, то есть вершины сдвинутся в противоположную сторону. Если Ipo-кривая идёт горизонтально, то форма не изменится, если вы передвинете кость.

Мы будем пользоваться этим для установки границ допустимого движения кости.
Рис. 5: Ipo-кривая для формы "Закрыт" ("Close").
Установите диапазон (-1, -1), (1, 1), выбором кривой и нажатием ⇆ Tab для перехода в режим редактирования. Кликните ПКМ на точке (0,0), нажмите G, чтобы захватить её и сдвиньте мышь вниз и влево, пока точка не сместится в (-1, -1). Вы также можете, пока точка выбрана, непосредственно ввести ее новые координаты в поля Vertex X: и Vertex Y: в нижней части панели Transform Properties. Снова нажмите клавишу Tab для выхода из режима редактирования. Установите Расширенный режим в Constant (Curve->Extend mode->Constant). Нажатием T->Linear можно вернуться обратно к линейной кривой: когда тип кривой меняется, то меняется и расширенный режим.

Повторите эти действия для формы "Улыбка" ("Smile"), но но нам придётся перевернуть IPO-кривую (S-X) от (-1,1) до (1, -1) так, чтобы движение кости соответствовало движению рта. Для того, чтобы поднимать уголки рта поодиночке, Ключ формы связывается с Х-координатой кости. Если кость движется в положительном направлении оси х, следует поднимать правый уголок, а если она движется в отрицательном направлении оси x - левый уголок (Рис. 6).


Рис. 6: Три Ipo-кривых для форм "Улыбка"("Smile") (1), "Лево-Вверх"("LeftUp") (2) и "Право-вверх"("RightUp") (3).
Если теперь подвигать кости в режиме позы, формы будут меняются соответствующим образом. Если вам требуется больше форм, или вы хотите получить более гибкое управление, вы можете установить больше Драйверов.

Пользовательские контроллеры

"Пользовательские контроллеры" - это, по сути, самодельные ручные контроллеры для упрощения работы с Управляемыми ключами формы (Driven Shape Keys). Такого Blender-объекта не существует (по крайней мере, пока), поэтому мы используем меш-объекты для визуализации цели и границ перемещаемых объектов. Движение Драйверов ограничивается установкой параметров блокировки на их панели Transform Properties и, при желании, ограничителями floor. Поэтому объекты Драйверов ведут себя почти как реальные кнопки управления.

Рис 7a: Четыре меша, показывающие границы параметров.
Рис. 8: панельTransform Properties (Свойства преобразований) для кости "Закрыт" ("Close") (№ 1 на Рис. 7A.). Кость может двигаться только вверх-вниз.
Рис. 7b: Более интуитивный способ визуализации перемещений Драйвера.
Рис. 7a демонстрирует некоторые примеры Пользовательских контроллеров (основано на идее пользователя "PolygoneUK" с форума Elysiun). Ограничив свободу перемещений в панели Transform Properties, мы позволяем кости двигаться только вверх-вниз, но не в стороны.


Вы можете использовать иную визуализацию, построив стилизованные "лицо" и вставив Драйверы на соответствующие места (идея, высказанная здесь: Zeyne 2.4 rig with facial controller).


Рис. 9: Используя ограничитель Floor, можно ограничить перемещения Драйверов областью управления.

Во втором примере 2 дополнительных объекта на углах используются как ограничитель Floor. Они предотвращают выход кости за допустимые границы. Таким образом, требуются четыре ограничителя на площадь, и только два ограничителя для ползунков "вверх-вниз" (Рис. 9).

После создания контроллеров мы можем двигать их по глобальной сцене, так что не отредактируйте их по неосторожности! Создайте новую, пустую сцену (двойная стрелка возле поля SCE:, Add new->Empty). Назовите эту новую сцену "Global". Отметьте все объекты, относящиеся к управлению, кроме Арматуры, которую нам еще придётся изменять. Свяжите объекты сцены при помощи CtrlL->To scene... ->Global.

Затем мы удалим связь между объектами: U->Object. Теперь удалим объекты из текущей сцены. Переключитесь на кнопку Scene (F10) и кликните маленькую кнопочку с двойной стрелкой и неприметной подсказкой Scene to link as a Set на панели Output. Выберите "global". Теперь контроллеры видны, но вы не можете выбрать или редактировать их.
Рис. 10: Контроллеры были перемещены на глобальную сцену.

NLA

Теперь отдельные движения "лица" могут быть объединены в действия, а они в свою очередь в редакторе NLA - в комплексные группы. Действием будет считаться какое-либо выражение лица: весёлое, грустное, удивилённое, с отвращением и т.д. Если вы обзавелись всеми необходимыми действиями, то можете работать только с этими действиями.

Разумеется, вы не обязаны работать в редакторе NLA, и вполне можете создать одно длинное действие, в которое вы и вставите все Ipo.

Определение Действия

Как описано в разделе The Non Linear Animation Editor Window, следует создать различные действия для лица.

Рис. 11: Три действия в окне Редактора Действий (Action Editor).
К примеру, "лицо" воздействует сразу на два "глаза". Были созданы три действия : "Подмигивание"("Wink"), "Радость"("Joy") и "Гнев"("Anger") (Рис. 11). Позиционированием костей арматуры в режиме позы создаются выражения, выбираются все необходимые кости и вставляются Ipo. Перейдите на 10 кадров вперёд и сохраните точно такую же позу. Тайминг создаётся в окне NLA Editor.
Рис. 12: Действия в окне редактора NLA.
Теперь выбирайте выражения в редакторе NLA и определитесь с таймингом. Особенно полезным будет смешение разных выражений (Blendin/Blendout). Если вы используете опцию Hold для полос, вы должны определить и действие "Basis", чтобы можно было смешивать и с "Базовой" формой.
Рис. 13: Наслаждайтесь смешиванием!

Links

Ipo Drivers, Releasenotes of v2.40
Orange Blog: License to drive Driven Shape Keys, blend file provided.