Переменные освещения в встроенной ссылке Render Pipeline
Найдите встроенные переменные шейдера, которые управляют освещением в Встроенном Render Pipeline.
Параметры света передаются шейдерам разными способами в зависимости от того, Путь отображения используется, и которое LightMode Пропускной знак используется в шейдере.
Форвардное представление (ForwardBase и ForwardAdd типы пропусков):
| Имя | Тип | Значение |
|---|---|---|
| _LightColor0 (заявлено в UnityLightingCommon.cginc) | fixed4 | Светлый цвет. |
| _WorldSpaceLightPos0 | float4 (плавающий) | Направленные огни: (мировое космическое направление, 0); другие огни: (мировое космическое положение, 1). |
| unity_WorldToLight (заявлено в AutoLight.cginc) | float4x4 | Матрица «мир-к-свету». Используется для выборки текстур cookie и затухания. |
| unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0 | float4 (плавающий) | (только для прохода ForwardBase) мировые пространственные позиции первых четырех незначительных точечных огней. |
| unity_4LightAtten0 | float4 (плавающий) | (только для ForwardBase) коэффициенты затухания первых четырех несущественных точечных огней. |
| unity_LightColor | half4[4] | (только для пропуска ForwardBase) цвета первых четырех несущественных точечных огней. |
| unity_WorldToShadow | float4x4[4] | Одна матрица для Spot Lights, до четырех для направленных световых каскадов. |
Отложенное затенение, используемое в шейдере освещения (все заявлено в UnityDeferredLibrary.cginc):
| Имя | Тип | Значение |
|---|---|---|
| _LightColor | float4 (плавающий) | Светлый цвет. |
| unity_WorldToLight | float4x4 | Матрица «мир-к-свету». Используется для выборки текстур cookie и затухания. |
| unity_WorldToShadow | float4x4[4] | Одна матрица для Spot Lights, до четырех для направленных световых каскадов. |
Коэффициенты сферических гармоник (используемые зондами окружающей среды и освещения) установлены для типов проходов ForwardBase и Deferred. Они содержат SH третьего порядка для оценки с помощью нормы мирового пространства (см. ShadeSH9 из UnityCG.cginc). Все переменные имеют тип half4, unity_SHAr и аналогичные названия.
Вертикально-освещённое отображение (Vertex тип пропуска):
Для типа прохода Vertex настраивается до 8 светильников; всегда сортируются начиная с самого яркого. Таким образом, если вы хотите отобразить объекты, подвергающиеся воздействию двух светильников одновременно, вы можете просто взять первые два элемента в массивах. Если на объект воздействует меньше восьми светильников, то остальные будут иметь чёрный цвет.
| Имя | Тип | Значение |
|---|---|---|
| unity_LightColor | half4[8] | Светлые цвета. |
| unity_LightPosition | float4[8] | Положения огней в пространстве обзора. (-direction,0) для направляющих огней; (положение,1) для точечных огней или лучевой фары. |
| unity_LightAtten | half4[8] | Коэффициенты ослабления света. x cos(spotAngle/2) или -1 для огней, не являющихся фокусными; y - 1/cos(spotAngle/4) или 1 для огней, не являющихся фокусными; z квадратичное затухание; w - квадратный световой диапазон. |
| unity_SpotDirection | float4[8] | Положения ближних огней в пространстве обзора; (0,0,1,0) для неближних огней. |