channel | UV 通道,范围在 [0..7] 之内。 |
uvs | 用于填充 UV 的列表。 |
获取存储在给定通道中的纹理坐标 (UV)。
获取 UV 作为 Vector2、Vector3 或 Vector4 列表。二维 (Vector2) 数据是最常见的用例,但有时会使用三维或四维数据来实现特殊的着色器效果。
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 的 UV 数据,使用 uv2 访问 UV1 的 UV 数据,使用 uv3 访问 UV2 的 UV 数据,依此类推,直到 uv8。但是,不建议使用这种旧方法;这些属性不如此函数和 SetUVs 方便使用,而且它们还会导致堆分配。
其他资源:uv、SetUVs、AcquireReadOnlyMeshData。