指示在 OnTerrainChanged 回调中对地形进行的更改类型。
使用按位 AND 来检测多项更改。
using UnityEngine;
[ExecuteInEditMode] public class DetectTerrainChanges : MonoBehaviour { void OnTerrainChanged(TerrainChangedFlags flags) { if ((flags & TerrainChangedFlags.Heightmap) != 0) { Debug.Log("Heightmap changes"); }
if ((flags & TerrainChangedFlags.DelayedHeightmapUpdate) != 0) { Debug.Log("Heightmap painting"); }
if ((flags & TerrainChangedFlags.TreeInstances) != 0) { Debug.Log("Tree changes"); } } }
以上示例展示了如何使用 OnTerrainChanged 回调和 TerrainChangedFlags 枚举检测地形更改。