Рекламная ретушь, трехмерная графика, анимация, моушн-дизайн

Настройка скелета и оснастка персонажа:

Вступление

Цикл создания трехмерного персонажа вещь комплексная, требующая как длительного периода времени для производства, так и привлечения специалистов различных направлений. Начинается все с создания трехмерной модели по скетчам (плоским рисункам, созданным художником по концептам). Далее специалист по созданию текстур подготавливает весь необходимый набор текстур для персонажа и вот, модель уже имеет форму и любому понятно из каких материалов сделан персонаж, его одежда и различные дополнительные предметы, которые ему нужны. Хотя по прежнему персонаж безлик и «мертв». Вдохнуть в него жизнь может аниматор, но прежде чем модель будет передана персонажному аниматору, ее следует подготовить для этапа анимации. Поэтому, следующим шагом после создания набора текстур и перед тем, как начнется анимирование модели, обязательно выполняется этап, который называется «создание скелета и оснастки персонажа». То, насколько правильно и хорошо будет выполнен этот этап, повлияет на скорость работы аниматора, а как следствия, на скорость выполнения проекта в целом.

Настройка скелета и оснастка персонажа - Skinning and Rigging
Источник: http://worldofwallpapers.ru/games/noe-shinkan-kai-final-fantasy-xiii.html

Создание и настройка скелета

В профессиональной среде процесс создания и настройки скелета персонажа называется скиннинг (от англ. skinning — буквально «натягивание кожи») — это процесс создания системы костей (скелета) персонажа, примерно таких же, какие имеют все позвоночные существа и после связывания этих костей с геометрией трехмерного персонажа.

Кости трехмерному персонажу нужны для того же, для чего они нужны людям — они дают возможность ему двигаться. Сама по себе трехмерная сетка двигаться не может, так же как и не может этого делать наше тело, если его лишить костей. Поэтому именно создание скелета (системы костей) — это первый шаг для нормальной анимации персонажа в будущем.

Создавать и редактировать кости может большинство программ, занимающихся комплексным созданием трехмерной графики. Примерами таких пакетов могут быть: пакеты компании Autodesk (3dsMax, Maya, Softimage), Houdini, Blender 3D, Cinema 4D, Lightwave3D и др.

Настройка скелета и оснастка персонажа - Skinning and Rigging
Пример настройки скелета персонажа в ПО Autodesk Maya.
Источник: http://www.creativeplanetnetwork.com/the_wire/2010/03/09/autodesk-maya-2011-modern-look-high-performance-core-and-new-3d-editorial/

Скелет человекообразных персонажей или животных очень часто создается на основе анатомического строения человека или животного с небольшими изменениями. Эти изменения нужны для учета особенностей того, как ведут себя кости в трехмерной среде. Очень часто, создав правильный анатомический скелет, мы не можем получить реалистичное изменение сетки (геометрии) этим скелетом, поэтому требуются небольшие доработки, в виде дополнительных костей, которых у человека нет, но они нужны в трехмерной среде для правильной и реалистичной деформации модели. У фантастических персонажей скелеты могут сильно отличаться от реальных, хотя очень часто в их основе опять таки лежит анатомия человеческого скелета или скелета животных.

Для создания системы костей могут использоваться как «классические» кости, т.е. простые объекты, взаимодействующие между собой по средствам иерархии, или же более сложные системы костей, которые были специально разработаны для создания скелетов, например, двуногих персонажей. Примерами таких систем могут служить модули Biped (двуногий) или же CAT (Characters Animation Tools — инструменты для анимации персонажей), которые встроены в пакет Autodesk 3dsMax и могут использоваться для быстрого создания и настройки разнообразных персонажей. Помимо этого, специалист по настройке скелета, которого в профессиональной среде называют skinning/rigging artist, имеет возможность дополнительно устанавливать к имеющемуся у него ПО модули, специализирующиеся на быстром и удобном способе создания и редактирования скелетов для персонажей, которые можно использовать как платно, так и бесплатно. В последнее время даже появился сервис Mixamo (http://www.mixamo.com), который позволяет работать со скелетом и анимацией персонажа прямо в интернет-браузере, минуя специализированное ПО для этого.

Отличие обычных, простых или «классических» костей от специализированной системы костей, готовой к мгновенной настройке персонажа, заключается в том, что обычные кости имеют только лишь иерархические (родительско-дочерние) связи между собой, в то время как специальные системы костей помимо связей иерархических, имеют симметрию для разных половин тела и более сложные управляющие связи между собой, что позволяет не тратить время на создание всего этого с нуля, а сразу приступить к связыванию костей с геометрией (сеткой) персонажа.

Чтобы в дальнейшем вам было понятнее, как взаимодействуют между собой кости, которых у трехмерной модели может быть очень много, необходимо разобраться, что же такое иерархические связи между костями.

Иерархия скелета персонажа

В трехмерной графике активно используется и применяется такое понятие как иерархия объектов. Ничего сложного в нем нет. Так же как и в жизни, в трехмерной графике очень часто нужно определить, какой объект является главным, а какой ему будет подчиняться. Точно так же и люди, пока не достигли совершеннолетия, «обязаны» слушаться своих родителей. Особенно это актуально в детстве: куда едут родители, туда и дети. Такой же принцип заложен и в иерархию в трехмерной среде. Один объект является главным — это родитель (от анг. parent), другой объект или объекты — будут дочерними объектами (от анг. child/children). Дети должны всегда подчиняться своим родителям — это главный принцип иерархии! Подчинение распространяется на свойства трансформации (перемещение, вращение и масштабирование) объектов. Т.е. если объект «родитель» куда-то перемещается, то все его «дети» будут точно так же перемещаться вместе с ним. Это будет верно как для вращения, так и для масштабирования «родителя». Причем сам «ребенок» может свободно трансформироваться как ему нужно, но как только его «родитель» подвергается трансформации это незамедлительно оказывает влияние на самого «ребенка» и он так же перемещается, при этом сохраняя свои уникальные координаты.

Родитель может иметь бесконечное множество детей, но у ребенка может быть только один родитель. В то же самое время, объект являющийся ребенком для одного родителя, может сам быть родителем для другого ребенка.

В трехмерной графике иерархия позволяет удобно трансформировать объекты. У нас нет необходимости выделять и, например, перемещать все части объекта, если они находятся в иерархической связи между собой, достаточно только выделить родителя и сделать все с ним все необходимое.

Настройка скелета и оснастка персонажа - Skinning and Rigging
Пример иерархических связей объектов. Горшки — это «родители» для цветков, которые являются «детьми». Стоит переместить горшок, как вместе с ним будет перемещаться и цветок.
Менеджер объектов сцены (Outliner) удобно показывает иерархию. Дочерние объекты смещены в правую сторону относительно своих родителей.
Источник: http://flic3d.blogspot.com

Именно иерархическая связь позволяет удобно трансформировать кости в скелете персонажа. Выделив одну кость, например плечевую, и начав ее вращать, мы сразу поднимем вверх всю руку. Это очень экономит время аниматора.

Итак, скелет создан и расположен внутри объекта, но пока кости никакого влияния на геометрию не оказывают. Сетка нашего персонажа и кости — это разные объекты. Поэтому после создания скелета, следующим обязательным шагом является этап установки связей созданного скелета с геометрической сеткой персонажа.

Скиннинг персонажа

Именно этот этап было бы правильнее называть скиннинг, так как именно на нем и выполняется процесс «натягивания шкуры», т.е. геометрической сетки персонажа, на созданный заранее скелет. Каждое программное обеспечение делает это по-своему. Вернее будет сказать, что у каждого ПО есть свой инструментарий для выполнения этого этапа настройки персонажа. Но каким инструментом мы бы не пользовались, в основе лежит один и тот же принцип — это установка веса точки (weights).

Трехмерные модели строятся из составных частей: точки, ребра и полигоны. Т.е. любую трехмерную модель можно представить как объект, состоящий из набора точек, ребер или полигонов. Для связи трехмерной геометрии с костями используются именно точки. Понятие веса позволяет задать, как та или иная кость будет влиять на точки геометрии модели. Чем сильнее влияние кости на точку, тем сильнее точка будет следовать за костью при ее трансформации. Ну а чем слабее влияние кости на точку, тем меньше она будет зависеть от трансформации кости.

Вес кости задается в пределах от 0 до 1. 0 — это отсутствие влияние, а 1 — это максимальное влияние. Возможно так же и частичное влияние, например 0,3 или 0,65. Суммарный вес точки должен быть 1. Поэтому, если точка имеет вес 0,7 для одной кости, то оставшиеся 0,3 должны распределиться между другими костями или костью.

Такая система дает возможность создавать эффекты реалистичной деформации геометрии модели. Плавно назначенные веса создают красивые, а главное, реалистичные изгибы в районе суставов персонажа. Для удобства работы с весами их очень часто отображают в цветовой градации. Например, синий цвет — назначен весу со значением 0, а красный — 1. Тогда, например, вес — 0,5 будет отображаться оранжевым цветом. В каждом конкретном пакете эти цвета могут варьироваться.

Настройка скелета и оснастка персонажа - Skinning and Rigging
Пример назначения весов костей. Слева направо: трехмерная модель; модель с созданным скелетом; трехмерная модель с назначенными весами костей.
Источник: http://blog.wolfire.com/2009/11/volumetric-heat-diffusion-skinning

Вес можно задавать различными способами. Его можно назначать каждой точке и кости вручную, используя таблицу весов, но это неудобно и долго. Хотя, иногда, только такой подход решает проблему точного назначения веса. Его можно задавать, используя ограничители (envelope) — некие виртуальные оболочки, позволяющие определить зону влияния кости. Это уже лучше, но еще не всегда удобно. Для многих самым удобным способом назначения и распределения веса является его рисование. В этом случае мы просто раскрашиваем вес точек модель кистью. Это дает возможность легко и быстро назначать вес и очень просто прорабатывать участки перехода веса (места, где вес распределяется между несколькими суставами).

В результате правильного назначения веса, каждая кость должна оказывать влияние только на тот участок геометрии, который ближе всего к ней находится, а так же должен быть естественный и плавный переход в участках суставов и естественных изгибов тела модели. Если вес был назначен не верно, то часто, подняв, например, ногу мы можем увидеть, как вместе с ней потянутся и другие точки геометрии, например, головы, что не приемлемо. Поэтому этот процесс требует времени, внимания и усердия.

Настройка скелета и оснастка персонажа - Skinning and Rigging
Пример неправильного назначения весов точек. При трансформации костей некоторые точки руки остаются на месте.
Источник: http://forums.creativecow.net/thread/61/860910

Если вес назначен верно, то модель уже готова для того, чтобы ее передали на последний этап производства, но современные технологии производства трехмерных проектов диктуют свои условия и поэтому сейчас очень часто для увеличения реализма деформации, трехмерные модели снабжают мышцами, которые имитируют реальные мышцы в теле человека или животного и помогают анимации персонажа выглядеть еще более реалистично.

Создание мышечной структуры персонажа

Наличие мышечной массы у персонажа можно и даже нужно подчеркивать самой геометрией, так как сама она не появится. Но ее наличие на геометрии еще не гарантирует ее реалистичной анимации. Поэтому, для этих целей используются специальные методы. Специалист по настройке скелета создает еще одну упрощенную геометрию, которая имитирует мышцы, находящиеся под кожей. После этого мышцам задается и настраивается их динамическое поведение. Только после этого они могут раскачиваться и колыхаться при движениях персонажа, так же, как это делает мышечная масса у живых существ.

Для создания мышц можно использовать инструменты, которые входят в состав большинства пакетов для создания трехмерной графики, а так же и дополнительные, подключаемые модули.

Настройка скелета и оснастка персонажа - Skinning and Rigging
Пример использования мышц для получения реалистичной деформации кожи персонажа. Сверху слева — скелет. Сверху справа — мышечный каркас. Внизу слева — геометрия персонажа. Внизу справа — финальная модель персонажа.
Источник: http://asvlabs.at.ua/publ/17-1-0-28

После создания мышц модель наконец-то готова к заключительному этапу — ригингу.

Настройка управляющих элементов модели

Ригинг (от анг. «rig» оснастка, снаряжение) — это процесс настройки и оснастки трехмерной модели удобными управляющими элементами для быстрой и комфортной анимации модели в будущем.

Когда выше говорилось о комплексных системах костей, таких как Biped или CAT, было сказано о том, что в них уже заложена и настроена система удобного управления. Поэтому для таких случаев этап ригинга не столь важен, хотя и там он бывает нужен. А вот в ситуации, когда скелет создается «с нуля», ригинг обязательный и очень важный этап при подготовке модели для анимации.

Можно выделить несколько основных моментов при создании рига (ригинга) персонажа, которые обязательно имеют место быть. Это:

  • создание прямых/обратных кинематических связей (FK/IK) для конечностей персонажа;
  • создание управляющих объектов и установка их связей с персонажем;
  • создание средств управления лицевой мимикой персонажа;
  • написание дополнительных интерфейсов для удобства управления персонажем.

Конечно, этап настройки управляющих элементов для модели не является критичным и можно выполнять анимацию и без него, но это будет очень непростая задача, так как аниматору придется управлять огромным количеством костей, которые находятся внутри персонажа и редактировать их анимацию. Это очень сложно. Поэтому правильно созданный риг модели сделает работу аниматора творческой и приятной.

Давайте более подробно остановимся на основных шагах, которые приходится выполнять при создании рига персонажа.

Создание кинематических связей для конечностей персонажа

Кинематические связи нужны для удобства управления конечностями персонажа. Они делятся на два типа:

  1. Прямая кинематическая связь.
  2. Обратная кинематическая связь.

Прямая кинематика (FK — Forward Kinematics) — это средство управления объектами, находящимися в иерархической связи, при которой управление идет от родительского объекта к дочернему.

Фактически, простая установка иерархических связей уже автоматически устанавливает прямую кинематику между объектами. Понять, как она работает можно на примере детской куклы. Для того, чтобы поднять руку куклы вверх нам нужно: в начале поднять плечевую часть руки вверх, затем поправить предплечье, и только после этого кисть. В итоге рука будет поднята вверх. Т.е. работа идет от родителя к дочернему объекту. В начале меняем родителя, а только после уже его детей. Другой порядок возможен, но не даст возможность сразу видеть каков будет конечный результат, а посему, после придется что-то снова исправлять.

Отличным примером работы прямой кинематики являются робо-подобные механизмы. Для персонажей прямая кинематика очень часто используется для настройки рук трехмерной модели.

Обратная кинематика (IK — Inverse Kinematics) — это средство управления объектами, находящимися в иерархической связи, при которой управление трансформацией всех объектов просчитывается решателем обратной кинематики (математическим алгоритмом).

Этот способ взаимодействия костей в скелете персонажа нужно задавать самостоятельно. Чтобы лучше понять природу его работы, нужно обратиться к человеческому телу и посмотреть как он реализован в нем самой природой. Если вы сядете в кресло и полностью расслабитесь, а ваш знакомый(ая) подойдет и возьмет вас за кисть руки и потянет ее к себе, то в след за кистью потянется и кость предплечья, а когда ее длина будет «выбрана», то она потянет за собой и кость плеча, а она и плечо со всем телом. Вот это пример обратной кинематики. Тут уже совсем не важно кто среди объектов (костей) главный, как все должны двигаться будет определять «решатель обратной кинематики». Это алгоритм, в котором определяется, как должны себя вести объекты, которые принимают участие в кинематической цепочке. Нам остается только применить его к выбранным костям и правильно настроить для работы.

Настройка скелета и оснастка персонажа - Skinning and Rigging
Пример руки трехмерной модели настроенной средствами обратной кинематики. От начала кинематической цепочки до ее конца идет линия (зеленого цвета) показывающая как работает кинематический решатель.
Источник: http://abonnington-3dcharacter.blogspot.com/2012/03/ikfk-arms.html

При создании сложного рига персонажа часто делают возможность переключаться между управлением конечности средствами прямой или обратной кинематики и аниматор может не только выбрать удобный для себя способ работы, но и переключаться от одного к другому, даже в процессе анимации. Но, по прежнему, управлять трехмерной моделью все еще не удобно: выделять и анимировать кости сложно, работать с контрольным объектом обратной кинематики тоже не очень удобно. Поэтому обычно на следующем этапе создают контрольные объекты для управления моделью.

Создание управляющих объектов и установка связей с костями

Управляющие объекты — это чаще всего объекты, созданные с помощью кривых линий (splines/curves), которые не видны при визуализации (рендеринге), но позволяют легко и просто выделять себя. Так как такие объекты делают в будущем управляющими объектами для костей и суставов, к которым применена обратная кинематика, то двигая управляющие объекты, мы легко и просто можем двигать части модели, а значит так же легко и просто анимировать ее.

Процесс создания управляющих объектов прост. Это банальное рисование различных стрелочек и других форм, которые по логике будут ассоциироваться с тем, чем они управляют и какое действие выполняют. После того, как объект создан, он размещается в том месте, где должен быть. Например, объект двигающий таз, располагается в районе таза, управляющий объект кисти руки расположен там же, где находится кисть персонажа и т.п. В дальнейшем координаты трансформации управляющего объекта сбрасываются в ноль, для того, чтобы аниматор мог легко вернуть модель в стартовую позу, просто, обнулив координаты любого управляющего объекта. Самым интересным на данном этапе является использование ограничителей или констрейнов (от анг. constrain — ограничивать). Именно они и позволяют контрольным объектам быть управляющими объектами для костей и других систем, которые уже используются в персонаже.

Существует несколько типов ограничителей, но мы остановимся только на некоторых, которые являются часто используемыми.

Это констрейны:

  • положения — заставляют один объект наследовать координаты перемещения другого объекта;
  • ориентации — заставляют один объект наследовать координаты вращения другого объекта;
  • look at (смотреть на что-то) — заставляют один объект следить (смотреть) за перемещениями другого объекта.

После установки правильных констрейнов управляющие объекты полноценно становятся хозяевами персонажа и могут управлять любыми движениями его тела.

Настройка скелета и оснастка персонажа - Skinning and Rigging
Пример трехмерной модели с управляющими объектами вокруг нее (обозначены желтым и черным цветом).
Источник: http://focus.gscept.com/2012ip15/category/daily/page/2/

Одним из важных этапов при разработке трехмерной модели и анимации в будущем, является создание лицевой мимики персонажа. Так же как и у человека, мимика лица играет одну из главных ролей при создании реалистичной анимации для трехмерного персонажа. Мимика привносит такие мелкие и на первый взгляд незаметные нюансы, которые заставляют анимацию быть живой.

Создание лицевой мимики трехмерного персонажа

Для создания лицевой анимации есть два основных способа. Первый — это использование костей. Он ни чем принципиально не отличается от всего того, о чем было сказано выше. А вот второй способ иной — это использование морфоцелей или блендшейпов.

Второй способ заключается в том, что моделер на базе основной головы персонажа делает огромное количество ее копий и в каждой из них меняет мимику на нужную (уникальную). В результате, в сцене отображается огромное количество голов персонажа на каждой из которых застыла та или иная эмоция, или буква (звук). Ведь часто персонажи не только двигаются, но еще и говорят. Поэтому к мимике (таким чувствам как: радость, горе, расстройство, счастье, улыбка, злость, крик, шепот и т.п.) добавляются еще и морфемы (выражения лица при произношении звуков и букв).

Настройка скелета и оснастка персонажа - Skinning and Rigging
Пример настройки мимики персонажа.
Источник: http://cernagovs.blogspot.com/2012/01/character-rig-analyses.html

В будущем все эти головы прячутся и поэтому не мешают аниматору в его работе. У каждого пакета для создания трехмерной анимации обязательно есть инструменты, которые позволяют связать финальную голову персонажа с огромным количеством копий и дать возможность, используя удобную систему бегунков и переключателей, анимировать переход лица из одного состояния в другое. Главное требования при использовании технологии морфинга — это использование одного и того же объекта для создания морфоцелей, чтобы количество точек геометрии не отличалось. Т.е. обычно вся работа происходит с одной головой одного персонажа. Нельзя использовать голову одного персонажа для создания морфоцелей для другого персонажа.

Ну, и заключительным этапом является создание дополнительных средств (интерфейсов пользователя) для быстрой работы с управляющими объектами трехмерной модели.

Создание дополнительных интерфейсов для удобства управления персонажем

Казалось бы, современные пакеты для создания трехмерной графики просто напичканы удобными инструментами, ускоряющими работу специалистов различных этапов производства трехмерного контента и все же, несмотря на это, очень часто программисты, работающие в отделе разработки и исследований, которые есть при каждой более менее крупной студии, дописывают или изменяют интерфейсы трехмерных программ или отдельных моделей для того, чтобы работа художников была еще более комфортна и продуктивна. Очень часто это происходит именно при настройке трехмерной модели персонажа. Программисты пишут новые интерфейсы пользователя, на которых уже собраны все средства управления для данного персонажа. Не нужно долго искать все то, что нужно для работы или без конца переключаться между различными окнами.

Настройка скелета и оснастка персонажа - Skinning and Rigging
Панель с правой стороны экрана является дополнительно созданным элементом для удобного доступа и переключения между всеми управляющими объектами трехмерной модели Верблюда.
Источник: http://poohzlopster.blogspot.com/2010_04_01_archive.html

Вот теперь вся работа над моделью выполнена и ее можно смело передать в отдел анимации, где профессиональные аниматоры вдохнут в нее жизнь и заставят ее ожить.

Расскажите о своем проекте:

Подумайте дважды, прежде чем обращаться к нам. Если хотите работать с нами, то будьте готовы к нашему независимому мнению, высоким бюджетам и требовательному подходу к работе.

Ваше имя:
Телефон или E-mail:
О проекте:

© 2012 — 2017 «Masked Brothers»

thebest@maskedbrothers.ru

+7 (495) 517-43-33