Unity 6.3
0 онлайн 60 гостей 3 в системе
Вход

TerrainChangedFlags

перечисление

Описание

Укажите типы изменений рельефа в обратном вызове 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.

Свойства

Свойство Описание
HeightmapУказывает на изменение данных heightmap.
TreeInstancesУказывает на изменение данных дерева.
DelayedHeightmapUpdateУказывает на изменение данных heightmap без расчета LOD.
FlushEverythingImmediatelyУказывает, что в ландшафте произошло настолько значимое изменение, что внутренние данные рендеринга нужно сбросить и создать заново.
RemoveDirtyDetailsImmediatelyУказывает на изменение в подробных данных.
HeightmapResolutionУказывает на изменение разрешения высотной карты.
HolesУказывает на изменение данных о отверстиях в местности.
DelayedHolesUpdateУказывает на изменение данных о отверстиях в местности, которые не включают расчеты LOD и обновления деревьев/растительности.
WillBeDestroyedПоказывает, что объект TerrainData вскоре будет уничтожен.