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

TerrainData.DirtyHeightmapRegion

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每项建议,并在适用时进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public void DirtyHeightmapRegion(RectInt region, TerrainHeightmapSyncControl syncControl);

参数

region 要标记为脏的矩形区域。
syncControl 控制 CPU 同步的执行方式。

描述

将高度图的指定部分标记为脏。

仅在您手动更改高度图纹理的 GPU 部分(通过渲染到其中或使用 Graphics.CopyTexture)后使用此函数。使用 syncControl 参数来控制您希望 Unity 如何执行 CPU 同步。Unity 将排队读取未同步数据(高度数据、LOD 数据或两者)直到下次调用 SyncHeightmap

如果当前活动 RenderTexture 包含您的更改,并且您希望将其中的一部分复制到高度图纹理中,请改用 CopyActiveRenderTextureToHeightmap

如果您将 TerrainHeightmapSyncControl.HeightAndLod 传递给 syncControl 参数,则此函数将发出带有 TerrainChangedFlags.Heightmap 的 OnTerrainChanged 消息。如果您将 TerrainHeightmapSyncControl.Height 传递给 syncControl 参数,则它将发出带有 TerrainChangedFlags.DelayedHeightmapUpdate 的 OnTerrainChanged 消息。