我们会在此获取光线数据,使用LWRP资源包的内置函数GetMainLight()。我们可以使用获取到的信息来指定Direction和Color输出。 自定义函数代码如下。 Color = 1; #else Light light = GetMainLight(); Direction = light.direction; Color = light.color; #endif 右键单击节点,选择Create Group from Selection,然后重...
我们可以使用 #ifdef SHADERGRAPH_PREVIEW 来检查代码是否在 Shader Graph 预览窗口中运行,如果是,我们将返回模拟白色定向光的虚拟值。 void MainLight_float(float3 WorldPos, out float3 Direction, out float3 Color, out float DistanceAtten, out float ShadowAtten) { #ifdef SHADERGRAPH_PREVIEW Direction = ...
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...
我们会在此获取光线数据,使用LWRP资源包的内置函数GetMainLight()。我们可以使用获取到的信息来指定Direction和Color输出。 自定义函数代码如下。 #if SHADERGRAPH_PREVIEW Direction = half3(0.5, 0.5, 0); Color = 1; #else Light light = GetMainLight(); Direction = light.direction; Color = light.color...
Light mainLight = GetMainLight(shadowCoord); Direction = mainLight.direction; Color = mainLight.color; DistanceAtten = mainLight.distanceAttenuation; #if !defined(_MAIN_LIGHT_SHADOWS) || defined(_RECEIVE_SHADOWS_OFF) ShadowAtten = 1.0h; ...
// Get ambient term,使用的是Unity内的宏定义 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 ...
我们会在此获取光线数据,使用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 用来判断是否是预览窗口。 #ifSHADERGRAPH_PREVIEWDirection=half3(0.5,0.5,0);Color=half4(1,0,0,1);#elseLight light=GetMainLight();Direction=light.direction;Color=light.color;...
创建Custom Function 节点,选中后,在 Node Settings 中配置如下,SHADERGRAPH_PREVIEW 用来判断是否是预览窗口。 #if SHADERGRAPH_PREVIEW Direction = half3(0.5, 0.5, 0); Color = half4(1, 0, 0, 1); #else Light light = GetMainLight();
#ifSHADERGRAPH_PREVIEWDirection=half3(0.5,0.5,0);Color=half3(1,0.95,0.8);DistanceAtten=1;ShadowAtten=1;#else 子图(SubGraph) 子图保持与仓库相同的名字Get Main Light,在节点连线上与原仓库相同: 将MainLight (Custom Fuction)节点的精度Precision设置为Use Graph Precision: ...