Эта статья описывает, как правильно создавать карты нормалей в различных ситуациях, а также распространённые проблемы при генерации и импорте в игру.
Перед тем как решить, нужно ли инвертировать один из каналов карты нормалей, убедитесь, что ваш генератор нормалей не делает этого по умолчанию.
Некоторые генераторы позволяют настраивать инверсию красного (x) и зелёного (y) каналов, но часть из них всегда инвертирует красный канал.
Стандартная карта нормалей без инверсий выглядит так, будто она освещена сверху справа:
- Красный канал — освещение справа (ось X)
- Зелёный канал — освещение сверху (ось Y)
Это соответствует стандарту: освещение с положительных направлений X и Y.
Обычная карта нормалей без инвертированных каналов, а также её красный и зелёный каналы, показанные отдельно. В этом примере буквы должны выглядеть выпуклыми.
</WRAP>
Обычная карта нормалей без инверсий выглядит так, как будто она освещена сверху справа. Это значит, что красный канал выглядит так, как будто он освещён справа, а зелёный — так, как будто он освещён сверху. Это значит, что карта освещена в направлениях x и y, что является стандартом для карт нормалей.Импорт мешей и вращение
Функция поворота в редакторе ассетов сломана — она создаёт некорректные тангенты, из-за чего карты нормалей отображаются неверно или вообще не работают.
Чтобы использовать поворот без ошибок — установите мод Mesh Import Rotation Tangents Fix.Если вы хотите использовать функцию вращения без изменения тангенсов и карт нормалей, воспользуйтесь модом Mesh Import Rotation Tangents Fix.
</WRAP>
Ассеты
Для стандартных ассетов (здания, предметы, машины, деревья, жители) нормали работают корректно, если использовать неинвертированные каналы, как указано выше.Сетевые объекты (Networks)
- Для граней, окрашенных в пурпурный цвет (vertex paint) — нормали работают стандартно, как и для обычных ассетов.
- Для граней без пурпурной раскраски (автоматическая плитка, как у дорог и рельс) зелёный канал необходимо инвертировать.Ассиметричные сетки
Если вы создаёте асимметричную сетку для сети, применяется флаг инверсии сегментов.
Это приводит к тому, что зелёный канал нормали будет инвертирован через один сегмент.Решение — создать две разные сетки для сегментов:
- одна с обычной нормалью
- другая — с инвертированной, либо с отражённой геометриейТемы карты (Map Themes)
- Карты нормалей песка и скал требуют инвертированного зелёного канала, чтобы выглядеть корректно.
- Карта нормалей воды анимирована в игре и плавно сменяется между обычной и инвертированной версией.
Обычная карта с инвертированным зелёным каналом и её отображение в игре.
</WRAP>