Making Of "Сомалийский страус"

Эта статья посвящена одной из моих последних работ - Сомалийскому страусу. Из нее вы узнаете: о моем типичном рабочем процессе такого рода проектов; о некоторых технических приемах; ну и наверно самое интересное, немного о эффективных способах создания фотореалистичной модели пригодную для анимации с нуля за 1 месяц.

Pre-production
И так цель - сделать фотореалистичного страуса в максимально сжатые сроки. Модель и грум должны полностью соответствовать всем критериям анимационного персонажа (не быть хуже всех моих работ до этого). С такими мыслями я приступил к предпродакшену. К одной из самых важных стадий любого проекта! Как правило, ТЗ содержит только пожелания технических характеристик к модели (или проекта в целом), базируясь только на одних картинках-референсах. На этом этапе я стараюсь за максимальное короткое время (обычно 1 день) подготовить и собрать максимальное количество материала для дальнейшей работы. Но для начала нужно отождествить конкретное животное.

refs_ostrrich.jpg

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

refs_fea.jpg

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

Modeling
Данная стадия почти типична для всех проектов, за исключением проектов, где очень мало референсов по анатомии и нужно экспериментировать на стадии груминга. Как правило начинаю с ZBrush с шарика в режиме dynamesh. Еще как вариант, в Maya я создаю блокинг объект из примитивов ограничивая объем и затем уже все остальное в Zbrush. На этой стадии скульптинг происходит до грубого объема внешних мышц, т.е. не супер детально. Выбор Т-позы для птиц я выбираю с того расчета, чтобы было легко сложить крыло и при этом иметь контроль маховых перьев при развернутом крыле. Некоторый прогресс создания модели страуса.

Scu_low.jpg

Далее, когда объем и пропорции меня устроили, я делаю ретопологию в TopoGun, а затем UV маппинг.

Tpose_Final_mesh.jpg

Я всегда использую UDIM и их количество зависит от сложности самой модели.

UVs.jpg

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

Scu_hi.jpg

Для экономии времени был куплен скан кожи ноги на texturing.xyz и нарезаны необходимые части на альфы. Остальные детали, крупные
складки кожи, детали головы и поры доводилось руками, а также использовался Surface Noise генератор для клюва и когтей. Результат скульпта я выгрузил в
вектордисплейсмент текстуру. Так же попутно вывел обычный дисплейсмент для разных subdiv уровней и cavity для будущего текстуринга.

Ostrich_scu0000.jpg

Ostrich_scu0001.jpg

Ostrich_scu0002.jpg

Ostrich_scu0003.jpg

Ostrich_scu0004.jpg

Grooming
До этого было все как у всех. И вот мы наконец-то подошли к самой веселой и кропотливой части рабочего процесса- груминга! Как рабочий инструмент, я использую Yeti. Бытуют разные мифы касаемо этого типа работ. Много мнений достаточно противоречивы. Исходя из моего опыта, есть одна аксиома - залог хорошей работы напрямую зависит от аккуратности артиста. Приступив к этой стадии, я уже знал много технических нюансов касаемо длины перьев страуса, примерной плотности, структуры перьев, и их вида. Для страуса я применил упрощенный метод груминга и скатеринга перьев, потому как не было необходимости в суперконтроле каждого пера в отдельности, да и сама структура перьев (то, что все перья имеют растрепанный вид) страуса позволяет упростить груминг. Что сильно влияет на скорость самого груминга. А в данном проекте времени было мало. Для начала отрисовал базовые маски для груминга. Я использую метод аддитивных RGBA масок (как использовать вы можете узнать тут https://vimeo.com/271036764). Эти маски в процессе работы много раз изменялись и добавлялись необходимые. Окончательный вариант показан ниже.

Texturing_groom Maps.png

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


При создании стрендов я воспользовался своим итерационным методом. Суть его в том, что изначально вы используете упрощенный грум для получения более детального грума, путем генерации фиберов Yeti ноды, которые вы затем конвертируете в грум. И так до тех пор, пока не получите нужный результат. Обычно я останавливаюсь на 3-4 итерации. В процессе груминга я решаю на сколько Yeti нод я буду разбивать модель и сколько Groom нод я буду создавать. Результат решения влияет только на удобство и скорость выгрузки кеша. В итоге у страуса вышло 8 Groom Node и 5 Yeti Node.

Tpose_GroomStrands.png

Перья. Не такой страшный черт, как его рисуют! Во всех своих перьевых персонажей я не использую полигональные плашки с альфой, а делаю имитацию реальных перьев на основе fibers. Вот секрет моего результата. Для генерации перьев я использую jcFeather плагин для Maya и стандартное Yeti перо. Зачем я это делаю? Да потому, что в анимации и симуляции важно управлять не только объектом в целом, но иметь возможность более тонких настроек. Например когда перо парит на ветру, то оно не только деформируется, но и шевелятся его отдельные волоски. А намокание? Элементарно добавить пару нод, пару экспрешинов и мы это можем увидеть в анимации. Ну и результат на рендер, когда на свет реагирует каждый отдельный волосок, так и расфокусе на макро рендерах, все отрабатывает как надо. Вот для этого и заморачиваюсь.

Fea_layer.jpg

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

BodyYeti.png

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

Tpose_GroomFeathers.jpg

Каждый набор состоит из 6-8 перьев. Далее происходит их случайный перебор. Так же для страуса была разработана 2х осевая модель изменения атрибутов (таких как scraggle, bend и т.д.) вдоль пера и на каждый отдельный fiber в пере при помощи рисования нужных атрибутов в Groom ноде.

ezgif-1-2d5fe40359f9.gif

Эта функцию так же можно использовать и в анимации. По сути это вносит ещё больше хаоса и реализма в модель. Ну и завершает дерево нода displacement, в который и лежит вектродислпейсмен текстура. Для простоты визуализации слоев перьев и не только во вьюпорте я использую shader ноду, а как ею пользоваться вы можете узнать здесь.

Rigging
Здесь ничего особенного. После всех возможных правок по модели в процессе окончательного груминга (да такое тоже бывает) я создаю риг.

Tpose_RigControl_skeleton.png

Для этого я использовал Advanced Skeleton. Я не супер ригер, но риг для моих работ мне нужен в основном для позинга. На этой стадии проект разбивается на референс сцены: на сцену с ригом, и сцену с грумом и с шейдингом. И общение между сценами происходит по средствам алембика и Yeti кеша.

Texturing and Shading
Текстуринг тела. Ничего особенного, весь процесс происходит в Mari, вся покраска производится руками. Также подмешиваю displace и cavity текстуры и проецирую различные текстуры мрамора для кожи и клюва и когтей с различными нойс процедурными текстурами. А также рисую технические текстуры и маски для SSS.

Texturing_PrimShader.png

Texturing_SSS textures.png

Texturing_Masks textures.png

Текстуринг перьев. Благодаря мощи Yeti, я могу создать для любого объекта на основе fibers кастом UV текстурные координаты и в дальнейшем их использовать любым рендер движком. В работе над страусом эта фишка тоже использовалась. Рисовались такиете кстуры для меланина, а также использовались процедурные нойсы в Arnold.

melaninMaps.png

В общей сложности для 11 наборов перьев было нарисовано 24 текстур.
Шейдинг. В моем рабочем процессе я делаю предварительный шейдинг еще на стадии груминга с/без базовой текстурой, но уже там настраиваю вид материала и его основных характеристик. Потому что результат во вьюпорте иногда сильно отличается от того, что мы видим на рендер. Я использую стандартный материал Arnold aiStandardHair с меланин центрической моделью построенная.

Shader_param.png

Т.е. рисую монохромные текстуры, которые идут на меланин параметр и слегка корректирую цветом в base color параметре. Для реализма, я еще слегка изменил оттенок как в меланине, так и в цвете каждого отдельного волоска по его ID в самом пере. А также с помощью рампа регулирую оттенок волоска от основания до кончика и добавил центральную прожилку каждого волоска в пере.

FEA_solo.png

Каждый слой перьев имеет свой ID, как и ID каждого отдельного пера. Всю эту информацию я передаю в Yeti и использую в массивном шейдинге.

BodyFeaShad.png

Rendering and Post
Возможно, вы видели некоторые мои работы ранее. И некоторые из них выполнены в темной студии. Мне нравиться подобный эффект и страуса постигла та же участь. Потому что я хотел, чтобы акцент был только на саму модель. Поэтому студия полностью взята из проекта с совой. Мне оставалось лишь добавил кусочки грязи на полу от лап и сделать несколько складок ткани от лап. Такие вещи добавляют реализма. Проект оживает! Light Rig я создавал под каждую позу свой. Финальная рендер сцена была собрана из референс сцен с грумом + шейдера, меш с позой, освещение + студия.

studioSetup.png

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

ArnoldSeting.png

Пост Обработку и цветокоррекцию выполняю в Fusion.

FUcomp.png

Comper.jpg

328030.jpg

328028.jpg

328032.jpg

328031.jpg

Надеюсь вам понравилось, и вы узнали что-то новое.

Немного статистики:
- общее количество перьев - 9 196,
- общее количество фиберов- 3 427 455,
- общее количество наборов перьев- 11,
- общее количество текстур для перьев - 24,
- поликаунт hi-res модели- 43.18M,
- rendertime 8k ~17h.

www.yuriydulich.com
yuriydulich.blogspot.com
vimeo.com/meneldil

823 0 850 26
8
2020-02-29
Крутой мэйк. Благодарю!
2020-03-03
Офигенно
2020-03-04
Супер!! Идеальная работа
2020-03-04
Вау! Очень здорово!
2020-03-04
Очень круто!
2020-03-05
Великолепно! Побольше бы таких туториалов!
2020-03-06
Я бы уснул за творчеством. Не выдержал бы.
2020-03-07
нормальная мохнатая такая хреновина
RENDER.RU