[引擎]之五:CubeMesh的材质设置
前面自定义的CubeMesh中,设置顶点的uv坐标为0或1。
而贴图只需要左上角一部分,如图所示,只需要红框框住的部分:
Unity的材质设置中,有两个可以调节的参数:Tiling和Offset:
Tiling的意思,和《3D游戏编程大师技巧》(下册p632,9.6 基本纹理采样理论)中的纹理采样的意思联系到一起,x表示水平方向上的采样比例,y表示垂直方向上的采样比例。
书中:
采样比例=纹理图高度 / 目标多边形的高度
因此,x=1表示采样比例为1。
现在,需要水平方向上1/4的图素,因此,需要的采样比例为0.25。将x设置为0.25,结果如图所示:
同样,y方向上,也是需要1/4的图素,因此也设置为0.25:
变黑了。是因为采样结果为左下角的1/4方格:
这个时候,就需要动offset了。顾名思义,offset的意思就是采样的起始点的偏移。
x方向上,不需要偏移,y方向上,偏移0.75就可以了
因此,设置完材质的最终结果为:
想要得到第二个方格或者第三个方格,只需要设置x的偏移值即可。例如,下图是x偏移0.5的结果,得到了绿草方格:
将此材质设置给cubeMesh,结果为:
修改材质是一种方式。另外,下一篇将通过修改uv坐标来实现同样的效果。
总结:
主要是理解Unity材质中Tiling和offset的意思:
- Tiling 采样比例
- Offset 采样起始位置的偏移
以上。