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

TerrainPaintTool<T0>

класс в UnityEditor.TerrainTools

Наследуется от:ScriptableSingleton_1

Описание

Base class for terrain painting tools.

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

using UnityEngine;
using UnityEditor;
using UnityEngine.TerrainTools;

namespace UnityEditor.TerrainTools { public class MyPaintHeightTool : TerrainPaintTool<MyPaintHeightTool> { 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 GetDescription() { return "Left click to raise.\n\nHold shift and left click to lower."; }

public override void OnRenderBrushPreview(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)TerrainBuiltinPaintMaterialPasses.RaiseLowerHeight);

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

Открытые методы

Метод Описание
GetDescriptionПолучает описание настраиваемого инструмента рельефа.
GetNameПолучает имя настраиваемого инструмента рельефа.
OnDisableВызывается при уничтожении инструмента.
OnEnableВызывается при создании инструмента.
OnEnterToolModeВызывается при активации инструмента.
OnExitToolModeВызывается, когда инструмент становится неактивным.
OnInspectorGUIНастраиваемый инструмент рельефа OnInspectorGUI.
OnPaintНастраиваемый обратный вызов инструмента для рисования местности.
OnRenderBrushPreviewИспользуйте этот метод для реализации предварительного просмотра настраиваемого инструмента и поведения UI, которое будет отображаться только когда мышка находится в пределах SceneView или когда вы активно используете этот инструмент.
OnSceneGUIНастраиваемый инструмент рельефа OnSceneGUI.
Унаследованные члены 7

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

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

Свойства

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

Открытые методы

МетодОписание
GetInstanceIDПолучает экземпляр ID объекта.
ToStringВозвращает имя объекта.

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

МетодОписание
SaveСохраняет текущее состояние из ScriptableSingleton.

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

МетодОписание
DestroyУдаляет GameObject, компонент или ресурс.
DestroyImmediateНемедленно уничтожает указанный объект. Используйте с осторожностью и только в режиме редактирования.
DontDestroyOnLoadНе уничтожать целевой Объект при загрузке нового Scene.
FindAnyObjectByTypeПолучает любой активный загруженный объект типа Type.
FindFirstObjectByTypeПолучает первый активный загруженный объект типа Type.
FindObjectsByTypeПолучает список всех загруженных объектов типа Type.
InstantiateКлонирует исходный объект и возвращает клон.
InstantiateAsyncЗахватывает моментальный снимок первоначального объекта (который должен быть связан с каким-либо GameObject) и возвращает AsyncInstantiateOperation.
CreateInstanceСоздает экземпляр скриптового объекта.
GetFilePathПолучить путь к файлу, в котором сохранен этот ScriptableSingleton.

Операторы

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

Сообщения

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