前面的基础纹理包括法线纹理、渐变纹理和遮罩纹理等。这些纹理都属于低纬(一维或二维)纹理。
立方体纹理(Cubemap)实现环境映射
渲染纹理(Render Texture)
程序纹理(Procedure Texture)
一、立方体纹理
立方体纹理(Cubemap)是环境映射的一种实现方法。
环境映射可以模拟物体周围的环境,而使用了环境映射的物体可以看起来像镀了一层金属一样反射出周围的环境
立方体纹理:
一共包含6张图像,这些图像应对了一个立方体的6个面
立方体的每个面表示沿着世界空间下的轴向(上下左右前后)观察所得图像
如何对这种纹理采样?
- 提供一个三维纹理坐标,这个三维纹理坐标表示了我们在世界空间下的一个3D方向。
- 这个方向矢量从立方体的中心出发,当他向外部延申时就会和立方体的6个纹理之一发生相交
- 而采样得到的结果就是由该交点计算而来的
好处:
实现简单快速且得到的效果好。
缺点:
当场景中引入一个新物体、光源,或者物体发生移动时,就需要重新生成立方体纹理
立方体纹理也仅可以反射环境,但不能反射使用了该立方体纹理的物体本身、因为立方体不能模拟多次反射的结果
尽量对凸面体而不要对凹面体使用立方体纹理(凹面体会反射自身)
1.天空盒子
天空盒(Skybox):游戏中用于模拟背景的一种方法。用来模拟天空且时一个盒子。
在场景中使用天空盒,整个场景被包围在一个立方体内。立方体的每个面使用的技术就是立方体纹理映射技术
wrap Mode设置为Clamp
Tint Color:控制该材质的整体颜色
Exposure:调整天空盒亮度
Rotation:调整天空盒沿+y轴方向的选择角度
天空盒会应用于该场景中的所有摄像机,如果希望某些摄像机使用不同的天空盒,可以通过向该摄像机添加Skybox组件来覆盖掉之前的设置
Unity中,天空盒是在所有不透明物体渲染之后渲染的,而其背后使用的网格是一个立方体或者一个细分后的球体
2.创建用于环境映射的立方体纹理
环境映射:用于模拟出金属质感的材质