|  Automated: create new component page |  →Sync Delegates:  update | ||
| (5 intermediate revisions by 2 users not shown) | |||
| Line 3: | Line 3: | ||
| |Name=Quad Brush Tool | |Name=Quad Brush Tool | ||
| }} | }} | ||
| The '''QuadBrushTool''' component is a tool used to draw clouds of rotated quads. | |||
| ==  | == Fields == | ||
| {{Table ComponentFields | {{Table ComponentFields | ||
| |_equipLink|{{RootFieldType|LinkTarget`1|[[Type:ITool|ITool]]}}|TypeAdv0=true| | |_equipLink|{{RootFieldType|LinkTarget`1|[[Type:ITool|ITool]]}}|TypeAdv0=true| {{Template:ITool _equipLink}} | ||
| |TipReference|Slot| | |TipReference|Slot| {{Template:ITool TipReference}} | ||
| |BlockGripEquip|Bool| | |BlockGripEquip|Bool| {{Template:ITool BlockGripEquip}} | ||
| |BlockRemoteEquip|Bool| | |BlockRemoteEquip|Bool| {{Template:ITool BlockRemoteEquip}} | ||
| |EquipName|String| | |EquipName|String| {{Template:ITool EquipName}} | ||
| |_overrideActiveTool|'''[[Component:InteractionHandler|InteractionHandler]]'''|TypeAdv5=true| | |_overrideActiveTool|'''[[Component:InteractionHandler|InteractionHandler]]'''|TypeAdv5=true| {{Template:ITool _overrideActiveTool}} | ||
| |_gripPosesGenerated|Bool| | |_gripPosesGenerated|Bool| {{Template:ITool _gripPosesGenerated}} | ||
| |FixedMinimumPointDistance|Float| | |FixedMinimumPointDistance|Float| {{Template:Brush_FixedMinimumPointDistance}} | ||
| |PositionSmoothing|Float| | |PositionSmoothing|Float| {{Template:Brush_PositionSmoothing}} | ||
| |RotationSmoothing|Float| | |RotationSmoothing|Float| {{Template:Brush_RotationSmoothing}} | ||
| |PressureSmoothing|Float| | |PressureSmoothing|Float| {{Template:Brush_PressureSmoothing}} | ||
| |MaxStrokeLength|Float| | |MaxStrokeLength|Float| {{Template:Brush_MaxStrokeLength}} | ||
| |StrokeFadeInLength|Float| | |StrokeFadeInLength|Float| {{Template:Brush_StrokeFadeInLength}} | ||
| |StrokeFadeOutLength|Float| | |StrokeFadeOutLength|Float| {{Template:Brush_StrokeFadeOutLength}} | ||
| |StrokeGroupFinishWaitTime|Float| | |StrokeGroupFinishWaitTime|Float|{{Template:Brush_StrokeGroupFinishWaitTime}} | ||
| |ActivationThreshold|Float| | |ActivationThreshold|Float| {{Template:Brush_ActivationThreshold}} | ||
| |DeactivationThresholdRatio|Float| | |DeactivationThresholdRatio|Float| {{Template:Brush_DeactivationThresholdRatio}} | ||
| |MenuSizeChange|Float| | |MenuSizeChange|Float|{{Template:Brush_MenuSizeChange}} | ||
| |SnapTip|Bool| | |SnapTip|Bool| {{Template:Brush_SnapTip}} | ||
| |SnapLine|Bool| | |SnapLine|Bool| {{Template:Brush_SnapLine}} | ||
| |StrokesSpace|{{RootFieldType|RootSpace}}|TypeAdv20=true| | |StrokesSpace|{{RootFieldType|RootSpace}}|TypeAdv20=true| {{Template:Brush_StrokesSpace}} | ||
| |MakeStrokesGrabbable|Bool| | |MakeStrokesGrabbable|Bool| {{Template:Brush_MakeStrokesGrabbable}} | ||
| |PositionStrokesToTip|Bool| | |PositionStrokesToTip|Bool| {{Template:Brush_PositionStrokesToTip}} | ||
| |OrientStrokesToTip|Bool| | |OrientStrokesToTip|Bool| {{Template:Brush_OrientStrokesToTip}} | ||
| |ScaleStrokesToUser|Bool| | |ScaleStrokesToUser|Bool| {{Template:Brush_ScaleStrokesToUser}} | ||
| |PickMaterials|Bool| | |PickMaterials|Bool| {{Template:Brush_PickMaterials}} | ||
| |PickColors|Bool| | |PickColors|Bool| {{Template:Brush_PickColors}} | ||
| |CurrentMaterial|{{RootFieldType|AssetRef`1|[[Type:Material|Material]]}}|TypeAdv27=true| | |CurrentMaterial|{{RootFieldType|AssetRef`1|[[Type:Material|Material]]}}|TypeAdv27=true| {{Template:Brush_CurrentMaterial}} | ||
| |ColorMappings|{{RootFieldType|SyncList`1|[[Type:ColorMapping|ColorMapping]]}}|TypeAdv28=true| | |ColorMappings|{{RootFieldType|SyncList`1|[[Type:ColorMapping|ColorMapping]]}}|TypeAdv28=true| {{Template:Brush_ColorMappings}} | ||
| |_colorPicker|{{RootFieldType|SlotCleanupRef`1|[[Component:ColorDialogInterface|ColorDialogInterface]]}}| | |ParticleSystem|'''[[Component:ParticleSystem|ParticleSystem]]'''|TypeAdv29=true| {{Template:Brush_ParticleSystem}} | ||
| |_pickedColor|ColorX| | |MeshEmitterTemplate|'''[[Component:MeshEmitter|MeshEmitter]]'''|TypeAdv30=true| {{Template:Brush_MeshEmitterTemplate}} | ||
| |_hideOnStroke|{{RootFieldType|SyncRefList`1|[[Type:Slot|Slot]]}}| | |ParticleTemplateHandling|TemplateHandling| {{Template:Brush_ParticleTemplateHandling}} | ||
| |_lastUsedMaterial|{{RootFieldType|AssetRef`1|[[Type:Material|Material]]}}| | |EmissionRatePerUnitLength|'''[[Type:Nullable`1|Nullable`1]]<[[Type:Float|Float]]>'''|TypeAdv32=true| {{Template:Brush_EmissionRatePerUnitLength}} | ||
| |_lastCreatedMaterial|{{RootFieldType|AssetRef`1|[[Type:Material|Material]]}}| | |_colorPicker|{{RootFieldType|SlotCleanupRef`1|[[Component:ColorDialogInterface|ColorDialogInterface]]}}|TypeAdv33=true| {{Template:Brush__colorPicker}} | ||
| |Pressure|{{RootFieldType|RawOutput`1|[[Type:Float|Float]]}}| | |_pickedColor|ColorX| {{Template:Brush__pickedColor}} | ||
| |Position|{{RootFieldType|RawOutput`1|[[Type:Float3|Float3]]}}| | |_hideOnStroke|{{RootFieldType|SyncRefList`1|[[Type:Slot|Slot]]}}|TypeAdv35=true| {{Template:Brush__hideOnStroke}} | ||
| |Rotation|{{RootFieldType|RawOutput`1|[[Type:FloatQ|FloatQ]]}}| | |_lastUsedMaterial|{{RootFieldType|AssetRef`1|[[Type:Material|Material]]}}|TypeAdv36=true| {{Template:Brush__lastUsedMaterial}} | ||
| |LastPointDelta|{{RootFieldType|RawOutput`1|[[Type:Float3|Float3]]}}| | |_lastCreatedMaterial|{{RootFieldType|AssetRef`1|[[Type:Material|Material]]}}|TypeAdv37=true| {{Template:Brush__lastCreatedMaterial}} | ||
| |Velocity|{{RootFieldType|RawOutput`1|[[Type:Float3|Float3]]}}| | |Pressure|{{RootFieldType|RawOutput`1|[[Type:Float|Float]]}}|TypeAdv38=true| {{Template:Brush_Pressure}} | ||
| |RawDelta|{{RootFieldType|RawOutput`1|[[Type:Float3|Float3]]}}| | |Position|{{RootFieldType|RawOutput`1|[[Type:Float3|Float3]]}}|TypeAdv39=true| {{Template:Brush_Position}} | ||
| |RawVelocity|{{RootFieldType|RawOutput`1|[[Type:Float3|Float3]]}}| | |Rotation|{{RootFieldType|RawOutput`1|[[Type:FloatQ|FloatQ]]}}|TypeAdv40=true| {{Template:Brush_Rotation}} | ||
| |RawStrokeLength|{{RootFieldType|RawOutput`1|[[Type:Float|Float]]}}| | |LastPointDelta|{{RootFieldType|RawOutput`1|[[Type:Float3|Float3]]}}|TypeAdv41=true| {{Template:Brush_LastPointDelta}} | ||
| |StrokeLength|{{RootFieldType|RawOutput`1|[[Type:Float|Float]]}}| | |Velocity|{{RootFieldType|RawOutput`1|[[Type:Float3|Float3]]}}|TypeAdv42=true| {{Template:Brush_Velocity}} | ||
| |NormalizedStrokeLength|{{RootFieldType|RawOutput`1|[[Type:Float|Float]]}}| | |RawDelta|{{RootFieldType|RawOutput`1|[[Type:Float3|Float3]]}}|TypeAdv43=true| {{Template:Brush_RawDelta}} | ||
| |StrokeFadeMultiplier|{{RootFieldType|RawOutput`1|[[Type:Float|Float]]}}| | |RawVelocity|{{RootFieldType|RawOutput`1|[[Type:Float3|Float3]]}}|TypeAdv44=true| {{Template:Brush_RawVelocity}} | ||
| |StrokeGroupIndex|{{RootFieldType|RawOutput`1|[[Type:Int|Int]]}}| | |RawStrokeLength|{{RootFieldType|RawOutput`1|[[Type:Float|Float]]}}|TypeAdv45=true| {{Template:Brush_RawStrokeLength}} | ||
| |TipAnchor|Slot| | |StrokeLength|{{RootFieldType|RawOutput`1|[[Type:Float|Float]]}}|TypeAdv46=true| {{Template:Brush_StrokeLength}} | ||
| |StrokePointRate|Float| | |NormalizedStrokeLength|{{RootFieldType|RawOutput`1|[[Type:Float|Float]]}}|TypeAdv47=true| {{Template:Brush_NormalizedStrokeLength}} | ||
| |ConstantPointRate|Float| | |StrokeFadeMultiplier|{{RootFieldType|RawOutput`1|[[Type:Float|Float]]}}|TypeAdv48=true| {{Template:Brush_StrokeFadeMultiplier}} | ||
| |PressureAffectsRate|Bool| | |StrokeGroupIndex|{{RootFieldType|RawOutput`1|[[Type:Int|Int]]}}|TypeAdv49=true| {{Template:Brush_StrokeGroupIndex}} | ||
| |PressureAffectsRadius|Bool| | |TipAnchor|Slot| {{Template:ParticleBrush_TipAnchor}} | ||
| |ParticleSpawnRadius|Float| | |StrokePointRate|Float| {{Template:ParticleBrush_StrokePointRate}} | ||
| |SnapPoints|Bool| | |ConstantPointRate|Float| {{Template:ParticleBrush_ConstantPointRate}} | ||
| |MinColor|Color| | |PressureAffectsRate|Bool| {{Template:ParticleBrush_PressureAffectsRate}} | ||
| |MaxColor|Color| | |PressureAffectsRadius|Bool| {{Template:ParticleBrush_PressureAffectsRadius}} | ||
| |Profile|ColorProfile| | |ParticleSpawnRadius|Float| {{Template:ParticleBrush_ParticleSpawnRadius}} | ||
| |ColorGap|Float| | |SnapPoints|Bool| {{Template:ParticleBrush_SnapPoints}} | ||
| |MinSize|Float2| | |MinColor|Color| {{Template:PointBrush_MinColor}} | ||
| |MaxSize|Float2| | |MaxColor|Color| {{Template:PointBrush_MaxColor}} | ||
| |SizeGap|Float| | |Profile|ColorProfile| {{Template:PointBrush_Profile}} | ||
| |AtlasInfo|'''[[Component:AtlasInfo|AtlasInfo]]'''| | |ColorGap|Float| {{Template:PointBrush_ColorGap}} | ||
| |PressureAffectsSize|Bool| | |MinSize|Float2| {{Template:PointBrush_MinSize}} | ||
| |PressureAffectsAlpha|Bool| | |MaxSize|Float2| {{Template:PointBrush_MaxSize}} | ||
| |PressureAffectsIntensity|Bool| | |SizeGap|Float| {{Template:PointBrush_SizeGap}} | ||
| |UseColor|Bool| | |AtlasInfo|'''[[Component:AtlasInfo|AtlasInfo]]'''|TypeAdv64=true| {{Template:PointBrush_AtlasInfo}} | ||
| |Pivot|Float3| | |PressureAffectsSize|Bool| {{Template:PointBrush_PressureAffectsSize}} | ||
| |DualSided|Bool| | |PressureAffectsAlpha|Bool| {{Template:PointBrush_PressureAffectsAlpha}} | ||
| |MinRotation|Float3| | |PressureAffectsIntensity|Bool| {{Template:PointBrush_PressureAffectsIntensity}} | ||
| |MaxRotation|Float3| | |UseColor|Bool| {{Template:PointBrush_UseColor}} | ||
| |RotationSpace|{{RootFieldType|RootSpace}}| | |Pivot|Float3| the position offset for the rotation Pivot for quads. | ||
| |_previewRenderer|'''[[Component:MeshRenderer|MeshRenderer]]'''| | |DualSided|Bool| Whether the drawn quads are dual sided. | ||
| |_previewMesh|{{RootFieldType|DriveRef`1|[[Component:QuadArrayMesh|QuadArrayMesh]]}}| | |MinRotation|Float3| the minimum rotation of a drawn quad. | ||
| |_previewMeshOffset|{{RootFieldType|FieldDrive`1|[[Type:Float3|Float3]]}}| | |MaxRotation|Float3| the maximum rotation of a drawn quad | ||
| |_previewMeshRotation|{{RootFieldType|FieldDrive`1|[[Type:FloatQ|FloatQ]]}}| | |RotationSpace|{{RootFieldType|RootSpace}}|TypeAdv73=true| The transform space to apply rotations on drawn Quads in. | ||
| |_previewRenderer|'''[[Component:MeshRenderer|MeshRenderer]]'''|TypeAdv74=true| {{Template:Brush__previewRenderer}} | |||
| |_previewMesh|{{RootFieldType|DriveRef`1|[[Component:QuadArrayMesh|QuadArrayMesh]]}}|TypeAdv75=true| {{Template:Brush__previewMesh}} | |||
| |_previewMeshOffset|{{RootFieldType|FieldDrive`1|[[Type:Float3|Float3]]}}|TypeAdv76=true| {{Template:Brush__previewMeshOffset}} | |||
| |_previewMeshRotation|{{RootFieldType|FieldDrive`1|[[Type:FloatQ|FloatQ]]}}|TypeAdv77=true| {{Template:Brush__previewMeshRotation}} | |||
| }} | |||
| == Sync Delegates == | |||
| {{Table ComponentTriggers | |||
| |ChangeSize:[[Type:Action`1|Action`1]]<[[Type:Float|Float]]>|[[Type:Action`1|Action`1]]<[[Type:Float|Float]]>|true| 	Handles changing the size of the brush of a brush tool. | |||
| }} | }} | ||
| ==  | == Usage == | ||
| {{stub}} | |||
| == Examples == | == Examples == | ||
| Line 91: | Line 101: | ||
| [[Category:Components:Tools:Brushes{{#translation:}}|Quad Brush Tool]] | [[Category:Components:Tools:Brushes{{#translation:}}|Quad Brush Tool]] | ||
| [[Category:Components{{#translation:}}|Quad Brush Tool]] | [[Category:Components{{#translation:}}|Quad Brush Tool]] | ||
Latest revision as of 20:32, 19 March 2025
Component image 
Quad Brush Tool component as seen in the Scene Inspector 

The QuadBrushTool component is a tool used to draw clouds of rotated quads.
Fields
| Name | Type | Description | 
|---|---|---|
| persistent | Bool | Determines whether or not this item will be saved to the server. | 
| UpdateOrder | Int | Controls the order in which this component is updated. | 
| Enabled | Bool | Controls whether or not this component is enabled. Some components stop their functionality when this field is disabled, but some don't. | 
| _equipLink | direct LinkTarget`1<ITool> | This is Internal, and is used by the engine to retrieve the component this field is a part of. It cannot be assigned to. | 
| TipReference | Slot | The slot to use as the tool's tip, instead of the component's slot. | 
| BlockGripEquip | Bool | Whether to prevent legacy double grip equipping from equipping this tooltip. | 
| BlockRemoteEquip | Bool | Whether to prevent equipping by clicking via laser | 
| EquipName | String | The name of the tool in the context menu when equipping via context menu. | 
| _overrideActiveTool | InteractionHandler | The interaction handler to use instead of this tool as an interaction handler. | 
| _gripPosesGenerated | Bool | Whether the Grip Pose Reference components and slots have been generated for this tool. | 
| FixedMinimumPointDistance | Float | Stroke point distances within a stroke cannot be less than this value. | 
| PositionSmoothing | Float | How much to smooth the brush tip position when drawing. | 
| RotationSmoothing | Float | How much to smooth the rotation of the brush tip when drawing | 
| PressureSmoothing | Float | How much to smooth the brush pressure being applied | 
| MaxStrokeLength | Float | The longest a Brush stroke can be before being ended forcibly. | 
| StrokeFadeInLength | Float | The length along the stroke that the stroke fades in. | 
| StrokeFadeOutLength | Float | The length along the stroke that the stroke fades out. | 
| StrokeGroupFinishWaitTime | Float | Finishes the group when drawing strokes for more than this many seconds regardless of how full the group is. | 
| ActivationThreshold | Float | When pressure/strength is above this value, the tool starts drawing. | 
| DeactivationThresholdRatio | Float | When pressure/strength is below this value, the tool stops drawing. | 
| MenuSizeChange | Float | How much to increment or decrement the brush size when using the context menu controls. | 
| SnapTip | Bool | Whether the brush tip should snap to snappers like planes or snap spheres. | 
| SnapLine | Bool | Whether to snap new lines to snappers like snap planes or snap spheres. | 
| StrokesSpace | direct RootSpace | The space to create new strokes into. | 
| MakeStrokesGrabbable | Bool | Make new strokes grabbable. | 
| PositionStrokesToTip | Bool | Position the slots of new stroke groups to the brush tip. | 
| OrientStrokesToTip | Bool | Make the rotation of new stroke group slots oriented to the brush tip. | 
| ScaleStrokesToUser | Bool | Whether the brush strokes should be scaled up or down to match the user's scale. | 
| PickMaterials | Bool | Whether this brush can pick a material by dipping the brush tip in a material orb. | 
| PickColors | Bool | Whether this tool can pick colors by dipping the brush tip into a material orb. | 
| CurrentMaterial | Material | The current material the brush is using to draw. | 
| ColorMappings | list of ColorMapping | Associates materials with their color fields. | 
| ParticleSystem | ParticleSystem | The Particle system to Template when making Particle strokes. | 
| MeshEmitterTemplate | MeshEmitter | The template component to use as the mesh emitter of new particle emitting strokes. | 
| ParticleTemplateHandling | TemplateHandling | How to handle the use of the Particle system template per new stroke group. | 
| EmissionRatePerUnitLength | Nullable`1<Float> | The rate of particle emission per unit length section of the stroke mesh. | 
| _colorPicker | direct SlotCleanupRef`1<ColorDialogInterface> | The current color picker dialouge being used to pick a color for this brush. | 
| _pickedColor | ColorX | The color that the tool has picked by being dipped in a material orb or picked via a color picker. | 
| _hideOnStroke | list of Slot | The list of slots to hide while making a Brush stroke. | 
| _lastUsedMaterial | Material | The last used material by this brush. | 
| _lastCreatedMaterial | Material | The last material generated by this brush. | 
| Pressure | raw output of Float | The pressure being applied to the brush. | 
| Position | raw output of Float3 | The position of the brush tip after smoothing. | 
| Rotation | raw output of FloatQ | The rotation of the brush tip after smoothing. | 
| LastPointDelta | raw output of Float3 | The difference between the last drawing position and its current position. | 
| Velocity | raw output of Float3 | The velocity of the tool tips position. | 
| RawDelta | raw output of Float3 | The raw delta of the tool tips position. | 
| RawVelocity | raw output of Float3 | The raw velocity of the tool tip. | 
| RawStrokeLength | raw output of Float | The raw stroke length. | 
| StrokeLength | raw output of Float | The current stroke length in meters in StrokesSpace | 
| NormalizedStrokeLength | raw output of Float | The length of the current stroke from 0->1 where one is maximum length set for this brush for strokes. | 
| StrokeFadeMultiplier | raw output of Float | The multiplier to the fade in and out effects of the stroke. Making the fade in and out sharper or more gradual. | 
| StrokeGroupIndex | raw output of Int | The running index of strokes being drawn as part of a stroke group. | 
| TipAnchor | Slot | The slot used as the source of strokes being drawn. | 
| StrokePointRate | Float | A multiplier to the affect of speed on the generation of points, so point generation is more concentrated over distance. | 
| ConstantPointRate | Float | A multiplier for the point generation rate while drawing | 
| PressureAffectsRate | Bool | Whether tool pressure affects point generation rate | 
| PressureAffectsRadius | Bool | Whether tool pressure effects the radius around the brush tip that points are generated. | 
| ParticleSpawnRadius | Float | The radius from the brush tip that points are generated including for particles | 
| SnapPoints | Bool | Whether generated points should snap to snappers like snapping planes, circles, lines, etc | 
| MinColor | Color | The minimum color that can be generated for points (Quads, Cubes, Etc) | 
| MaxColor | Color | The maximum color that can be generated for points (Quads, Cubes, Etc) | 
| Profile | ColorProfile | The color profile of Min and Max color. | 
| ColorGap | Float | Whether the color generated should bias towards min or max color. | 
| MinSize | Float2 | The minimum size generated points can be (Quads, Cubes, etc) | 
| MaxSize | Float2 | The maximum size generated points can be (Quads, cubes, etc) | 
| SizeGap | Float | Whether the size should lean towards the minimum or maximum size. | 
| AtlasInfo | AtlasInfo | The atlas info found from a material picked via material orb. | 
| PressureAffectsSize | Bool | Whether tool pressure effects the size of generated points from this tool. (Quads, cubes, etc) | 
| PressureAffectsAlpha | Bool | Whether tool pressure should affect color alpha. | 
| PressureAffectsIntensity | Bool | Whether tool use pressure affects color brightness. | 
| UseColor | Bool | When points are added to a point based brush, this determines if those points should use a color made from MinColorandMaxColor?. | 
| Pivot | Float3 | the position offset for the rotation Pivot for quads. | 
| DualSided | Bool | Whether the drawn quads are dual sided. | 
| MinRotation | Float3 | the minimum rotation of a drawn quad. | 
| MaxRotation | Float3 | the maximum rotation of a drawn quad | 
| RotationSpace | direct RootSpace | The transform space to apply rotations on drawn Quads in. | 
| _previewRenderer | MeshRenderer | The renderer being used to render the mesh preview of this brush. | 
| _previewMesh | reference drive of QuadArrayMesh | The mesh being used to preview the stroke of this brush. | 
| _previewMeshOffset | field drive of Float3 | The position offset of the mesh preview for this brush. | 
| _previewMeshRotation | field drive of FloatQ | The rotation field of the preview mesh. | 
Sync Delegates
| Method Name | Method type and Arguments. | Is the method hidden? | Description | 
|---|---|---|---|
| ChangeSize:Action`1<Float> | Action`1<Float> | ✓ | Handles changing the size of the brush of a brush tool. | 
Usage
This article or section is a stub. You can help the Resonite wiki by expanding it.
