Unity 6.3
0 онлайн 85 гостей 3 в системе
Вход

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

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

Прозрачная вырезка Удар зеркального шейдера.
Прозрачная вырезка Удар зеркального шейдера.

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

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

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

Shader Cutout является альтернативным способом отображения прозрачных объектов. Различия между Cutout и обычным прозрачный шейдер:

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

Этот шейдер использует альфа-канал, содержащийся в текстуре Базовая Texture, для определения прозрачных областей. Если альфа-канал содержит смесь прозрачных и непрозрачных областей, то вы можете вручную определить точку отрезка для тех областей, которые будут показаны. Вы можете изменить эту точку отрезка, настроив ползунок Alpha Cutoff.

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

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

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

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

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

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

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

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

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

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

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

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

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

TransCutBumpedSpecular