Version: 6000.3
语言: 中文
创建网格
通过脚本创建四边形网格体

通过网格 API 访问网格

网格Unity 的主要图形原语。网格体构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 曲面必须转换为多边形。更多信息
请参阅术语表
类是对象网格几何体的基本脚本接口。它使用数组来表示三角形、顶点位置、法线和纹理坐标,还提供了许多其他有用的属性和函数来帮助网格生成。

访问对象的网格体

网格数据使用网格体过滤器(Mesh Filter一种网格体组件,用于从资产中获取网格体并将其传递给网格体渲染器(Mesh Renderer) 以在屏幕上渲染。更多信息
请参阅术语表
组件(并且对象还需要一个 MeshRenderer 来使几何体可见)。使用熟悉的 GetComponent 函数访问此组件:

using UnityEngine;
public class ExampleScript : MonoBehaviour
{
    MeshFilter mf;
    void Start()
    {
        //if this gameObject has a MeshFilter, mf will reference the component
        mf = GetComponent<MeshFilter>();    
    }
}

添加网格数据

网格对象具有顶点及其关联数据(法线和UV坐标)以及三角形数据的属性。顶点可以按任何顺序提供,但法线和 UV 的数组必须有序,以便索引都与顶点相对应(即,法线数组的元素 0 提供顶点 0 的法线,等等)。顶点是表示对象局部空间中的点的 Vector3。法线是表示方向的归一化 Vector3,同样在局部坐标中。UV被指定为Vector2,但由于Vector2类型没有名为U和V的字段,因此你必须在心理上分别将它们转换为X和Y。

三角形被指定为整数的三元组,充当顶点数组的索引。数组不是使用特殊类来表示三角形,而只是一个简单的整数索引列表。每个三角形以三个为一组取这些元素,因此前三个元素定义第一个三角形,接下来的三个元素定义第二个三角形,依此类推。三角形的一个重要细节是角顶点的顺序。它们的排列方式应该使角顺时针旋转,当您俯视三角形的可见外表面时,尽管您从哪个角开始并不重要。

处理原始网格数据

Mesh 类还具有较低级别的高级 API 这使你能够处理原始网格体顶点和索引缓冲区数据。这在需要最大性能或最低内存分配量的情况下非常有用。

其他资源

创建网格
通过脚本创建四边形网格体