LerpworksAcademy
На этой странице

Графика › Пространство

Касательное пространство и карта нормалей

Нужно знать заранее: Нормаль и свет, UV: как картинка ложится на модель, Пространства: где находится точка

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

Зачем это

В уроке про свет касательное пространство мелькнуло в свёрнутом блоке: стрелки в карте записаны относительно поверхности, поэтому карта работает на любой модели. В уроке про пространства появились матрицы и переходы между системами координат. Теперь можно собрать это вместе.

Карта нормалей — самый частый источник странных артефактов в игровой графике. Шов после запекания, вдавленные бугры на половине модели, волны света по гладкой поверхности, мелкая детализация, которая пропадает после смешивания, — у всего этого одна причина: стрелку из карты перевели в мир не теми осями. Если понимаешь, откуда берутся эти оси, такие поломки чинятся за минуты, а не за вечер.

Дальше в статье

  1. Оси поверхности: T, B, N
  2. Откуда берутся касательные
  3. Бейкер и движок должны считать одинаково
  4. Зеркальные развёртки
  5. Швы и жёсткие рёбра
  6. Как карта хранится
  7. Как смешать две карты нормалей
  8. Где ломается
  9. Связи: та же идея в других областях
  10. Главное
  11. Проверь себя