Version: 2018.2

TerrainChangedFlags

enumeration

Switch to Manual

Description

Indicate the types of changes to the terrain in OnTerrainChanged callback.

Use bitwise AND to detect multiple changes.

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"); } } }

The above example shows how you can detect terrain changes by using OnTerrainChanged callback and TerrainChangedFlags enum.

Variables

HeightmapIndicates a change to the heightmap data.
TreeInstancesIndicates a change to the tree data.
DelayedHeightmapUpdateIndicates a change to the heightmap data without computing LOD.
FlushEverythingImmediatelyIndicates that a change was made to the terrain that was so significant that the internal rendering data need to be flushed and recreated.
RemoveDirtyDetailsImmediatelyIndicates a change to the detail data.
WillBeDestroyedIndicates that the TerrainData object is about to be destroyed.
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961