网站如何实现qq登录功能,网红营销的优势在哪里,个人博客网页设计代码,长春百度推广文章目录 前言一、SimpleLit下额外灯数量的获取1、在 SimpleLit 下#xff0c;先获取了额外灯的数量2、对其进行循环计算每一个额外灯3、GetAdditionalLightsCount在这里插入图片描述 二、GetAdditionalLightsCount实现了什么1、_AdditionalLightsCount.x2、unity_LightData.y… 文章目录 前言一、SimpleLit下额外灯数量的获取1、在 SimpleLit 下先获取了额外灯的数量2、对其进行循环计算每一个额外灯3、GetAdditionalLightsCount在这里插入图片描述 二、GetAdditionalLightsCount实现了什么1、_AdditionalLightsCount.x2、unity_LightData.y 前言
在上篇文章中我们了解了在URP下对额外灯的计算。主要分为两个部分逐像素光照 和 逐顶点光照。
Unity中URP下的 额外灯 逐像素光 和 逐顶点光
我们在这篇文章中了解一下怎么获取URP下额外灯的数量。 一、SimpleLit下额外灯数量的获取
1、在 SimpleLit 下先获取了额外灯的数量 2、对其进行循环计算每一个额外灯 3、GetAdditionalLightsCount 二、GetAdditionalLightsCount实现了什么
读了源码后可知 该函数最后返回结果最主要的是如下语句 int(min(_AdditionalLightsCount.x, unity_LightData.y)) 其中 _AdditionalLightsCount.x 和 unity_LightData.y 代表什么意思是我们迫切知道的
1、_AdditionalLightsCount.x
一个物体最大能接受的额外灯数量可以在URP设置的额外灯设置中调整数量多少 我们在片元着色器中返回该值调试看看 因为这里使用了类似ShaderToy的书写格式。所以无返回值而是使用inout定义了返回颜色我们对其赋值返回即可。 outColor _AdditionalLightsCount.x; return; 我们可以看见当我们把 一个物体最大所能接收额外灯的数量调节为0后Shader变黑了
2、unity_LightData.y 一个物体接收的额外灯数量 我们返回该值看看效果 outColor unity_LightData.y; return; 可以看出当我们物体受额外灯影响为0个时输出结果为黑色 我们返回该值减2。创建3个额外灯用于测试 outColor unity_LightData.y-2; return; 可以看出当我们物体只受两个额外灯影响时返回黑色 受3个额外灯影响时显示白色