Note. Unity 5 introduced the Standard Shader which replaces this shader.
Одна важная деталь относительно этого шейдера: альфа-канал базовой (Base) текстуры одновременно определят и прозрачные области и карту отражения (Specular Map).
Note. Unity 5 introduced the Standard Shader which replaces this shader.
Этот шейдер может сделать геометрию меша частично или полностью прозрачной с помощью считывания значений из альфа-канала основной текстуры. 0 в альфе (чёрный) означает полную прозрачность, в то время как 255 (белый) - полную непрозрачность. Если ваша основная текстура не имеет альфа-канала, объект будет полностью непрозрачен.
Использование прозрачных объектов в вашей игре может быть непростым делом из-за стандартных проблем графического программирование, которые могут приводить к проблемам сортировки в вашей игре. Например, если вы видите странные артефакты при обзоре сразу через два окна, вы испытываете классическую проблему при использовании прозрачности. Основное правило - быть готовым к случаям, когда один прозрачный объект может быть необычным способом отрисован перед другим, особенно если объекты пересекаются, прилегают друг к другу или слишком различны в размерах. Поэтому вам следует использовать прозрачные объекты только тогда, когда они вам нужны и не позволять чрезмерного их использования. Вам также следует предупредить вашего дизайнера(ов) о том, что могут возникнуть такие проблемы сортировки и подготовить их к тому, что возможно придётся изменять дизайн в таких случаях.
Так же, как и 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) может очень приятно удивить игрока.
Обычно этот шейдер использует среднее количество ресурсов для рендеринга. Для получения дополнительной информации, пожалуйста ознакомьтесь со страницей Использование и производительность встроенных шейдеров.