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

MeshUtility.Optimize

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。尽管我们无法接受所有提交,但我们确实会阅读用户建议的每次更改并根据需要进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请在几分钟后<a>重试</a>。感谢您花时间帮助我们提高 Unity 文档的质量。

关闭

取消

说明

public static void Optimize(Mesh 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); } }