September 14, 2022

Производство скальных блоков и сборка скального массива. ЭТАП 2

Итак, у нас есть заготовки под скальные блоки. Эти объекты в данный момент имеют только нужный масштаб и нужные мне пропорции:

Первым делом я вытащил их наружу и прогнал через скульптинг и децимацию в Zbrush

Таким образом, получил две версии на каждый блок - высокополигональную и low-poly версию

На изображении ниже представлены только низкополигональные версии:

Я почистил их от артефактов (заломы в ребрах и вертексах), которые накапливает дециматор ZBrush. После развернул их на UV

И вот тут интересный момент — каждый скальный объект, включая и эти блоки, имеет два канала UV-разверток:

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

  • А вот второй канал уже "красит" наши скалы нужными текстурами.
    В сущности второй канал это копия первого. Но в нем выдерживается нужный тексель для корректного отображения текстур в движке

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

Есть интересный момент:

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

Тем не менее я использовал ее в производстве, в том числе и в шейдере UE просто, чтобы поддержать первичные формы скалы:

На представленных ниже изображениях наглядно показано, как отрабатываются первичные формы скального ассета за счет запечки карты нормалей

Low-poly оригинал:

Результат запечки с картой нормалей и AO:

Но есть и более значимая вещь, ради которой я в принципе стал запекать скалы. Это получение RGB-маски, по которой я мог замешать между собой разные слои (текстурные сеты в шейдере)

Вот как она выглядит на скале:

В данном случае, красный канал отрабатывает курватуру:

Зеленый канал отрабатывает контактные затенения - Ambient Occlusion:

А синему каналу я отвел роль маски грязи с трипланарным проецированием (Dirt Map):

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

Полное представление шейдера:

А дальше сборка скального массива:

Квадратности - это уступы, которые заложу мховыми патчами, деревьями и кустами

Когда же будет полностью готов весь набор вегетации и приведен в порядок ландшафт эти скалы можно еще немного отрегулировать в плане:

  • текстурные наборы в слоях шейдера
  • тон, насыщенность, контраст и яркость
  • карта смешения слоев

Но это правильнее делать, когда будет собрана растительность в сцене и настроен террейн (ландшафт)

Тем не менее промежуточные тесты наглядно показывают визуальное поведение скал, стоит просто накинуть тестовые сосны и совсем чуть-чуть покрутить освещение:

А пока самое время заняться производством растительности (ее, кстати, планируется сделать очень много) и работа в этом направлении уже ведется

Я начал с черной ольхи

Но об этом в следующем посте…