Перейти к содержанию

Добро пожаловать в сообщество творческих людей - ARTTalk.ru!

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

Для новых пользователей доступна регистрация.

Тема для обсуждения новой версии сообщества.

Если возникают какие либо проблемы с восстановлением старого аккаунта, вы можете воспользоваться формой обратной связи.

Авторизация  
Trofei

Лицевой риггинг

Рекомендуемые сообщения

Лицевой риггинг.

 

Источник: http://animafunny.com/

Автор: Педяш Дмитрий

 

Всем привет. Это снова я! Пришло время для очередного погружение в производство такого важного составляющего этапа персонажной анимации, как риггинг. Но в рамках нашей статьи мы будим рассматривать лицевой риггинг, как особенно интересный с точки зрения разработки участок модели персонажа. Ведь от эмоциональности мимики персонажа, зачастую зависит то, насколько зритель будет захвачен происходящим на экране… Конечно, качество мимики напрямую зависит от опытности аниматора, который будит в дальнейшем работать с персонажем, но, те. Кто сталкивался с персонажной анимацией, или видел, как она делается, знают, что хороший риггинг может заметно облегчить аниматору работу над сценой, сэкономить уйму времени и позволить, в конечном итоге, сосредоточиться на творческой части процесса, вместо того, чтобы тратить время на рутинные перетаскивания контроллеров. А значит, риг персонажа должен быть максимально автоматизирован, избавляя работающего над ним человека от лишних телодвижений, тем не менее, оставляя значительное пространство для контроля персонажа в процессе анимации… Задачка – не то чтобы крайне сложная, но и пустяковой её назвать никак нельзя. Но начнём по пунктам. Итак, для тех, кто ещё не сталкивался с этим понятием, я бы описал риггинг следующим образом. Риггинг – это создание некой иерархии взаимосвязей, по которой будит происходить деформация объекта. Например, создание виртуального скелета, с суставами, и так называемыми «костями», которые на последующих этапах будут привязываться к mesh’у. Или создание некоторого подобия мышц, которые будут растягиваться, уменьшаясь в объеме, или сжиматься, «раздуваясь», при определённых условиях, например, при уменьшении угла между костями (симуляция бицепса). Не знаю, насколько понятной стала цель предстоящей работы после моего объяснения, но, как говориться, лучше один раз увидеть…

Итак, что мы имеем в начале работы и каков наш план действий. Вот у нас исходный mesh:

rig_face_153.jpg

 

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

rig_face_1_832.jpg

 

Ну а теперь о самом интересном. План следующий. В финале я хочу получить под mesh’ем лица персонажа взаимосвязь «растягивающихся» костей, которые положению и ходу движения будут напоминать мышцы лица. К тому же было бы неплохо создать связь контроллеров, с которыми будет работать аниматор. Контроллеры должны быть связаны между собой, плавно двигая определённую область лица. То есть, один контроллер будит оказывать влияние на определённую область лица персонажа, распределяя влияние сразу на несколько опорных точек. К тому же у аниматора должна остаться возможность контролировать каждую опорную точку рига лица независимо. Это, при необходимости, поможет сделать тонкую доводку эмоции. В последствии, было бы неплохо предусмотреть какой не будь способ «запекания эмоций». Чтобы аниматор мог сохранять положения ключевых точек лица, и в будущих сценах не выстраивать эмоцию заново, а быстро подгрузить сохранённую ранее. Вот собственно и вся задача.

Многие операции, используемые далее, довольно проблематично, или долго выполнять вручную. По этому навыки использования Max Script сильно помогают. Но тем, кто с ним не знаком, впадать в депрессию вовсе не обязательно. Я не однократно в книгах и статьях встречал золотое правило CG работника: «Никогда не тратить время на то, что уже кто- то делал ранее». Ну а если этот кто-то разрешил пользоваться плодами своих усилий безвозмездно, то вообще грех пройти мимо, и тратить время производства на повторение пройденного кем-то пути. Вообще всё, на чём можно сэкономить время всегда приветствуется, а это самое время всегда интереснее потратить на творческий процесс, чем на рутину.

Вот и я, когда-то набрёл на один весьма полезный ресурс, который в последствии сэкономил мне уйму времени. http://paulneale.com/scripts.htm. К счастью для нас, автор разрешает использовать свои скрипы в производстве и единственное, что запрещается – это юзать их в коммерческих целях. Типа, продавать либо использовать их в каких либо тренингах. Так что в данной статье выкладывать фрагменты кода или же сами скрипты я не буду. Те кто знает – сами напишут, те кто не знает, обратятся к Googl у или найдут другой выход, было бы желание ;)

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

 

stratchi_bone.avi - 1.9mb

 

но а метод прост – прост. Например: Яоздать 2 хэлпера, которые в последствии будут прилинкованы к костям скелета. Выровнять ихз по позиции и ориентации один с bone01, второй с bone02. На bone01 назначил lookАt constraint, где указал Dummy02 как lookat target, а Dumm02 как Upnode. На bone02 назначил orientation constraint к Dummy01 и прилинковал Bone01 к Dummy02

rig_face_2_167.jpg

 

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

rig_face_3_890.jpg

 

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

rig_face_4_368.jpg

 

Каждый узел между костями я прилинковал к отдельному хелперу, ориентированному соответственно движению «мышц».

rig_face_5_352.jpg

 

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

rig_face_6_209.jpg

 

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

rig_face_7_140.jpg

 

Как видно, в роли элементов управления я использовал обычные сплайновые форы.

Ну а теперь начинается самое интересное. Надо связать параметры так, чтобы движение жёлтых стрелочек ( Это мой верхний уровень элементов управления) в определённой пропорции передавалось на рядомстоящие опорные точки. Для этого я использовал WireParameters вместе со слоями (List Controller (Position List)) в панели Motion. Слои Position я сваривал с аналогичными слоями соседних сплайн-контроллеров, с использованием множителя. Например, X_Position первого сплайн контроллера, передаётся X_Position*.5 второго, и так далее (кстати, в WireParameters кроме обычного множителя, можно прописывать и условия, вроде, если значение позиции по оси Х материнского объекта больше нуля, то дочерний должен двигаться по оси Y, но в минус, и.т.д)

rig_face_8_187.jpg

 

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

 

rig_bones.avi - 17.5mb

rig_face.avi - 15.8mb

 

Конечно, в таком виде передавать обьект аниматору… Или же анимировать самому ещё рановато. Хотя бы потому, что нет элементов управления для глаз, а они, как говорят – зеркало души J, а так же нет никаких способов, для запоминания созданных эмоция. Ну, или хотябы элементов управления, которые позволяли бы аниматору контролировать конкретные области лица, как то рот, брови или веки. Всё это ещё предстоит сделать в недалёком будущем.

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

5a9826e60adb6_rigface(8).thumb.jpg.989cf858b90299d898ed1b443f751638.jpg

5a9826e61dc8e_rigface(7).thumb.jpg.edd889242e9fff439b472553f2573ec7.jpg

5a9826e6308ee_rigface(6).jpg.2fc1e774fe0e6c9db5957226b8006bf6.jpg

5a9826e6446b9_rigface(5).jpg.72d2614f43d8b6b1e5ac9d2856decb5d.jpg

5a9826e65b0d2_rigface(4).thumb.jpg.f94c2bde0247aefca423fb29ffa71ec3.jpg

5a9826e66d8fd_rigface(3).jpg.38241f1efacbcb1a76457d8d23bcb095.jpg

5a9826e681ba4_rigface(2).jpg.befbd36ccc4f111a0ba91a369685a683.jpg

5a9826e6968b3_rigface(1).thumb.JPG.480aa9985bf8e318abc8aa9266db53b8.JPG

5a9826e6ab1fe_rigface.thumb.JPG.b949b5e498511a2a7b1965967aff146f.JPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, для меня очень полезно!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ваау! Наконец доходчивый урок по ригу морды, а то все делают и никто необьясняет как! Респект Trоfei тебе!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

Авторизация  

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Условия использования