Оффтоп Стас Шиловский
1 041

Создание бюста демона в ZBrush

Испанский 3D-художник Fran Alonso делится с нами процессом создания бюста демона с помощью Zbrush, Maya, Mari и других программ.

В закладки
Аудио

Вступление

При работе над персональными проектами я всегда стараюсь ставить перед собой конкретные цели. Это помогает мне осваивать новые инструменты и принимать непростые, но интересные вызовы, которые оттачивают мое мастерство. Я тружусь в игровой индустрии уже пять лет, и мне захотелось создать реалистичное существо, используя методы продакшена (UDIM, Arnold и тд), которые отличаются от пайплайна геймдева. Кроме того, я хотел применить Geometry HD в Zbrush для дополнительной детализации. Мне было любопытно оценить потенциал этого инструмента и сравнить его эффективность с отрисовкой детализации в Mari.

Сбор референсов

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

Блокаут

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

Моделирование

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

Ретопология и UV

Я экспортировал части демона в формате .OBJ в Topogun и начал ретопологию. (Иногда я также использую QuadDraw в Maya, это зависит от сложности модели.) После этого я отправил меш в Maya, чтобы сделать UV-развертку. Для этого проекта я организовал UV-шеллы в UDIM для дальнейшего текстурирования в Mari. В конце я дополнительно подкорректировал развертку в UVLayout, потому что на тот момент в Maya не было качественного инструмента для разглаживания (relax) шеллов.

Детализация

Разобравшись с UV, я импортировал модель обратно в Zbrush и с помощью инструмента Projection перенес всю детализацию с Dynamesh-модели на новый меш с разверткой. После этого я приступил к мелкой детализации. Я не вносил больших изменений в бюст демона и использовал разные альфы с кистью Standart, чтобы создать микродетализацию — например, поры и морщины. Как я упомянул в начале, я хотел опробовать инструмент Geometry HD и благодаря ему образ получился более реалистичным (около 90 млн. полигонов).

Карты displacement и cavity

Чтобы запекать displacement в Zbrush, я использую опцию EXR 32-bits (см. картинку), которая упрощает дальнейшую конфигурацию в Maya. Именно во время этого запекания становится видна экстра-детализация, полученная в Geometry HD. Карты cavity я также сделал в Zbrush, покрасив геометрию в белый цвет и залив неровности черным с помощью MaskByCavity. Я экспортировал все карты с помощью плагина Multi Map Exporter.

Текстурирование

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

Освещение и рендер

На этой стадии я использовал Maya и Arnold. На большинство элементов был назначен материал aiStandart c включенным SSS. Это быстрый шейдер, дающий потрясающие результаты. Свет был выставлен по классической трехточечной схеме. Главный светильник под солнечный свет, заполняющий и контровой светильники, а также один светильник типа skydome с подключенной картой HDRI для симуляции освещения окружающей среды.

Советы

ArnoldPreview – очень полезный инструмент, ускоряющий работу. Я рекомендую использовать его вместо встроенного предпросмотра рендера в Maya. Он также позволяет вам видеть AOV, которые вы активировали в настройках рендера.

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

Оригинал статьи находится тут.

Больше статей и туторов на нашем telegram-канале.

#3d #zbrush #gamedev #tutorial

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Стас Шиловский", "author_type": "self", "tags": ["zbrush","gamedev","3d","tutorial"], "comments": 9, "likes": 36, "favorites": 41, "is_advertisement": false, "subsite_label": "flood", "id": 24507, "is_wide": false, "is_ugc": true, "date": "Tue, 07 Aug 2018 14:19:29 +0300" }
{ "id": 24507, "author_id": 34176, "diff_limit": 1000, "urls": {"diff":"\/comments\/24507\/get","add":"\/comments\/24507\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/24507"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64955 }

9 комментариев 9 комм.

Популярные

По порядку

Написать комментарий...
17
Ответить
1

Что ж ты отлично пошутил)

Ответить
1

Это традиция вообще-то.

Ответить
1

Ну так это мейк оф а не туториал

Ответить
0

в его оправдание скажу что часть с кавити мап мне помогла сейчас найти пару интересных туторов на эту тему и чучуть прокачаться

Ответить
2

1. Слепите сферу.
2. Добавьте деталей, чтобы получился демон.

Ответить
2

Когда тебе и в голову не приходило использовать сканы огурца)))
Крутой демон.

Ответить
0

Только не понятно почему кожа и клыки-шипы одного цвета?
Ну и да, я пока так не умею :).

Ответить
0

Эммм, ну хорошо, во первых, все, что имеет отростки, как то - человеческое тело, голова с рогами, дерево и т.п. по умолчанию делается из зсфер с переводом в скин и лепкой через дайномеш, это не что-то необычное. Во вторых, почему это не часть пайплайна геймдева?
В моем понимании стандартный, среднестатистический пайплайн такой:
1)Идея
2)Сбор референсов (Пинтерест наше все)
2d редактор
3)Создание концепта
Збраш (Мадбокс, Коат и Блендер всеж не то)
4)Скульптинг
5)Ретопология лодов (В чем удобней. Мелкие вещи, без поднутрений, проще в самом браше заретопить, сложнее геометрия - Коат или тот же Топоган )
6)Развертка (опять жеж, кому как, мне импонирует коат, хотя многие до сих пор юзают Лэйаут)
Дальше в сабстенсе
7)Запекание нормалей, ао и иже с ними
8)Покраска
9)Экспорт карт
Майка или что там для анимации
10)Скининг/Риггинг
11)Собственно анимация
12)Экспорт всего этого в движок
Где я не прав, поправьте.

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Невероятно! Skyrim портировали на...
Подписаться на push-уведомления