问题
- 我想让自己的地形工具可以运行的很快,达到可以实时交互的水平。
原因
您自制了一些地形制作工具,但是每次对地形应用更改的时候性能大大降低以至于不能正常使用。
解决方案
在自制地形制作工具时,TerrainData.SetHeights通常会慢一些。这是因为每次呼叫这个函数时所有的地形LOD都会被重新计算。
在5.2.0a3修复版本中我们加入了SetHeightsDelayedLOD的API用以改善因TerrainData.SetHeights计算LOD造成的缓慢速度。
在这个修复版本里,Unity编辑器使用以下这两个函数:
- SetHeightDelayedLOD()
- ApplyDelayedHeightmapModification()
如果使用SetHeightDelayedLOD(),在编辑地形时LOD计算将会被推迟或跳过。当鼠标按键松开时计算就会被触发。
在交互编辑的时候,我们推荐在用户在编辑的时候呼叫 TerrainData.SetHeightsDelayLOD,然后完成编辑的时候呼叫 Terrain.ApplyDelayedHeightmapModification。
更多信息
更多关于TerrainData.SetHeights的信息请阅读这个 文档。
点击 这里 下载包含SetHeightsDelayedLOD API的修复版本。