Note. Unity 5 introduced the Standard Shader which replaces this shader.
Так же, как и Diffuse, этот шейдер вычисляет простую (Lambertian) модель освещения. Освещенность поверхности убывает по мере убывания угла между ней и светом. Освещенность зависит только от угла и не зависит от положения и вращения камеры.
Normal mapping симулирует небольшие детали поверхности, используя текстуру, вместо повышения полигональности для выделения деталей. Это не изменяет поверхности объекта, а использует для достижения этого эффекта специальную текстуру Normal Map (карту нормалей). В этой карте значение цвета каждой точки используется как угол нормали к поверхности. На основе чего и вычисляется освещения без использования геометрии объекта. Карта нормалей эффективно заменяет геометрию мешей при вычислении освещенности объекта.
You can import normal maps created outside of Unity, or you can import a regular grayscale image and convert it to a Normal Map from within Unity. (This page refers to a legacy shader which has been superseded by the Standard Shader, but you can learn more about how to use Normal Maps in the Standard Shader)
Одна из разновидностей карт нормалей · карта нормалей касательного пространства. Касательное, это такое пространство, которое как бы “следует” по поверхности модели. В этом пространстве ось Z всегда направлена в сторону от поверхности. Этот тип карт нормалей немного более ресурсоемок, чем другие, зависящие от “пространства” объекта, но имеет определенные преимущества:
Specular рассчитывает такое же простое (Lambertian) освещение, как и рассчитываемое шейдером Diffuse, кроме того, этот шейдер рассчитывает зеркальный блик, зависящий от угла зрения. Это и есть модель освещения Blinn-Phong. Она имеет зеркальный блик, зависящий от угла поверхности, угла источника света и угла зрения. Блик по сути, просто удобный для просчёта в реальном времени способ симуляции размытого отражения источника света. Уровень размытия для блика контролируется с помощью слайдера Shininess в инспекторе.
Кроме того, альфа-канал главной текстуры ведёт себя как карта отражения (Specular Map, иногда называемая “gloss map”), определяя то, какие зоны объекта будут более отражающие, чем остальные. Чёрные области альфы означают нулевое зеркальное отражение, в то время как белые зоны означают полное зеркальное отражение. Это очень удобно, когда вы желаете, чтобы разные зоны на объекте отражали с разной степенью зеркальности. Например, что-то вроде ржавого металла должно использовать низкую зеркальность, в то время как отполированный металл должен иметь высокую зеркальность. Степень зеркальности губной помады выше, чем у кожи и степень зеркальности кожи выше, чем у хлопчатобумажных тканей. Хорошо подготовленная карта отражения (Specular Map) может очень приятно удивить игрока.
Обычно этот шейдер средне затратен для рендеринга. Для получения дополнительной информации, пожалуйста ознакомьтесь со страницей производительность шейдеров.