Эта публикация с дополнительными материалами на сайте автора: http://blenderkey.tilda.ws/armrig_korgichar21y
Персонажи, персонажи, персонажи…
Без них никак и с ними сложно. Это его придумай, нарисуй, а потом еще надо что-то сделать чтобы этот персонаж можно было анимировать. Есть разные способы оснастки персонажа, однако, самый популярный вариант - скелетный риг. Вот об этом нынешний материал.
Содержание:
- Приветствие
- Цифровой скелет
- Скелет простого 2D персонажа
- Привязка деталей к скелету
- Замена внешнего вида кости
- Управляющие элементы
- Послесловие
- Дополнение
:) Приветствие
Скелетный риг настолько часто используется, что порой неотделим от самого слова риггинг. То есть под словом риггинг в уже подразумевается создание цифрового скелета персонажа, что не факт само по себе. Риг - лишь оснастка, приспособление для анимации, а риггинг - процесс подготовки модели персонажа к анимации. Например, в видео, «2D персонаж для анимации без арматуры в Blender» о создании робота, показан вариант анимационного 2D персонажа без использования скелета и его анимация. А вот скелетный риг, это один из вариантов оснастки. Надо отметить, что очень удобный вариант, потому такая популярность. Основной смысл создания скелета - это более легкое управление какими-либо объектами или их частями. Например, телом персонажа или его шляпой, может быть только глазами, а может и всем вместе, и одновременно. Для того, чтобы это произошло и персонаж, например, начал двигаться, создается цифровой скелет. Затем детали персонажа прикрепляют к костям скелета. После, скелет анимируется, двигается и передвигает прикрепленные к костям детали.
Возможность создания цифрового скелета предоставляется множеством 3D и 2D программ в которых имеются инструменты анимации. Мало того, во многих из них цифровые скелеты схожи и по функционалу, и внешне. Отсюда простая тема, осваиваешь работу в одной программе - легче переквалифицироваться на другую. И да, есть разница между 2D и 3D, однако принципы одни и те же. Это смежные области, таким образом процесс освоения происходит легче, проще. А в дальнейшем все образцы, скрины, пояснения на основе свободного, доступного каждому, Blender 3D, в котором возможно совмещать работу как в двух, так и в трех мерном цифровом пространстве.
Большинство изображений помещены в галереи для удобства и компактности материала.
Цифровой скелет
Виртуальный скелет [Armature], так же как и реальный скелет, состоит из костей [Bone]. Цифровая кость это просто, у нее есть основание, тело и хвост. На основании и хвосте шарниры. Кость поворачивается или трансформируется относительно шарнира основания, а к шарниру хвоста крепится другая кость или несколько костей одновременно, это же цифровой скелет, он позволяет творить чудеса. Кроме того, можно прикрепить другую кость с отступом. В этом случае прикрепленная кость, все так же, будет поворачиваться относительно своего основания и подчиняться кости к которой прикреплена, но при этом находится в стороне от основной кости, кости родителя.
У скелета имеется целых три функциональных режима: объектный; режим редактирования и режим позирования. Вот в этом режиме, режиме позирования, и происходит основная работа по анимации. Если тело кости в режиме позирования окрашено в зеленый цвет, то значит к кости добавлен констрейнт, который вносит свои коррективы в работу. Пожалуй на этом достаточно перекладывать мануал, тем более, что он доступен и при необходимости его можно почитать. Теперь лучше перейти к практическому применению и собрать скелет для одного из персонажей, это уже знакомая, тем кто посмотрел соответствующие видеоролики или прочитал статью, мордашка собаки.
Вся работа распределится следующим образом. Сначала создам скелет, потом присоединю элементы персонажа к костям скелета. Затем создам один виджет и заменю отображение кости головы на виджет, а финалом сделаю управление шейпкеями с помощью костей.
Скелет простого 2D персонажа
Загружу в Blender подготовленный для риггинга макет персонажа. Тут нет ничего особенного, просто разложенные по оси Y кривые с заливкой, у которых объединены материалы, применено масштабирование, а так же сделаны шейпкеи глаз, блеска глаз и языка. Этого достаточно для рассматриваемой работы.
Исходный файл, макет и другие вспомогательные файлы доступны для загрузки. Ссылки на эти файлы и дополнительные материалы продублированы в подвале публикации.
Итак, создам скелет как объект [Shift+A, Armature], переименую объект скелета [F2], перейду в режим редактирования [Tab] и переименую пока единственную кость [F2]. Выделю хвост кости [LMB], и передвину [G], изменив таким образом размер кости.
От хвоста экструдирую новую кость [E]. Всем костям назначаю понятные имена, чтобы не разбираться в последствии какая из костей Боня 007, а какая Баня 007 и что они тут забыли. Затем экструдирую кость головы, а от нее последовательно экструдирую две кости-посредника и кости ушек. Кости-посредники просто удалю [X], а парент связи останутся, что заметно по пунктирным линиям соединяющим кости ушек и кость головы. Затем создам новую кость [Shift+A], передвину, это будет кость лица. Продублирую эту кость несколько раз [Shift+D] создав: две кости для глаз; две кости для бровей, и дополнительно три кости управления, которые расположу рядом с мордашкой. Выделю кости глаз, бровей и лица [LMB, Shift+LMB]. В последнюю очередь выделю кость головы [Shift+LMB] и создам парент связи [Ctrl+P, Keep Offset]. Кости управления свяжу с основной, рут костью.
Поскольку тело персонажа статично, то к рут кости будет прикреплено тело персонажа. В случае, если планируется делать двигающееся тело, создается отдельная кость для тела. На этом простенький скелет создан, можно приступать к следующей процедуре, привязке к скелету деталей персонажа.
Привязка деталей к скелету
Имеется несколько вариантов или способов присоединения деталей персонажа к цифровому скелету. В рамках этого материала будет использован самый простой вариант, в этом случае вся деталь будет полностью принадлежать той кости к которой прикреплена. Формально этот процесс называется скинингом, но ввиду простоты этого действия так называть не буду.
Сниму ограничение выбора режима [Menu, Edit, Lock Object Modes] и переключу скелет в режим позирования [Edit Mode/ Pose Mode]. Выберу весь скелет [A] и переключу Кватерионы на Эйлер [Ctrl+R, XYZ Euler].
Выберу деталь персонажа [LMB], затем кость [Shift+LMB] которой эта деталь должна принадлежать. Свяжу с помощью варианта Bone парент связи [Ctrl+P, Bone]. Затем следующая деталь и т.д.
При необходимости связать с костью сразу несколько деталей, например нос и блеск носа. Нужно выбрать необходимые детали [LMB, Shift+LMB], в последнюю очередь кость к которой привязывать [Shift+LMB], а затем выполнить связку [Ctrl+P, Bone].
Если какая-то кость мешает, перекрывает своим грузным телом нужные детали или другие кости, то её можно на время скрыть [H], а по завершении работ вернуть [Alt+H]. Так же впору поступить и с деталями персонажа. Например, скрывать уже связанные детали, чтобы не запутаться в процессе выполнения работы.
Замена внешнего вида кости
Во время работы с анимацией тоже можно скрывать и показывать кости, но это очень неудобно, по-этому заменю внешний вид кости головы на созданную фигуру - виджет или просто контрол (контроллер управления). Выделю кость головы и установлю на её основание 3D-курсор [LMB, Shift+S, Cursor to Selected]. Перейду в объектный режим [Ctrl+Tab], создам круг [Shift+A, Mesh/ Circle], переименую [F2]. Поверну круг на 90 градусов по оси Х [R, X, 90]. Перейду в режим редактирования [Tab], изменю масштаб [S] и положение [G]. Удалю мешающие части [LMB, X/ Vertices]
Вернусь в объектный режим [Tab] и перейду в режим позирования скелета [LMB, Ctrl+Tab]. На вкладке свойств кости головы изменю отображение на созданную фигуру [Bone Properties/ Viewport Display/ Castom Shape/ Castom Object], флажок «масштабировать по кости» [Scale to Bone Length] можно снять и отключить отображение оригинальной фигуры в аутлайнере, предварительно изменив фильтры сортировки.
Аналогичным образом возможно заменить отображение всех костей скелета, а те кости, которыми не планируется управлять можно спрятать на другой слой костей, но об этом в другой раз.
Управляющие элементы
Осталось задействовать заложенные в макет возможности. Ведь есть шейпкеи, теперь можно сделать для них управление. Выделю самую нижнюю кость управления, которая будет взаимодействовать с шейпкеем языка. Добавлю на кость констрейнт-ограничитель передвижения [Bone Constaint Properties/ Limit Location], выберу для действий локальное пространство кости [Owner/ Local Space] и установлю все флажки, а для максимального значения по оси Х установлю значение в 1 м. Теперь кость будет перемещаться только по оси Х на величину до 1 м.
Установлю такие же констрейнты с этими настройками и для оставшихся двух костей управления глазами. Вновь выделю кость управления языком и копирую значение перемещения по оси Х как новый драйвер [Bone Properties/ Transform/ Location X/ RMB, Copy as New Driver]. Затем выделю язык [RMB] и на вкладке свойств, в разделе шейпкеев вставлю драйвер как значение для первого шейпкея [Object Data Properties/ Value(Key 1), RMB/ Paste Driver]. Теперь при перемещении управляющей кости язык будет исчезать.
Аналогично устанавливаются драйвера для глаз и блеска глаз.