包含此页的版本:
不含此页的版本:
索引数组包含引用顶点位置数组中元素的整数。这些整数称为索引。
Unity 使用索引将顶点位置连接到面中。构成每个面的索引数量取决于meshUnity 的主要图形原语。网格体构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 曲面必须转换为多边形。更多信息
请参阅术语表.
在Mesh类,您可以使用 Mesh.GetIndices 获取此数据,并使用 Mesh.SetIndices 进行设置。Unity 还将此数据存储在 Mesh.triangles 中,但这个较旧的属性效率较低且用户友好。
注意:点拓扑不创建面;相反,Unity 在每个位置渲染一个点。所有其他网格拓扑都使用多个索引来创建面或边。
例如,对于具有包含以下值的索引数组的网格:
0,1,2,3,4,5
如果网格具有三角形拓扑,则前三个元素 (0,1,2) 标识一个三角形,后面三个元素 (3, 4, 5) 标识另一个三角形。顶点可以参与的面数没有限制。这意味着同一顶点可以多次出现在索引数组中。例如,索引数组可以包含以下值:
0,1,2,1,2,3
如果网格具有三角形拓扑,则前三个元素 (0,1,2) 标识一个三角形,后面三个元素 (1,2,3) 标识与第一个三角形共享顶点的另一个三角形。
索引数组中每个组中顶点的顺序称为卷曲顺序。Unity 使用卷曲顺序来确定面是正面还是背面,进而确定是应该渲染面还是剔除面(将其从渲染中排除)。默认情况下,Unity 渲染正面多边形并剔除背面多边形。Unity 使用顺时针绕边顺序,这意味着 Unity 将索引顺时针方向连接的任何面视为正面。
上图演示了 Unity 如何使用缠绕顺序。每个面中顶点的顺序决定了该面的法线方向,Unity 将其与当前的正向进行比较相机在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
请参阅术语表透视。 如果法线指向远离当前相机的正向,则它是朝后的。较近的三角形是有序的 (1, 2, 3),这是相对于当前透视的顺时针方向,因此三角形是朝前的。更远的三角形是有序的 (4, 5, 6),从这个角度来看,这是一个逆时针方向,所以三角形是朝后的。