版本: Unity 6 (6000.0)
语言英语
  • C#

Mesh.GetUVs

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们会阅读用户提出的每个修改建议,并在适用时进行更新。

关闭

提交失败

由于某种原因,您的修改建议无法提交。请 <a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public void GetUVs(int channel, List<Vector2> uvs);

声明

public void GetUVs(int channel, List<Vector3> uvs);

声明

public void GetUVs(int channel, List<Vector4> uvs);

参数

channel UV 通道,范围在 [0..7] 之内。
uvs 用于填充 UV 的列表。

描述

获取存储在给定通道中的纹理坐标 (UV)。

获取 UV 作为 Vector2Vector3Vector4 列表。二维 (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 方便使用,而且它们还会导致堆分配。

其他资源:uvSetUVsAcquireReadOnlyMeshData