本系列主要参考《Unity Shaders and Effects Cookbook》一书(感谢原书作者),同时会加上一点个人理解或拓展。
这里是本书所有的插图。这里是本书所需的代码和资源(当然你也可以从官网下载)。
========================================== 分割线 ==========================================
写在前面
由于精力有限,看了下目录,决定还是先看平时用得上的内容。所以以后可能有的章节就不会写笔记了。
介绍
反射,是决定你的Shaders看起来是否逼真的一个非常重要的关键点。它的原理主要是根据物体周围的场景,让Shader反射这个世界的场景信息来模拟地面的反射现象。
在这个部分中,我们将接触一个新的texture种类——Cubemap。这种类型的texture是由六张textures构成,这六张textures将互相包围形成一个正方体一样的形状。因此,想象一下正方体,它的每个面都是这六张中的其中一张texture。这样一个模型将会使我们可以捕捉周围的环境,然后把它烘焙(bake)到这些textures中。
我们将会学习如何根据周围环境生成自己的Cubemaps,而且我们还将学到多种不同的方法来使用这些生成的Cubemaps去创建反射的效果。
在这章中我们将会包含以下几个章节:
- 在Unity3D中创建Cubemaps
- Unity3D中简单的Cubemap反射
- Unity3D中的掩码反射(Masking Reflections)
- Unity3D中的法线贴图和反射
- Unity3D中的菲涅尔反射(Fresnel reflections)
- 在Unity3D中创建一个简单的动态Cubemap系统