[引擎]之五:CubeMesh的材质设置

前面自定义的CubeMesh中,设置顶点的uv坐标为0或1。
而贴图只需要左上角一部分,如图所示,只需要红框框住的部分:
[引擎]之五:CubeMesh的材质设置_第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方格:

[引擎]之五:CubeMesh的材质设置_第2张图片

这个时候,就需要动offset了。顾名思义,offset的意思就是采样的起始点的偏移。
x方向上,不需要偏移,y方向上,偏移0.75就可以了

[引擎]之五:CubeMesh的材质设置_第3张图片

因此,设置完材质的最终结果为:

想要得到第二个方格或者第三个方格,只需要设置x的偏移值即可。例如,下图是x偏移0.5的结果,得到了绿草方格:

将此材质设置给cubeMesh,结果为:
[引擎]之五:CubeMesh的材质设置_第4张图片

修改材质是一种方式。另外,下一篇将通过修改uv坐标来实现同样的效果。

总结:
主要是理解Unity材质中Tiling和offset的意思:

  • Tiling 采样比例
  • Offset 采样起始位置的偏移

以上。

你可能感兴趣的:(Unity,材质,unity,引擎)