Главная страницаСтатьиModdingСоздание текстуры бампа для GTA4

Создание текстуры бампа для GTA4

15.12.2013 | Просмотров: 3459
Уже очень давно заметил, что нередко даже у опытных конвертеров результат применения карты нормалей удручает: например, вместо необходимой выпуклой поверхности получается… впуклая или вообще хрен знает что. А такое может быть в основном по двум причинам. Первая – от того, что просто не понятны основы рельефного текстурирования. Собственно, и начнём тогда с самых основ.
Карта нормалей (нормал мап, бамп) – это текстура, в цветовые каналы которой сохранена векторная информация о смещении точки high-poly модели относительно low-poly модели. Карта нормалей рассчитывается для каждого пикселя текстуры. Значения каждого из каналов RGB – это XYZ координаты нормали пикселя.
- Красный канал определяет горизонтальный (по оси Х-координаты) вектор.
- Зелёный канал определяет вертикальный (Y-ось координат) вектор.
- Синий канал определяет высоту (Z-ось координат) вектора

Вкратце всё, для остального есть Google.

Теперь вторая причина неудачного бампа – текстура тупо прогоняется через плагин типа nVidia Normal map filter без понимания как, что и зачем. Посмотрите на результат такого действия на примере номерного знака:

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

И дело не только в том, что рельеф имеется на ненужных нам областях. Их всегда можно замазать перед применением фильтра. Но обратите внимание хотя бы на саму надпись «EXL 6239». Она вдавлена, хотя должна быть выпуклой. Причина неудачи проста и заключается в том, что данный фильтр работает на разнице яркости. И тёмная надпись оказалась вдавлена относительно светлого фона.
Таким образом, большинство текстур нужно редактировать перед применением фильтра. По сути, сначала нужно создать чёрно-белую карту высот. Смысл прост – чем белее область, тем выше она лежит на поверхности.


Выполним сведение всех слоёв в общий фон и теперь уже применим фильтр:

Scale (1) – масштаб по высоте для карты нормалей. Над этим параметром есть ряд переключателей детализированности (2). Подбирая эти два параметра, можно получить либо более детализированную, либо более глубокую карту. Инвертировать каналы (3) не надо.

Сохраняем текстуру бампа номерного знака в формате dds (DXT1 без альфа-канала).
Результат в игре:

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

На всякий случай урок в вордовском формате: http://yadi.sk/d/2--H_7m6EL9jU.

Источник: http://www.am-team.ru
Добавил: KuznetSoft | Категория: Modding | Рейтинг: 5.0/3
Комментарии (0)
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Новые статьи
Ещё по теме
Категории
Другое [3]