Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

TerrainPaintTool<T0>

класс в UnityEditor.Experimental.TerrainAPI / Наследует от: ScriptableSingleton_1

Экспериментальный: этот API является экспериментальным и может быть изменен или удален в будущем.

Описание

Базовый класс для инструментов рисования рельефа.

Наследуйте этому классу, чтобы реализовать свои собственные инструменты рисования ландшафта.

using UnityEngine; using UnityEditor; using UnityEngine.Experimental.TerrainAPI;

namespace UnityEditor.Experimental.TerrainAPI { public class MyPaintHeightTool : TerrainPaintTool { Material m_Material = null; Material GetPaintMaterial() { if (m_Material == null) m_Material = new Material(Shader.Find("Hidden/Terrain/PaintHeight")); return m_Material; }

public override string GetName() { return "My Paint Height Tool"; }

public override string GetDesc() { return "Left click to raise.\n\nHold shift and left click to lower."; }

public override void OnSceneGUI(Terrain terrain, IOnSceneGUI editContext) { TerrainPaintUtilityEditor.ShowDefaultPreviewBrush(terrain, editContext.brushTexture, editContext.brushSize); }

public override bool OnPaint(Terrain terrain, IOnPaint editContext) { Material mat = TerrainPaintUtility.GetBuiltinPaintMaterial();

float rotationDegrees = 0.0f; BrushTransform brushXform = TerrainPaintUtility.CalculateBrushTransform(terrain, editContext.uv, editContext.brushSize, rotationDegrees); PaintContext paintContext = TerrainPaintUtility.BeginPaintHeightmap(terrain, brushXform.GetBrushXYBounds());

// apply brush Vector4 brushParams = new Vector4(editContext.brushStrength * 0.01f, 0.0f, 0.0f, 0.0f); mat.SetTexture("_BrushTex", editContext.brushTexture); mat.SetVector("_BrushParams", brushParams); TerrainPaintUtility.SetupTerrainToolMaterialProperties(paintContext, brushXform, mat);

Graphics.Blit(paintContext.sourceRenderTexture, paintContext.destinationRenderTexture, mat, (int)TerrainPaintUtility.BuiltinPaintMaterialPasses.RaiseLowerHeight);

TerrainPaintUtility.EndPaintHeightmap(paintContext, "Terrain Paint - MyPaintHeightTool"); return false; } } }

Публичные Методы

GetDesc Получает описание пользовательского инструмента рельефа.
GetName Получает имя пользовательского инструмента рельефа.
OnDisable Вызывается при уничтожении инструмента.
OnEnable Вызывается при создании инструмента.
OnEnterToolMode Вызывается при активации инструмента.
OnExitToolMode Вызывается, когда инструмент становится неактивным.
OnInspectorGUI Обратный вызов OnInspectorGUI пользовательского инструмента ландшафта.
OnPaint Обратный вызов рисования пользовательского инструмента ландшафта.
OnSceneGUI Обратный вызов OnSceneGUI пользовательского инструмента ландшафта.

Унаследованные члены

Статические Свойства

instance Получает экземпляр Singleton. Unity создает экземпляр Singleton при первом доступе к этому свойству. Если вы используете FilePathAttribute, Unity также загружает данные при первом доступе..

Свойства

hideFlags Должен ли объект быть скрыт, сохранен вместе со сценой или изменен пользователем?
name Имя объекта.

Публичные Методы

GetInstanceID Возвращает идентификатор экземпляра объекта.
ToString Возвращает имя объекта.

Защищенные методы

Save Сохраняет текущее состояние ScriptableSingleton.

Статические Методы

Destroy Удаляет игровой объект, компонент или ресурс.
DestroyImmediate Немедленно уничтожает объект obj. Вместо этого вам настоятельно рекомендуется использовать Destroy.
DontDestroyOnLoad Не уничтожайте целевой объект при загрузке новой сцены.
FindObjectOfType Возвращает первый активный загруженный объект типа Type.
FindObjectsOfType Получает список всех загруженных объектов типа Type.
Instantiate Клонирует исходный объект и возвращает клон.
CreateInstance Создает экземпляр объекта, доступного для сценария.
GetFilePath Получить путь к файлу, в котором сохранен этот ScriptableSingleton.

Операторы

bool Существует ли объект?
оператор != Сравнивает, если два объекта ссылаются на другой объект.
оператор == Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект.

Сообщения

Awake Эта функция вызывается при запуске сценария ScriptableObject.
OnDestroy Эта функция вызывается, когда объект, доступный для сценария, будет уничтожен.
OnValidate Функция только для редактора, которую Unity вызывает при загрузке скрипта или изменении значения в Инспекторе.
Reset Восстановить значения по умолчанию.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3