Создание лазерного целеуказателя

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

Моделирование и запекание текстурных карт я производил в Blender 3D, текстурирование в Substance Painter и создание отдельных деталей в Substance Designer.

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

Этот пайплайн позволяет исключить этап high-poly моделирования и ограничиться созданием низкополигональной модели.

2_bevel_off_f.png

Скругления на рёбрах, в углах и в местах пересечения геометрии построятся шейдером и запекутся в Normal map.

3_wire_f.png

Когда геометрия была закончена, я создал несколько материалов для запекания карт: Normal, Ambient Occlusion и ID.

4_geo_fin_f.png

Запекание текстур


Normal map

На входе Vertex paint (нода Attribute), который позволяет настроить разную величину скругления на разных гранях, а нода Divide задаёт общий масштаб (величина скруглений зависит от размера объекта в сцене).
Количество сэмплов в ноде Bevel стоит сделать максимальным - 16, а глобальные Render samples - 32.

1_bevel_setup.png

2_bevel_on_f.png

Ambient Occlusion map

Как видите, здесь к входу Normal ноды Ambient Occlusion подключаются те же ноды, что и при запекании Normal map.Количество сэмплов в ноде Ambient Occlusion стоит сделать максимальным - 128, а глобальные Render samples - 4. Это, на мой взгляд, оптимальный баланс между скоростью запекания и качеством.

5_AO_setup.png

5_AO_f.png

ID map

Для создания ID-карты я сохраняю цвета в Vertex color. Это позволяет переключаться между материалами для запекания разных карт и не беспокоиться о материале ID для каждого объекта.

7_ID_setup.png

6_ID_f.png

Curvature Map

Для создания Curvature Map я использую этот нодовый сетап в композе. На вход подаётся Normal map, которую мы запекли ранее, а на выходе получаем готовую Curvature map. Value задаёт интенсивность.

7_5_curvature_setup.png

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

Я придерживаюсь послойного способа текстурирования - создаю слой за слоем, начиная с Height map и микро деталей и заканчивая Albedo и Roughness. Это помогает уверенно двигаться вперед и не потерять важные детали.

Substance Designer

Я сделал такие детали как мелкие и крупные винты, кнопка, резьба и сетчатое рифление в Substance Designer (SD).
В SD я ограничиваюсь созданием Height информации и маски для дальнейшего текстурирования в Painter.

8_SD_graph_f.png

9_SD_graph_f.png

10_SD_graph_f.png

11_SD_graph_f.png

12_SD_graph_f.png

Затем импортировал .sbsar файлы в Painter в качестве материалов.

Substance Painter

Перед добавлением элементов на Height map я создал пользовательский канал.

13_SP_f.png

Затем добавил Fill layer (Button) и выбрал в нём в качестве материала нужную мне деталь. Активными делаю только каналы Height и User0. В выпадающем меню Channels mapping я выбираю Height, ID и Mask соответственно - это те выходные каналы которые ранее были определены в Substance Designer.

На Fill layer Button я назначил Ancor point, который далее я буду использовать для создания маски.

14_SP_f.png

15_SP.gif

Аналогично и с помощью простых масок я создал и остальные детали.


Отдельно хочу рассказать о создании контуров крышек. Для них я использовал Line Filter созданный художником Osman Adzhyusmanov. Всё, что нужно, это нарисовать силуэт панели, а затем установить параметры фильтра до получения требуемой толщины щели. Поверх я кладу Blur и Levels для достижения финального результата.

18_SP_f.png

19_SP_f.png

После этого я создал необходимые материалы и назначил маски по ID map.

Для элементов с якорными точками я создал Fill layer в маске материала и затем выбрал ранее созданные точки в качестве источника для маски и соответствующий канал в выпадающем меню Referenced channel (в примере канал User 0).

20_SP_f.png


Для добавления различных дефектов я использовал стандартные генераторы Edge Wear и Mask Builder.

21_SP_f.png


В конце я добавил различные текстовые элементы. Часть из них я сделал в Photoshop и импортировал в качестве текстур.

22_SP_f.png


И поверх всех слоев создал слои пыли, чтобы устройство не выглядело новым.

23_SP_f.png

После этого - экспорт текстур и настройка шейдера в целевом движке.

Заключение

Вот и всё. Финальный рендер я делал в Cycles.

24_f.png

25_f.png

27_f.png

Благодарю за прочтение. Если у вас появятся вопросы, пишите, я постараюсь на них ответить.

711 0 850 9
0
RENDER.RU