Out =SHADERGRAPH_REFLECTION_PROBE(ViewDir, Normal, LOD); } 4)Main Light Direction Main Light Direction 节点用于获取顶点指向光源的单位方向向量(世界空间)。Shader Graph 13.1.9(2022.1+)版本才开始出现 Main Light Direction 节点。如果用户的 Shader Graph 版本较低,可以通过 8.2 节中 Custom Func...
Direction = mainLight.direction; Color = mainLight.color; DistanceAtten = mainLight.distanceAttenuation; #if !defined(_MAIN_LIGHT_SHADOWS) || defined(_RECEIVE_SHADOWS_OFF) ShadowAtten = 1.0h; #endif #if SHADOWS_SCREEN ShadowAtten = SampleScreenSpaceShadowmap(shadowCoord); ...
其中 MainLight 是自定义函数(通过 Custom Function 节点创建),选中 MainLight,在 Node Settings 中配置如下,SHADERGRAPH_PREVIEW 用来判断是否是预览窗口。 #ifSHADERGRAPH_PREVIEWDirection =half3(0.5,0.5,0); Color =half4(1,0,0,1);#elseLight light =GetMainLight(); Direction = light.direction; ...
Light mainLight = GetMainLight(shadowCoord); Direction = mainLight.direction; Color = mainLight.color; DistanceAtten = mainLight.distanceAttenuation; ShadowAtten = mainLight.shadowAttenuation; } MainLight_half函数有新的输入和输出数据,因此我们要回到Custom Function节点,添加相应数据。我们添加二个新输出...
我们会在此获取光线数据,使用LWRP资源包的内置函数GetMainLight()。我们可以使用获取到的信息来指定Direction和Color输出。 自定义函数代码如下。 #if SHADERGRAPH_PREVIEW Direction = half3(0.5, 0.5, 0); Color = 1; #else Light light = GetMainLight(); ...
其中MainLight 是自定义函数(通过 Custom Function 节点创建),选中 MainLight,在 Node Settings 中配置如下,SHADERGRAPH_PREVIEW 用来判断是否是预览窗口。 #if SHADERGRAPH_PREVIEWDirection=half3(0.5,0.5,0);Color=half4(1,0,0,1);#elseLightlight=GetMainLight();Direction=light.direction;Color=light.color;...
首先,我们在项目的Assets > Include文件夹中,打开CustomLighting包含文件。 现在我们只关注MainLight_half函数,代码如下。 voidMainLight_half(float3 WorldPos,outhalf3 Direction,outhalf3 Color,outhalf DistanceAtten,outhalf ShadowAtten){#ifSHADERGRAPH_PREVIEWDirection=half3(0.5,0.5,0);Color=1;DistanceAtten...
在4.1 节的基础上,修改 My Unlit Shader Graph 文件如下。 其中MainLight 是自定义函数(通过 Custom Function 节点创建),选中 MainLight,在 Node Settings 中配置如下,SHADERGRAPH_PREVIEW 用来判断是否是预览窗口。 #ifSHADERGRAPH_PREVIEWDirection=half3(0.5,0.5,0);Color=half4(1,0,0,1);#elseLight light=...
我们会在此获取光线数据,使用LWRP资源包的内置函数GetMainLight()。我们可以使用获取到的信息来指定Direction和Color输出。 自定义函数代码如下。 #if SHADERGRAPH_PREVIEW Direction = half3(0.5, 0.5, 0); Color = 1; #else Light light = GetMainLight(); ...
fixed3 ambient = UNITY_LIGHTMODEL_AMBIENT.xyz; // Transform the normal from object space to world space fixed3 worldNormal = normalize(mul((float3x3)unity_ObjectToWorld, v.normal)); // Get the light direction in world space fixed3 worldLight = normalize(_WorldSpaceLightPos0.xyz); ...