Создаем карту дисплейсмента (высоты) в 3DS MAX
В жизни каждого 3D визуализатора рано или поздно появляется проект, в котором реализовывать какие-то формы с помощью геометрии бессмысленно. А оптимальным решением задачи становится применение дисплейсмента или паралакс бампа. Но что делать если под рукой нет нужной текстуры? Конечно же, создать ее самому.
Ниже вы найдете подробный алгоритм, который позволит создать нужную текстуру дисплейсмента из любой имеющейся у вас геометрии средствами практически любого рендер пакета и парой простых действий в фотошопе. А в видео увидите, как это реализовать на практике.
1) Создаем паттерн (в примере взята простая пирамида, но можно использовать любую геометрию).
2) Выставляем над нашей геометрией таргет камеру (вкладка стандартные камеры). Выравниваем таргет и саму камеру относительно геометрии (center / center). Далее активируем чекбокс Orthographic Projection.
3) Переходим в вид из камеры и подгоняем угол обзора так, чтобы по краям был небольшой отступ (выставлять пропорции, соответствующие соотношению сторон паттерна, не обязательно – в фотошопе лишнее отсечется).
4) Выставляем в настройках камеры Enviorement Ranges в соответствии с положением нашего объекта. Near – ближняя граница поверхности к камере. Far – дальняя. Оставляем небольшой запас пространства от геометрии, чтобы не получить резкие срезы там, где это не нужно, на будущей карте.
5) Идем в настройки рендера F10 и добавляем пас z-depth в движке с которым работаете. В поле ближней и дальней границы вбиваем соответствующие значения из камеры (Near и Far).
6) Переходим в вид из камеры в интерактиве проверяем, нормально ли выглядит карта, и рендерим нашу карту глубины. (на время рендера карты глубины можно отключить beaty пас, чтобы не тянуть время рендера).
7) Сохраняем карту и альфа канал в удобный для вас формат. Я обычно использую TIFF или PNG. Чем больше битность, тем мягче градиент и соответственно – аккуратнее дисплейсмент получим.
!!!ВАЖНО!!! Для corona/vray сохраняем карту в гамме 2.2 (возможно в вирей и 1.0 подойдет), а для FSTORM гамма должна быть 1.0.
Обработка полученной карты в Photoshop
1) Открываем рендер карт в photoshop.
2) Выделяем изображение альфа канала и копируем его CTRL+С. Затем его можно отключить или скрыть.
3) Разблокируем слой с картой глубины если он залочен, кликнув по замочку на слое.
4) Создаем маску и зажав ALT кликаем на нее. Вставляем через CTRL+V и кликаем по изображению слоя, чтобы выйти из режима отображения маски.
5) Нажимаем на маску с зажатым CTRL чтобы загрузить выделение. *В примере с FStorm инвертируем выделение комбинацией CTRL+SHIFT+I
6) Идем в меню «выделение», находим пункт «модификация» и выбираем «сжать» – сжимаем на 1 пиксель и активируем инструмент рамка. Затем нажимаем ENTER, чтобы отсечь лишнее. Цель данного шага: убрать размытую границу пикселей, которая может дать артефакты в дисплейсменте.
7) Сохраняем получившуюся карту в приемлемом для вас формате. В зависимости от области применения и требуемого качества я могу сохранять в jpeg, png или TIFF.
Tiff работает хорошо с FSTORM – на счет других движков не уверен, так как не работаю в них. А в видео CORONA и VRAY только по просьбе записать урок и в этих рендер пакетах.