Unity学习笔记(二)

        今天内容主要是将之前学过的所有的光照模型统一在一起,写出一个较完整的光照模型。

        在做本次作业中代码在检查时经常出错,这次的笔记就将在作业过程中的问题写出来做一次收集整理。

一、属性

        在这一块中,由于所需要的参数增多,所以引用:[Header(  )] 来进行面板的分割,使所见的面板更为整洁。

二、参数声明

         在参数声明中也将不同的参数声明用属性中的面板名称分隔,以便更清晰明了,寻找时也更为方便。

三、输入、输出结构与顶点Shader

         在这个块中,数据传输的方向是 输入——顶点Shader——输出,应该注意数据传输的方向,对应的数据需要向上一个结构去拿,而不是从上到下。例如 输出结构的 pos 就是 顶点Shader中的,而不是在输入结构拿取。

        在这个步骤中不需要将所有的数据一次性都齐全,可以在过程中不断添加,跟着 像素Shader的需求而增加。

四、像素Shader

         像素Shader较为繁杂,前面的结构都为此服务,如果需要什么数据,需要让前面的结构替它处理后拿进来进行运算。写像素Shader也需要进行分类分步奏的计算,使Shader更为简洁富有逻辑。

五、写代码时范的错误

        在写投影(shadow)时需要在输出结构中增加如上图的坐标和对应的包含文件:

                                                    #include "AutoLight.cginc"

                                                    #include "Lighting.cginc"

        2.

              法线贴图映射后需要解码:UnpackNormal

        3.

              Cube 的坐标需要为4维向量。

        4. 

                Larmbert 定义成一维标量了,而后面的为一个一维标量与一个三维矢量,导致颜色输出存在问题 。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值