《Unity Shader入门精要》笔记01 前言
——本系列是基于人民邮电出版社《Unity Shader入门精要》(冯乐乐著 )的自学Unity Shader笔记,如果您发现了本文的纰漏,还望不吝指正。
写在前边
本书旨在从基础开始,帮助读者逐渐了解并掌握如何编写Unity Shader。本书不仅仅是要教会读者“如何使用Unity Shader",更重要的是要帮助读者建立对渲染流程的基本认识,在此基础上,帮助读者学习Unity中的一些渲染机制以及如何使用Unity Shader实现各种自定义的渲染效果。
本书的重点在于如何让Shader和其他游戏开发元素(例如,模型、纹理、脚本等)相配合,实现游戏中常见的渲染效果,Shader可能远比你想象的要强大得多。 ——人民邮电出版社《Unity Shader入门精要》
1.《Unity Shader入门精要》相关传送门
传送门:原著作者冯乐乐站内 @妈妈说女孩子要自立自强
传送门:关于《Unity Shader入门精要》 【我的书】Unity Shader的书 — 目录(2016.5.19最后一次更新)
传送门:购买地址(推荐购买纸书+e读版电子书) 异步社区 Unity Shader入门精要
传送门:随书彩色插图 《Unity Shader入门精要》随书彩色插图
传送门:项目源码 《Unity Shader入门精要》源代码
2. 读这本书之前你需要哪些知识
- 有一定(或少量)的编程经验
- 对Unity引擎的操作界面比较熟悉
- 保持耐心,打好基础,要想彻底理解Shader,就必须了解整个渲染流水线的工作方式
- 有一定的数学基础,包括了解基本的代数运算(如结合律、交换律等)、三角运算(如正弦、余弦计算等)(第4章)
3. Meshes, Materials, Shaders and Textures
Unity中的渲染使用Meshes, Materials, Shaders and Textures。他们有密切的关系。
- Meshes(网格):Unity的主要图形基元。它们定义对象的形状。
- Materials(材质):定义了一个表面应该如何渲染,包括引用它使用的Textures,拼接信息,色彩等等。材质的可用选项取决于Material使用的Shader。
- Shaders(着色器):着色器是small scripts,包含了计算每个像素渲染颜色的数学计算和算法,根据光照输入和Material配置进行渲染。
- Textures(纹理):纹理是位图图像(bitmap images)。一个Material可以包含对多个Textures的引用,Material的Shader在计算游戏物体表面颜色时使用这些Textures。除了游戏对象表面的基本颜色(漫反射)外,Textures还可以表示更多的Material表面细节,例如其反射率或粗糙度。
一个Material(材质)只能使用一个Shader(着色器),一个Shader(着色器)指定一个或多个希望使用的Texture(纹理)
传送门:Unity手册: Meshes, Materials, Shaders and Textures