October 18, 2022

Декорирование Базы. Часть 1: Износ/повреждения бетона

Декорирование базы в нашем случае — это процесс доработки некоторых модулей (бетон основания), создание разрушений, применение большого количества декалей

О декалях и растительности в пределах базы поговорим в следующей части

В этой я расскажу, что делал с бетоном

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

Это первая итерация:

После чего, поработал над разнообразием скульпта еще немного и уже более избирательно разбавил этот «ковер»

Это вторая итерация:

Далее были добавлены дополнительно еще 5 панелей с полностью отрезанной частью и подбитыми краями, а в образованную полость размещалась PDO-декаль (Pixel Depth Offset), имитирующая щебенку или строительный лом

Это третья итерация:

Еще несколько скринов результата:

Давайте более подробно рассмотрим процесс подготовки таких ассетов:

  1. Начинаем процесс с заготовки. Это просто бокс с размерами основной бетонной панели в сцене - 4 м х 4 м. Пивот выставлен изначально, как надо:

2. Теперь инструментом Cut я просто фрагментировал поверхность, отделив место выбоины, из которой будет торчать стальная арматура:

3. Раскидал дополнительно кое-какие точки и сапорт эйджи для ограничения уровня глубины выбоины:

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

5. Накинул модификатор Turn to Poly, разбив им "как попало" всю геометрию на четырехугольники. Как можете заметить, я совершенно не беспокоюсь о корректной топологии или вертексных нормалях на данном этапе, т.к. остальное поправит DynaMesh в Zbrush, в котором будет произведен несложный скульпт областей повреждения

Сейчас главное - это сформировать силуэт выбоины/повреждения такой формы, которую вы хотите получить:

6. Заготовка перенесена в ZBrush. Как видите, точек там всего 68 или около того... А вот теперь применим DynaMesh с небольшим разрешением (порядка 128), чтобы уплотнить сетку и сформировать корректную топологию, при этом сама форма остается неизменна. Это важно!

7. Отлично! Сетка сформирована, счет вершин пошел на десятки тысяч при относительно малом значении DynaMesh:

8. Уплотняем поликаунт до сотен тысяч - миллионов, и получаем максимально мягкую "пластилиновую" сетку

Все! Можно скульптить сколы и повреждения:

9. Края очень быстро "обтесал/обтер" кистью ClayTubes c разными параметрами:

10. Теперь немного сгладил скульпт, чтобы сгладить следы альфы кисточки, но при этом не настолько сильно, чтобы не оплавлять скульпт:

11. Выбираем кисть из коллекции Orb Brush Pack:

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

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

13. Теперь я перенес этот хай рез в 3DS MAX, в котором провожу ретопологию на мидл поли геометрию:

14. Мидл поли болванка лежит поверх нашего скульпта. Подготовим ее сетку, уплотнив ее, чтобы была возможность провести ретопологию:

15. Все банально - просто нарезал в обоих направлениях по 40 сегментов. Плотный мидл поли, но пайплайн под UE5 (под Ninite). Так что все ок! ;)

16. Настраиваем инструменты ретопологии и погнали:

17. Результат! Конечно, сетка мидл поли ассета местами мнется с ошибками (заломы вертексов и z-файтинг)...

Это подправляется на следующем этапе:

18. Все подправил. все выглядит чистенько:

19. Обратите внимание, что у меня дополнительно подготовлены элементы арматуры, жб-конструкций, которые будут торчать в местах выбоин. Они сделаны просто: всего лишь цилиндры и стандартная спираль 3ds max - Helix

Также я специально сделал по два экземпляра - два потолще, два - потоньше. Чтобы можно было разнести их на UV отдельно друг от друга и реализовать чуточку больше разнообразия в текстурах:

20. Выделяем цилиндрическую часть такого прута (без спирали и детачим как клон). Получаем мидл-польную деталь конструкции

Ее-то мы и будем мапить на UV:

21. В итоге, вот что мы имеем. И, кстати, в таком виде я буду переносить ассет через obj в Substance Painter (в разнесенном друг от друга виде)

Это даст возможность запечь детали на карту нормалей с хайреза на мидл поли без артефактов:

22. UV-мапинг готов. Вот эти несуразные детали, отмеченные рамкой - это боковины блока. Но они меня совершенно не волнуют, т.к. будут находится в стыках и там их видно не будет

Можно гнать в Substance Painter на запечку карты нормалей:

23. Печем здесь только карту нормалей на максимальных настройках:

24. Как видите, карта нормалей отрабатывает вполне достойно:

25. Уже сейчас можно размножить пруты и собрать ассет. После все приаттачить. До запекания карты нормалей - этого делать было нельзя, т.к. карту нормалей запекали с геометрии на геометрию и, напомню, 100% возникли бы артефакты

Но, так как далее остальные карты я буду печь уже не с геометрии (скульпта), а с готовой карты нормалей, то собрать ассет уже можно сейчас:

26. Перезаписываю ассет в Substance Painter:

27. Перенесли в Sunstance Painter:

28. Запекаем все остальные карты:

29. Переходим к покраске. Как видите, стек материалов весьма прост

Разберем его по порядку:

30. Первый слой - это один из стандартных материалов бетона:

31. Второй слой - тоже бетонный материал. Однако имеет более крупную фактуру. Этот слой применен через черную маску и эффект Paint

Так же немного повазюкал кистью:

32. Добавляем немного деталей грязи и ржавчины:

33. Теперь подключаем ржавчину для прутов арматуры и отделяем через Polygon Fill:

Таков в целом основной пайплайн. Рассмотрим еще один вариант, немного модифицировав процесс плагином разрушения/фрагментации RayFire:

  1. По такому же принципу создал еще 7 блоков:

2. После нехитрых манипуляций получаем два объекта:

3. Процесс процедурной фрагментации правого куска:

4. После фрагментации, все кластеры выделены и к ним применен модификатор Chamfer. Некоторые кусочки слишком маленькие и значение размера фаски перекрывает габариты куска - возникает z файтинг

Но я за это не беспокоюсь, так как некоторые кусочки будут удалены, какие-то подправлены вручную, а какие то исправятся все тем же DynaMesh'ем в ZBrush:

5. Итак, кое-какие кластеры удалил, какие-то отскейлил, повернул, подвигал туда-сюда:

6. Аттачим все куски в один объект:

7. И в таком виде отправляем в Zbrush на скульпт:

8. К скульпту все готово. Здесь как и в предыдущих примерах применен DynaMesh, но с очень высоким значением, чтобы не сломать основную форму мелких осколков:

9. Процесс скульпта, ретопологии, UV-мапинга в целом повторяются, как и в предыдущем примере. Так что, я опустил их

Показываю результат запечки:

10. Результат текстурирования:

После перенесения в UE5 и конвертирования в Ninite-геометрию, я раскидал блоки так же избирательно по сцене

Результат:

До встречи во второй части этапа декорирования!