| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity学习笔记(二) -> 正文阅读 |
|
[游戏开发]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 定义成一维标量了,而后面的为一个一维标量与一个三维矢量,导致颜色输出存在问题 。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/28 12:08:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |