channel | 在 [0..7] 范围内的通道。 |
uvs | 要设置的 UV 数据。 |
设置某个给定通道中存储的纹理坐标(UV)。
将 UV 设置为 Vector2、Vector3 或 Vector4 的列表。2 维(Vector2)数据是最常见的用例,但有时会使用 3 维或 4 维用于特殊着色器效果。
Unity 以 0-1 空间存储 UV。 [0,0] 表示纹理的左下角,而 [1,1] 表示右上角。不会对值进行限定;根据需要,可以使用低于 0 和高于 1 的值。channel
值 0 对应于通常称为“UV0”的通道,并映射到着色器语义 `TEXCOORD0`。channel
值 1 返回通常称为“UV1”的通道,并映射到着色器语义 `TEXCOORD1`。这将持续到并且包括 channel
值 7。
默认情况下,Unity 将第一个通道(UV0)用于存储漫射贴图和镜面贴图等常规纹理的 UV。Unity 可以使用第二个通道(UV1)来存储烘焙光照贴图 UV,并使用第三个通道(UV2)来存储用于实时光照贴图 UV 的输入数据。有关光照贴图 UV 的详细信息以及 Unity 如何使用这些通道,请参见光照贴图 UV。
注意:还可以使用 uv(UV0)、uv2(UV1)、uv3(UV2),一直到 uv8 访问 UV 数据。但是,此旧方法不建议使用;与该函数和 GetUVs 相比,这些属性的用户友好性较差,而且还会造成堆分配。
其他资源:GetUVs。
channel | UV 通道,范围为 [0..7]。 |
uvs | 要为给定索引设置的 UV。 |
start | 从输入数组中获取的第一个元素的索引。 |
length | 从输入数组中获取的元素数量。 |
flags | 控制函数行为的标志,请参阅 MeshUpdateFlags。 |
使用 input 数组的一部分设置 Mesh 的 UV。
此方法如同您使用一个数组(该数组是整个数组的片断,从 start
索引开始,长度为给定的 length
)调用 SetUVs。生成 Mesh 具有 length
数量的顶点。