MeshUpdateFlags.DontNotifyMeshUsers

切换到手册

描述

指示在修改网格数据时,Unity 不应向 Renderer 组件通知可能的 Mesh 边界更改。

修改可能会影响网格几何体的网格数据时,Unity 的默认行为是向所有 Renderer 组件通知使用 此网格,以便它们可以基于新数据执行重新计算,这些重新计算通常是期望的。例如,MeshRenderer 组件会重新计算其包围盒,ShapeModule 会重新构建用于网格表面发射的内部数据。

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

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

可以将此标志用于以下“高级”网格 API: Mesh.SetVertexBufferDataMesh.SetIndexBufferDataMesh.SetSubMesh

有关从脚本向网格分配数据的较简单方法与较高级方法之间差异的信息,请参阅 Mesh 页面上的说明。