Version: 2022.1
public static void Optimize (Mesh mesh);

描述

优化网格数据以提高渲染性能。

此函数使网格的几何体和顶点在内部重新排序,以便尝试提高图形硬件的顶点缓存利用率,从而提高渲染性能。此操作可能花费数秒或更多时间(对于复杂网格),只应在几何体和顶点的顺序不重要的情况下使用,因为这两者都会改变。

只应对在代码中以程序化方法生成的网格使用此函数,对于常规网格资源,当在网格导入器设置中启用 Optimize Mesh 时,导入管线会自动调用此函数。

此函数相当于对网格调用 Mesh.OptimizeMesh.OptimizeIndexBuffers 之后再调用 Mesh.OptimizeReorderVertexBuffer

using UnityEngine;
using UnityEditor;

public class Example : MonoBehaviour { void Start() { Mesh mesh = gameObject.GetComponent<MeshFilter>().mesh; MeshUtility.Optimize(mesh); } }