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

MeshUpdateFlags.DontNotifyMeshUsers

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交,但我们确实会阅读用户提出的每项建议更改,并对必要的内容进行更新。

关闭

提交失败

由于某些原因,您建议的更改无法提交。请稍等几分钟,<a>重试</a>。感谢您抽出宝贵时间,帮助我们提高 Unity 文档的质量。

关闭

取消

说明

当修改网格数据时,指示 Unity 不应将可能的 网格 边界更改通知给 渲染器 组件。

当修改可能影响网格几何形状的网格数据时,Unity 的默认行为是通知使用此网格的所有 渲染器 组件,以便他们可以根据新数据执行通常需要的重新计算。例如,网格渲染器 组件会重新计算其边界框,而 形状模块 会重建网格表面发射中所使用的内部数据。

在使用“高级”网格 API 时,如果您提供了 MeshUpdateFlags.DontNotifyMeshUsers 标志,则 Unity 将省略这些通知。当您知道很多网格修改操作在渲染器组件实际需要更新之前会发生时,这可能对性能有帮助。

因此,您必须确保稍后调用 Mesh.MarkModified,以通知相关的渲染器组件它们应该执行重新计算。

您可以将此标志与以下“高级”网格 API 一起使用:Mesh.SetVertexBufferDataMesh.SetIndexBufferDataMesh.SetSubMesh

有关从脚本向网格分配数据时较简单方法和更高级方法之间差别的信息,请参阅 网格 页面上的注释。