Вячеслав Богданов рассказывает о RIB генераторе для волос, системе «Character Animation Studio Tools» для продукта Maya

Архив /

Материал сайта CGTalk.ru

Вячеслав Богданов рассказывает о RIB генераторе для волос, системе «Character Animation Studio Tools» для продукта Maya, а также о полезных функциях в продукте CAST и о многом другом.


 


Эксклюзивное интервью с Вячеславом Богдановым

cgTALK:   Расскажите немного о своей персоне.

Вячеслав:  Мне 32 года, компьютерной графикой занимаюсь уже 9 лет. Начинал еще в 3D Studio v.3.0. Работал в 3DStudio Max, Maya 1.0 (начинал еще на бета-версии). Работал в кинокомпании МастерФильм и был руководителем группы дизайнеров в нескольких игровых проектах. Сейчас делаю рекламу, с группой единомышленников мы образовали Drop Of Light Graphics Group — сейчас наша группа готовит два некоммерческих анимационных проекта (промо ролики).

cgTALK:   Что толкнуло работать над усовершенствованиями продукта Maya и разрабатывать новые возможности для RanderMan. Это говорит о нехватке присутствующих инструментов?

Вячеслав:  В процесе работы над нашими анимационными проектами (кроме главной цели — демонстрация заявки потенциальным заказчикам о наших возможностях, имеет и побочную цель — обкатка технологий производства компьютерной графики, которые мы разработали) мы поняли что Майя и Рендермэн в их стандартной конфигурации не удовлетворяют нашим потребностям. Однако эти продукты были выбраны так как обладают прекрасной расширяемостью, и в отличии от того же 3DStudio Max, имеют более вразумительные и удобные средства разработки. Мы проанализировали наиболее трудоемкие участки в нашем производственном процессе. Сразу после первых тестов стало ясно, что нас не удовлетворяют средства моделирования волос (в нашем первом анимационном фильме будет ворона с перьями и дикий кабан с шерстью), так как они не имеют нужной гибкости и к тому же не устраивают нас по производительности. Рендермэн в качестве ключевого рендера был выбран за его беспрецедентную производительность, гибкость и при этом очень высокое качество изображения, кроме того, Рендермэн один из немногих рендеров, который в состоянии переваривать сложные сцены с огромным количеством объектов, текстур и так далее.




В результате после серии тестов анализа мы решили разработать для волос собственную систему — сначала была идея сделать просто rib-генератор для волос, однако так как нам его удалось создать достаточно быстро, мы решили написать плагин, который бы рисовал наши волосы в Майе, так как в нашем риб-генераторе были заложены довольно сложные фичи — клампинг (эффекты склеенных волос, как будто волосы намокли под действием жидкости, одна из первых реализаций этого эффекта была сделана компанией SonyImageWork для фильма Stuart Little), сложные модиферы (для создания не только шерсти, но и длинных волос со средствами создания стилей причесок) и на стадии предварительного просмотра можно было более гибко управлять всем процессом. Кроме того, при анализе работы стандартного Maya Fur стала ясна избыточность данных, которые генерировались, это был еще один мотив по созданию собственно плагина для волос к Майе, а не только к Рендермэну.

cgTALK:    Многие наслышаны о RIB генераторе — Вашей разработке. Расскажите об этом. Что это за продукт?

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




Мы основывались на стандартных средствах разработки, которые есть в Рендермэне, в частности переделывали под себя mtorUltraFur. При использовании нескольких алгоритмических находок при генерации волос, как результат производительность выросла в несколько раз (причем это произошло не из-за внесения в сам процесс генерации кода наших кординальных правок, а всего лишь мы изменили форматы данных, которыми обмениваются Майя и Рендермэн в процессе рендера!), мы всего либо перешли из текстового формата данных для волос в бинарный. Потом создавать длинные волосы при помощи связки Maya Fur+Рендермэн было вообще невозможно. Это так сказать, предпосылки, подвигнувшие нас на создание собственно продукта. Далее было просто — был оптимизирован код mtorUltraFur — в частности все данные для работы с цветом были вынесены в шейдер (шейдер естественно был нашим собтвенным). И использована собственная функция для генерации позиции волосков на поверхности (плагин для Майи), причем на этом этапе было кординальное изменение — наш рибгенератор, в отличие от стандартного, поддерживает и полигоны, и мторовские сабдивы, и нурбсы.




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




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

cgTALK:    Не могли бы Вы для общего интереса участников нашего клуба рассказать о системе «Character Animation Studio Tools» для продукта Maya.

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




Или, например, у вас есть motion capture для персонажа (к примеру волк), вам нужно создать стадо бегущих волков, либо у вас есть мимика (пусть это будет набор blendShape'ов) и вы хотите быстро заставить персонажа проговаривать некие фразы. Эти рутинные операции можно конечно же автоматизировать, для этого мы и написали CAST. Для CAST'а написана надстройка (плагин для Маya) для скриптового языка MEL, эту надстройку мы назвали CASTlanguage. Эта надстройка возволяет до максимума автоматизировать процесс создания анимации, то есть фактически с помощью этой надстройки меловского языка можно описывать движения полностью. Вы пишите массивы комманд, а на выходе получаете персонажа, который обходит препятствия, поднимается по лестнице и так далее. CAST позволяет работать с персонажами любой конфигурации — двуногих, многоногих и вообще безногих. Огромный плюс — наша система построена так, что в любое мгновение можно отказаться от нее и далее анимировать, используя стандартные средства, например TraxEditor.

cgTALK:    Приоткройте завесу о некоторых полезных функциях в продукте CAST.

Вячеслав:  Я немного расскажу о модулях, из которых состоит эта наша система, и опишу что может делать каждый модуль. Система (на настоящий момент) состоит из четырех модулей — CASTManager (модуль по подключению персонажа в базу данных CAST'а), MoveBlender — этот модуль позволяет на основании пути персонажа (написан плагин, который рисует криволинейный, редактируемый путь, чего не было в Maya) заданных настроек (напомню что с помощью надстройки для языка Мел, мы ее называем CASTlanguage, можно назначать заранее созданные клипы и целые циклы движения на определенные участки пути, в этом случае персонаж при движении может менять набор циклов анимации, то есть бежать, затем переходить с бега на шаг и так далее и все это программируется) может генерить нужное количество повторений (в случае бега и ходьбы — это будут шаги) для циклов анимации, необходимости вмешательства аниматора в процесс практически нет. Хотя аниматор в любое мгновение по своему желанию может вмешаться в процесс и сделать нужные ему исправления (анимационные данные CAST'а — это клипы, новых данных мы принципиально не вводили — нет необходимости создавать что-то, если это уже есть в самом коммерческом продукте). Фактически работа с MoveBlender'ом напоминает работу режиссера с актером на съемочной площадке, когда режиссер в соответствии со сценарием говорит как актеру двигаться в течении первых 10 секунд, как в течении следующей минуты, что и как нужно говорить.




PhonemEditor — модуль по работе с мимикой. Этот модуль позволяет работать как с blendShape'ами, так и с нашей собственной системой мимических мускулов, он использует заранее заданные фонемы (положения мимических мышц, либо значения в ноде BlendShape). Внутри модуля есть тул позволяющий писать текст с предложениями и знаками препинания, этот текст интерпретируется и преобразуется в анимацию с заранее заданными фонемами. Array — это модуль для работы с группами персонажей, который позволяет анимировать толпы. В этом модуле можно анимировать персонажи как целую группу, либо с помощью «командиров» — эти персонажи можно анимировать внучную (либо с помощью модуля MoveBlender), а затем в соответствии с заданным «весом» переносить движение на каждого персонажа в группе, которая управляется соответствующим «командиром». CASTlanguage — это надстройка для языка MEL. Это набор команд для автоматизации управления персонажами в среде CAST'а.

cgTALK:    Все эти продукты будут продаваться или же будут общедоступным Freeware?

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

cgTALK:    Поступали ли к Вам предложения о сотрудничестве от западных фирм?

Вячеслав:  Недавно мне прислали письмо из компании Пиксар. Им понравился шейдер для глаза и они просили разрешение на его модификацию и предложили мне поучаствовать в конкурсе на лучший slim template.

cgTALK:    Какая «школа» за Вашими плечами?

Вячеслав:  Как я написал уже вначале, я начинал очень давно заниматься компьютерной графикой и имею определенный опыт в этой области. Я не учился ни на каких курсах, так сказать самоучка, но считаю курсы, которые имеются сейчас, в частности Школу RealTime, самым правильным первым шагом для человека, который хочет чего-то добиться в этой области. Я сторонник академичности в образовании, а эта школа, пожалуй, единственная дает наиболее качественные знания по Maya.

cgTALK:    Что Вы можете порекомендовать начинающим разработчикам и художникам нашей страны?

Вячеслав:  Великий советский аниматор Федор Хитрук сказал замечательные слова (я привожу их в переложении) о том, что аниматор должен обладать невероятным упорством и изобретательностью, так как только упорством можно заставить персонаж ожить на экране. К сожалению, сейчас множество молодых людей приходящих в КГ любят быстро нажимать кнопки, порой не задумываясь над самой сутью своей деятельности. КГ — это, с моей точки зрения, искусство. А в любом искусстве нельзя останавливаться на достигнутом. Нужно всегда искать, находить новые выразительные формы и пытаться повысить свой профессиональный уровень. А начинающим хочу сказать — никто не рождается гениальным, главное упорство, труд и постоянное самообразование.


 

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.