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 (белый) - полную непрозрачность. Если ваша основная текстура не имеет альфа-канала, объект будет полностью непрозрачен.
Использование прозрачных объектов в вашей игре может быть непростым делом из-за стандартных проблем графического программирование, которые могут приводить к проблемам сортировки в вашей игре. Например, если вы видите странные артефакты при обзоре сразу через два окна, вы испытываете классическую проблему при использовании прозрачности. Основное правило - быть готовым к случаям, когда один прозрачный объект может быть необычным способом отрисован перед другим, особенно если объекты пересекаются, прилегают друг к другу или слишком различны в размерах. Поэтому вам следует использовать прозрачные объекты только тогда, когда они вам нужны и не позволять чрезмерного их использования. Вам также следует предупредить вашего дизайнера(ов) о том, что могут возникнуть такие проблемы сортировки и подготовить их к тому, что возможно придётся изменять дизайн в таких случаях.
Specular рассчитывает такое же простое (Lambertian) освещение, как и рассчитываемое шейдером Diffuse, кроме того, этот шейдер рассчитывает зеркальный блик, зависящий от угла зрения. Это и есть модель освещения Blinn-Phong. Она имеет зеркальный блик, зависящий от угла поверхности, угла источника света и угла зрения. Блик по сути, просто удобный для просчёта в реальном времени способ симуляции размытого отражения источника света. Уровень размытия для блика контролируется с помощью слайдера Shininess в инспекторе.
Кроме того, альфа-канал главной текстуры ведёт себя как карта отражения (Specular Map, иногда называемая “gloss map”), определяя то, какие зоны объекта будут более отражающие, чем остальные. Чёрные области альфы означают нулевое зеркальное отражение, в то время как белые зоны означают полное зеркальное отражение. Это очень удобно, когда вы желаете, чтобы разные зоны на объекте отражали с разной степенью зеркальности. Например, что-то вроде ржавого металла должно использовать низкую зеркальность, в то время как отполированный металл должен иметь высокую зеркальность. Степень зеркальности губной помады выше, чем у кожи и степень зеркальности кожи выше, чем у хлопчатобумажных тканей. Хорошо подготовленная карта отражения (Specular Map) может очень приятно удивить игрока.
Обычно этот шейдер использует среднее количество ресурсов для рендеринга. Для получения дополнительной информации, пожалуйста ознакомьтесь со страницей Использование и производительность встроенных шейдеров.