docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class BaseBrushUIGroup

    Provides methods for altering brush data.

    Inheritance
    object
    BaseBrushUIGroup
    Implements
    IBrushUIGroup
    IBrushEventHandler
    IBrushTerrainCache
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: UnityEditor.TerrainTools
    Assembly: Unity.TerrainTools.Editor.dll
    Syntax
    public abstract class BaseBrushUIGroup : IBrushUIGroup, IBrushEventHandler, IBrushTerrainCache

    Constructors

    BaseBrushUIGroup(string, Func<IBrushParameter[]>)

    Initializes and returns an instance of BaseBrushUIGroup.

    Declaration
    protected BaseBrushUIGroup(string name, Func<TerrainToolsAnalytics.IBrushParameter[]> analyticsCall = null)
    Parameters
    Type Name Description
    string name

    The name of the brush.

    Func<TerrainToolsAnalytics.IBrushParameter[]> analyticsCall

    The brush's analytics function.

    Fields

    isRecording

    Checks if the brush strokes are being recorded.

    Declaration
    public static bool isRecording
    Field Value
    Type Description
    bool

    Properties

    InvertStrength

    Inverts the brush strength.

    Declaration
    public bool InvertStrength { get; }
    Property Value
    Type Description
    bool

    allowPaint

    Checks if painting is allowed.

    Declaration
    public virtual bool allowPaint { get; }
    Property Value
    Type Description
    bool

    brushMaskFilterStack

    Gets the brush mask's FilterStack.

    Declaration
    public FilterStack brushMaskFilterStack { get; }
    Property Value
    Type Description
    FilterStack

    brushMaskFilterStackView

    Gets the brush mask's FilterStackView.

    Declaration
    public FilterStackView brushMaskFilterStackView { get; }
    Property Value
    Type Description
    FilterStackView

    brushName

    Returns the brush name.

    Declaration
    public string brushName { get; }
    Property Value
    Type Description
    string

    brushRotation

    Gets and sets the brush rotation.

    Declaration
    public float brushRotation { get; set; }
    Property Value
    Type Description
    float
    Remarks

    Gets a value of 0 if the brush size controller isn't initialized.

    brushScatter

    Returns the brush scatter.

    Declaration
    public float brushScatter { get; }
    Property Value
    Type Description
    float
    Remarks

    Returns a value of 0 if the brush size controller isn't initialized.

    brushSize

    Gets and sets the brush size.

    Declaration
    public float brushSize { get; set; }
    Property Value
    Type Description
    float
    Remarks

    Gets a value of 100 if the brush size controller isn't initialized.

    brushSpacing

    Returns the brush spacing.

    Declaration
    public float brushSpacing { get; }
    Property Value
    Type Description
    float
    Remarks

    Returns a value of 0 if the brush size controller isn't initialized.

    brushStrength

    Gets and sets the brush strength.

    Declaration
    public float brushStrength { get; set; }
    Property Value
    Type Description
    float
    Remarks

    Gets a value of 1 if the brush size controller isn't initialized.

    canUpdateTerrainUnderCursor

    Checks if the cursor is currently locked and can not be updated.

    Declaration
    public bool canUpdateTerrainUnderCursor { get; }
    Property Value
    Type Description
    bool

    hasEnabledFilters

    Checks if Filters are enabled.

    Declaration
    public bool hasEnabledFilters { get; }
    Property Value
    Type Description
    bool

    isInUse

    Checks if the brush is in use.

    Declaration
    public bool isInUse { get; }
    Property Value
    Type Description
    bool

    isRaycastHitUnderCursorValid

    Gets and sets the value associated to whether there is a raycast hit detecting a terrain under the cursor.

    Declaration
    public bool isRaycastHitUnderCursorValid { get; }
    Property Value
    Type Description
    bool

    raycastHitUnderCursor

    Gets and sets the raycast hit that was under the cursor's position.

    Declaration
    public RaycastHit raycastHitUnderCursor { get; protected set; }
    Property Value
    Type Description
    RaycastHit

    terrainUnderCursor

    Gets and sets the terrain in focus.

    Declaration
    public Terrain terrainUnderCursor { get; protected set; }
    Property Value
    Type Description
    Terrain

    validationMessage

    Gets and sets the message for validating terrain parameters.

    Declaration
    public virtual string validationMessage { get; set; }
    Property Value
    Type Description
    string

    Methods

    AddController<TController>(TController)

    Adds a generic controller of type IBrushController to the brush's controller list.

    Declaration
    protected TController AddController<TController>(TController newController) where TController : IBrushController
    Parameters
    Type Name Description
    TController newController

    The new controller to add.

    Returns
    Type Description
    TController

    Returns the new generic controller.

    Type Parameters
    Name Description
    TController

    A generic controller type of IBrushController.

    AddModifierKeyController<TController>(TController)

    Adds a modifier key controller of type IBrushModifierKeyController to the brush's controller list.

    Declaration
    protected TController AddModifierKeyController<TController>(TController newController) where TController : IBrushModifierKeyController
    Parameters
    Type Name Description
    TController newController

    The new controller to add.

    Returns
    Type Description
    TController

    Returns the new modifier key controller.

    Type Parameters
    Name Description
    TController

    A generic controller type of IBrushModifierKeyController.

    AddRotationController<TController>(TController)

    Adds a rotation controller of type IBrushRotationController to the brush's controller list.

    Declaration
    protected TController AddRotationController<TController>(TController newController) where TController : IBrushRotationController
    Parameters
    Type Name Description
    TController newController

    The new controller to add.

    Returns
    Type Description
    TController

    Returns the new rotation controller.

    Type Parameters
    Name Description
    TController

    A generic controller type of IBrushRotationController.

    AddScatterController<TController>(TController)

    Adds a scatter controller of type IBrushScatterController to the brush's controller list.

    Declaration
    protected TController AddScatterController<TController>(TController newController) where TController : IBrushScatterController
    Parameters
    Type Name Description
    TController newController

    The new controller to add.

    Returns
    Type Description
    TController

    Returns the new scatter controller.

    Type Parameters
    Name Description
    TController

    A generic controller type of IBrushScatterController.

    AddSizeController<TController>(TController)

    Adds a size controller of type IBrushSizeController to the brush's controller list.

    Declaration
    protected TController AddSizeController<TController>(TController newController) where TController : IBrushSizeController
    Parameters
    Type Name Description
    TController newController

    The new controller to add.

    Returns
    Type Description
    TController

    Returns the new size controller.

    Type Parameters
    Name Description
    TController

    A generic controller type of IBrushSizeController.

    AddSmoothingController<TController>(TController)

    Adds a smoothing controller of type IBrushSmoothController to the brush's controller list.

    Declaration
    protected TController AddSmoothingController<TController>(TController newController) where TController : IBrushSmoothController
    Parameters
    Type Name Description
    TController newController

    The new controller to add.

    Returns
    Type Description
    TController

    Returns the new smoothing controller.

    Type Parameters
    Name Description
    TController

    A generic controller type of IBrushSmoothController.

    AddSpacingController<TController>(TController)

    Adds a spacing controller of type IBrushSpacingController to the brush's controller list.

    Declaration
    protected TController AddSpacingController<TController>(TController newController) where TController : IBrushSpacingController
    Parameters
    Type Name Description
    TController newController

    The new controller to add.

    Returns
    Type Description
    TController

    Returns the new spacing controller.

    Type Parameters
    Name Description
    TController

    A generic controller type of IBrushSpacingController.

    AddStrengthController<TController>(TController)

    Adds a strength controller of type IBrushStrengthController to the brush's controller list.

    Declaration
    protected TController AddStrengthController<TController>(TController newController) where TController : IBrushStrengthController
    Parameters
    Type Name Description
    TController newController

    The new controller to add.

    Returns
    Type Description
    TController

    Returns the new strength controller.

    Type Parameters
    Name Description
    TController

    A generic controller type of IBrushStrengthController.

    AppendBrushInfo(Terrain, IOnSceneGUI, StringBuilder)

    Adds basic information to the selected brush.

    Declaration
    public virtual void AppendBrushInfo(Terrain terrain, IOnSceneGUI editContext, StringBuilder builder)
    Parameters
    Type Name Description
    Terrain terrain

    The Terrain in focus.

    IOnSceneGUI editContext

    The IOnSceneGUI to reference.

    StringBuilder builder

    The StringBuilder containing the brush information.

    ConsumeEvents(Terrain, IOnSceneGUI)

    Calls the Use function of the registered events.

    Declaration
    public void ConsumeEvents(Terrain terrain, IOnSceneGUI editContext)
    Parameters
    Type Name Description
    Terrain terrain

    The terrain in focus.

    IOnSceneGUI editContext

    The editcontext to repaint.

    See Also
    RegisterEvent(Event)

    GenerateBrushMask(RenderTexture, RenderTexture)

    Generates the brush mask.

    Declaration
    public void GenerateBrushMask(RenderTexture sourceRenderTexture, RenderTexture destinationRenderTexture)
    Parameters
    Type Name Description
    RenderTexture sourceRenderTexture

    The source render texture to blit from.

    RenderTexture destinationRenderTexture

    The destination render texture for bliting to.

    See Also
    GenerateBrushMask(Terrain, RenderTexture, RenderTexture, Vector3, float, float)

    GenerateBrushMask(Terrain, RenderTexture, RenderTexture)

    Generates the brush mask.

    Declaration
    public void GenerateBrushMask(Terrain terrain, RenderTexture sourceRenderTexture, RenderTexture destinationRenderTexture)
    Parameters
    Type Name Description
    Terrain terrain

    The terrain in focus.

    RenderTexture sourceRenderTexture

    The source render texture to blit from.

    RenderTexture destinationRenderTexture

    The destination render texture for bliting to.

    See Also
    GenerateBrushMask(Terrain, RenderTexture, RenderTexture, Vector3, float, float)

    GenerateBrushMask(Terrain, RenderTexture, RenderTexture, Vector3, float, float)

    Generates the brush mask.

    Declaration
    public void GenerateBrushMask(Terrain terrain, RenderTexture sourceRenderTexture, RenderTexture destinationRenderTexture, Vector3 position, float scale, float rotation)
    Parameters
    Type Name Description
    Terrain terrain

    The terrain in focus.

    RenderTexture sourceRenderTexture

    The source render texture to blit from.

    RenderTexture destinationRenderTexture

    The destination render texture for bliting to.

    Vector3 position

    The brush's position.

    float scale

    The brush's scale.

    float rotation

    The brush's rotation.

    LockTerrainUnderCursor(bool)

    Handles the locking of the terrain cursor in it's current position.

    Declaration
    public void LockTerrainUnderCursor(bool cursorVisible)
    Parameters
    Type Name Description
    bool cursorVisible

    Whether the cursor is visible within the scene. When the value is true the cursor is visible.

    Remarks

    This method is commonly used when utilizing shortcuts.

    See Also
    UnlockTerrainUnderCursor()

    ModifierActive(BrushModifierKey)

    Activates a modifier key controller.

    Declaration
    public bool ModifierActive(BrushModifierKey k)
    Parameters
    Type Name Description
    BrushModifierKey k

    The modifier key to activate.

    Returns
    Type Description
    bool

    Returns false when the modifier key controller is null.

    OnEnterToolMode()

    Defines data when the brush is selected.

    Declaration
    public virtual void OnEnterToolMode()
    See Also
    OnExitToolMode()

    OnExitToolMode()

    Defines data when the brush is deselected.

    Declaration
    public virtual void OnExitToolMode()
    See Also
    OnEnterToolMode()

    OnInspectorGUI(Terrain, IOnInspectorGUI, BrushGUIEditFlags)

    Renders the brush's GUI within the inspector view.

    Declaration
    public virtual void OnInspectorGUI(Terrain terrain, IOnInspectorGUI editContext, BrushGUIEditFlags brushFlags = BrushGUIEditFlags.SelectAndInspect)
    Parameters
    Type Name Description
    Terrain terrain

    The terrain in focus.

    IOnInspectorGUI editContext

    The editcontext used to show the brush GUI.

    BrushGUIEditFlags brushFlags

    The brushflags to use when displaying the brush GUI.

    OnPaint(Terrain, IOnPaint)

    Triggers events when painting on a terrain.

    Declaration
    public virtual void OnPaint(Terrain terrain, IOnPaint editContext)
    Parameters
    Type Name Description
    Terrain terrain

    The terrain in focus.

    IOnPaint editContext

    The editcontext to reference.

    OnSceneGUI(Terrain, IOnSceneGUI)

    Triggers events to render objects and displays within Scene view.

    Declaration
    public virtual void OnSceneGUI(Terrain terrain, IOnSceneGUI editContext)
    Parameters
    Type Name Description
    Terrain terrain

    The terrain in focus.

    IOnSceneGUI editContext

    The editcontext to reference.

    See Also
    OnSceneGUI(Terrain, IOnSceneGUI)

    OnSceneGUI2D(Terrain, IOnSceneGUI)

    Triggers events to render a 2D GUI within the Scene view.

    Declaration
    public virtual void OnSceneGUI2D(Terrain terrain, IOnSceneGUI editContext)
    Parameters
    Type Name Description
    Terrain terrain

    The terrain in focus.

    IOnSceneGUI editContext

    The editcontext to reference.

    See Also
    OnSceneGUI(Terrain, IOnSceneGUI)

    RegisterEvent(Event)

    Registers a new event to be used witin OnSceneGUI(Terrain, IOnSceneGUI).

    Declaration
    public void RegisterEvent(Event newEvent)
    Parameters
    Type Name Description
    Event newEvent

    The event to add.

    RequestRepaint()

    Sets the repaint request to true.

    Declaration
    public void RequestRepaint()

    ScatterBrushStamp(ref Terrain, ref Vector2)

    Scatters the location of the brush's stamp operation.

    Declaration
    public bool ScatterBrushStamp(ref Terrain terrain, ref Vector2 uv)
    Parameters
    Type Name Description
    Terrain terrain

    The terrain in reference.

    Vector2 uv

    The UV location to scatter at.

    Returns
    Type Description
    bool

    Returns false if there aren't any terrains to scatter the stamp on.

    UnlockTerrainUnderCursor()

    Handles unlocking of the terrain cursor.

    Declaration
    public void UnlockTerrainUnderCursor()
    See Also
    LockTerrainUnderCursor(bool)

    Implements

    IBrushUIGroup
    IBrushEventHandler
    IBrushTerrainCache
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)