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

Режимы смешивания в URP

В материале в Universal Render Pipeline (URP) свойство Blending Mode определяет, как Unity рассчитывает цвет каждого пикселя прозрачного Материала при смешивании Материала с фоном.

В контексте Режимов Слияния Источник относится к прозрачному Материалу, где установлен Режим Слияния, а Назначение относится ко всему, с чем Материал перекрывается.

Альфа

Пример альфа-смешивания
Альфа-режим смешивания.

Альфа использует значение альфы Материала для изменения прозрачности объекта. 0 означает полную прозрачность. 255 означает полную непрозрачность, что переводится в значение 1, когда используется с уравнениями смешивания. Материал всегда рендируется в проходе рендеринга Прозрачный, независимо от его значения альфы. Этот режим позволяет использовать свойство Сохранить зеркальное освещение.

Альфа-уравнение:

OutputRGB = (SourceRGB * SourceAlpha) + DestinationRGB * (1 - SourceAlpha)

Премножение

Пример предварительного умножения режима смешивания
Режим предварительного умножения смешивания.

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

Предварительное умножение использует значения SourceRGB, которые уже были умножены на значение альфа. В противном случае, уравнение смешивания такое же, как в Альфа режиме.

Уравнение предварительного умножения:

OutputRGB = SourceRGBPremultiplied + DestinationRGB * (1 - SourceAlpha)

Добавка

Пример режима аддитивного смешивания
Режим смешивания добавок.

Аддитив суммирует цветовые значения Материалов вместе, чтобы создать эффект смешивания. Значение альфы определяет силу цвета исходного Материала до расчета смешивания. Этот режим позволяет использовать свойство Сохранить зеркальное освещение.

Аддитивное уравнение:

OutputRGB = (SourceRGB * SourceAlpha) + DestinationRGB

Умножение

Пример режима смешивания умножения
Умножение режима смешивания.

Умножение умножает цвет Материала на цвет за поверхностью. Это создает более темный эффект, как когда вы смотрите через цветное стекло. Этот режим использует альфа-значение Материала для регулировки степени смешивания цветов. Значение альфы 1 приводит к некорректированному умножению цветов, в то время как более низкие значения смешивают цвета в сторону белого.

Уравнение умножения:

OutputRGB = SourceRGB * DestinationRGB

Эффективность режимов смешивания

Приблизительный порядок режимов смешивания от самого быстрого до самого медленного выглядит следующим образом:

  • Аддитивное. Расчет прост.
  • Умножение. Расчет прост, но включает SourceAlpha.
  • Предварительное умножение. Вычисление более сложно, чем Аддитивное и Умножение, но GPU не нужно умножать значение SourceRGB на значение альфы на пиксель.
  • Альфа. Расчет наиболее сложный, особенно если несколько материалов Альфа-режима перекрываются.

Производительность вашего проекта может в большей степени зависеть от перерисовки, чем от режима смешивания, особенно если вы работаете с мобильной платформой. Дополнительную информацию см. в Сокращение работы по рендерингу на CPU или GPU.