_VertexLit渲染路径_3_顶点照明和Unity存放光源的第二种方式

Posted heyuchang666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了_VertexLit渲染路径_3_顶点照明和Unity存放光源的第二种方式相关的知识,希望对你有一定的参考价值。

6.3顶点照明和Unity存放光源的第二种方式
6.3.1用于调试输出的材质
       打开场景,其编辑器中Game视口的截图如下所示。这个场景相比上一节检测unity_4LightPos[X,Y, Z]0时 的场景6.2精简了很多,右边只有一排4个输出信号的小球,这4个小球的材质在Labes 2/Shader文件夹下面, 也是非常简单的输出_WorldSpaceLightPos0这个四 元数的4个单个元素的信号材质,此外还有一个输出_LightColor0的材质_LightColor0.rgba.shader。

6.3.2设计用于检测的场景

    场景中有两个平行光,分别为淡粉色的Direction Light 1,  intensity=1.5,淡青色的DirectionLight 2,  intensity=1.2;有黄、绿、红、蓝4个点光源,4个点光源的世界坐标依然处在(0, 1)空间内。此外,这两个平行光,包括4个点光源的欧拉角都为(30, 300, 0)。之所以这么做,是因为这是一个非常优美的角度,之所以这么说,是因为它们的旋转矢量的3个元素xyz也处在(0,1)区间内,处在信号材质在屏幕上的(0,  1)颜色表达区间内。


6.3.3在Vertex Pass中的检测结果

    现在Build场景为独立可执行文件,如图6.5所示。我们可以任意地更改光源的属性,更改Camera的RenderingPath,但是结果都会显示_WorIdSpaceLightPos0中不包含数据。


    同样,如果你乐意,可以打开Lab 2chaos场景,就像刚刚检测unity 4LightPos[X,Y,Z]0 时一样,你会看到默认材质中最后一个Forward Pass执行过后的未清除的光源数据,如图6.6所示。 由此可见,_WorldSpaceLightPos0和_LightColor0中不包含为Vertex Pass准备的数据。

以上是关于_VertexLit渲染路径_3_顶点照明和Unity存放光源的第二种方式的主要内容,如果未能解决你的问题,请参考以下文章

_VertexLit渲染路径_2_顶点照明和Unity存放光源的第一种方式

Unity渲染路径 Rendering Paths_3_Vertex Lit 顶点光照

_3_ 单光贴图和Forward 渲染路径

untiy 3d ShaderLab_第8章_3_ 单光贴图和Forward 渲染路径

_第一个被执行的Pass_1_不同LightMode 被选择的顺序

Unity渲染路径 Rendering Paths_2_Forward Rendering 正向渲染