Unity 6.3
0 онлайн 118 гостей 3 в системе
Вход
Материалы и шейдеры Шаг 111 из 442

Прозрачный ударился зеркало

Примечание. Unity 5 представил Стандартный Шейдер, который заменяет этот шейдер.

Шейдер Transparent Bumped Specular.
Шейдер Transparent Bumped Specular.

Одно из соображений для этого шейдера заключается в том, что альфа-канал базовой текстуры определяет как прозрачные области, так и зеркальную карту.

Свойства прозрачности

Примечание. Unity 5 представил Стандартный Шейдер, который заменяет этот шейдер.

Этот шейдер может сделать геометрию сетки частично или полностью прозрачной путем чтения альфа-канала основной текстуры. В альфе 0 (черный) полностью прозрачен, а 255 (белый) полностью непрозрачен. Если ваша основная текстура не имеет альфа-канала, объект будет выглядеть полностью непрозрачным.

Использование прозрачных объектов в вашей игре может быть сложным, так как существуют традиционные проблемы графического программирования, которые могут привести к проблемам сортировки в вашей игре. Например, если вы видите странные результаты, когда смотрите через два окна одновременно, вы испытываете классическую проблему с использованием прозрачности. Общее правило заключается в том, чтобы знать, что есть некоторые случаи, когда один прозрачный объект может быть нарисован перед другим необычным образом, особенно если объекты пересекаются, окружают друг друга или имеют очень разные размеры. По этой причине вы должны использовать прозрачные объекты, если они вам нужны, и постарайтесь не допустить, чтобы они стали чрезмерными. Вы также должны информировать вашего designer(s) о том, что такие проблемы сортировки могут возникнуть, и подготовить их к изменению некоторых элементов дизайна, чтобы обойти эти проблемы.

Нормальные сопоставленные свойства

Как и Диффузная shader, он вычисляет простую (ламбертовскую) модель освещения. Освещение поверхности уменьшается по мере уменьшения угла между ней и светом. Освещение зависит только от угла и не меняется при движении или вращении камеры.

Нормальное отображение симулирует мелкие детали поверхности с помощью текстуры, вместо того, чтобы тратить больше полигонов на фактическое вырезание деталей. Оно фактически не меняет форму объекта, но использует специальную текстуру, называемую Нормальное отображение для достижения этого эффекта. В нормальном отображении цветовое значение каждого пикселя представляет угол нормальной поверхности. Затем, используя это значение вместо геометрии, вычисляется освещение. Нормальное отображение эффективно переопределяет геометрию сетки при расчете освещения объекта.

Создание нормальных сопоставлений

Вы можете импортировать обычные карты, созданные вне Unity, или вы можете импортировать обычное изображение в оттенках серого и преобразовать его в Карту нормалей из Unity. (Эта страница относится к устаревшему шейдеру, который был заменен на Стандартный шейдер, но вы можете узнать больше о том, как использовать Нормальные карты в стандартном шейдере)

Технические детали

Нормальное отображение является касательным пространственным типом нормального отображения. Касательное пространство — это пространство, которое "следует за поверхностью" геометрии модели. В этом пространстве Z всегда указывает в сторону от поверхности. Нормальные отображения касательного пространства немного дороже, чем другие типы нормальных отображений "объектного пространства", но имеют некоторые преимущества:

  1. Их можно использовать на деформирующихся моделях — изгибы останутся на деформирующейся поверхности и будут просто работать.
  2. Можно повторно использовать части карты нормалей на различных участках модели; или использовать их на различных моделях.

Зеркальные свойства

Specular рассчитывает то же самое простое (Ламбертианское) освещение, что и Диффузное, плюс зеркальное освещение, зависящее от зрителя. Это называется моделью освещения Блинна-Фонга. Она имеет зеркальное освещение, которое зависит от угла поверхности, угла света и угла обзора. Световое освещение на самом деле является способом, подходящим для реального времени, для имитации размытым отражением источника света. Уровень размятости для освещения контролируется с помощью ползунка Shininess в Inspector.

Кроме того, альфа-канал основной текстуры действует как зеркальная карта (иногда называемая «картой глянца»), определяющая, какие области объекта более отражают свет, чем другие. Черные области альфы будут иметь нулевое зеркальное отражение, в то время как белые области будут иметь полное зеркальное отражение. Это очень полезно, когда вы хотите, чтобы различные области вашего объекта отражали различные уровни зеркальности. Например, что-то вроде ржавого металла будет использовать низкую зеркальность, в то время как полированный металл будет использовать высокую зеркальность. Помада имеет более высокую зеркальность, чем кожа, и кожа имеет более высокую зеркальность, чем хлопчатобумажная одежда. Хорошо сделанная зеркальная карта может сделать огромную разницу в впечатлении игрока.

Результаты работы

В целом, этот шейдер умеренно дорог для рендеринга. Для более подробной информации, пожалуйста, посмотрите страница Shader Performance.

TransBumpedSpecular