This documentation is for a prerelease version of O3DE. Click here to switch to the latest release, or select a version from the dropdown.

Version:

Vegetation Position Modifier Component

Add variation to the placement of the vegetation instances in your level with the Vegetation Position Modifier component. Use gradients to control how vegetation or blocker instances are individually offset on the X, Y, or Z-axis. By default, this component is configured to offset a vegetation instance’s position by up to 0.3 meters on the positive or negative X and Y-axis.

Provider

Vegetation Gem

Dependencies

Add one of the following required components when using the Vegetation Position Modifier component:

Vegetation Position Modifier properties

Vegetation Position Modifier component properties

PropertyDescriptionValuesDefault
Allow Per-Item OverridesIf Enabled, vegetation descriptor properties that are enabled can override this component’s properties.BooleanDisabled
Auto Snap to SurfaceIf Enabled, automatically snaps the modified vegetation instance position to the nearest valid surface tag. Valid surface tags include those selected in the Surface Tags To Snap To property, as well as any surface tags already associated with the vegetation instance.BooleanEnabled
Surface Tags To Snap ToAn array of surface tags used to align the vegetation instance with the surface.Array: Surface TagsNone
Position X - Range MinSets the minimum modified position offset of the vegetation instance on the X-axis.Float: -Infinity to Infinity-0.3
Position X - Range MaxSets the maximum modified position offset of the vegetation instance on the X-axis.Float: -Infinity to Infinity0.3
Position X - GradientRefer to Gradient properties below.
Position Y - Range MinSets the minimum modified position offset of the vegetation instance on the Y-axis.Float: -Infinity to Infinity-0.3
Position Y - Range MaxSets the maximum modified position offset of the vegetation instance on the Y-axis.Float: -Infinity to Infinity0.3
Position Y - GradientRefer to Gradient properties below.
Position Z - Range MinSets the minimum modified position offset of the vegetation instance on the Z-axis.Float: -Infinity to Infinity0.0
Position Z - Range MaxSets the maximum modified position offset of the vegetation instance on the Z-axis.Float: -Infinity to Infinity0.0
Position Z - GradientRefer to Gradient properties below.

Gradient properties

Gradient properties

PropertyDescriptionValuesDefault
Gradient Entity IdSets an entity with an active Gradient component.EntityNone
OpacitySets the opacity of the input gradient.Float: 0.0 - 1.01.0
Invert InputInverts the values of the input gradient.BooleanDisabled
Preview (Inbound)Displays the input gradient provided by the entity set in Gradient Entity Id.
Enable TransformIf Enabled, the translation, scale, and rotation of the input gradient may be modified.BooleanDisabled
TranslateSets the translation of the input gradient.Vector3: -Infinity to InfinityX:0.0, Y:0.0, Z:0.0
ScaleSets the scale of the input gradient.Vector3: 0.0 to InfinityX:1.0, Y:1.0, Z:1.0
RotateSets the rotation of the input gradient.Vector3: -Infinity to InfinityX:0.0, Y:0.0, Z:0.0
Enable LevelsIf Enabled, the input and output values of the gradient may be modified.BooleanDisabled
Input MidSets the median value of the input gradient.Float: 0.0 - 1.01.0
Input MinSets a minimum value for the input gradient.Float: 0.0 - 1.00.0
Input MaxSets a maximum value for the input gradient.Float: 0.0 - 1.01.0
Output MinSets a minimum value for the output gradient.Float: 0.0 - 1.00.0
Output MaxSets a maximum value for the output gradient.Float: 0.0 - 1.01.0

PositionModifierRequestBus

Use the following request functions with the PositionModifierRequestBus EBus interface to communicate with Vegetation Position Modifier components in your game.

Method NameDescriptionParameterReturnScriptable
AddTagAdds a surface tag to the Surface Tags To Snap To array.Surface Tag: StringNoneYes
GetAllowOverridesReturns the configuration of the Allow Per-Item Overrides property.NoneBooleanYes
GetGradientSamplerXReturns the gradient sampler object of the Position X group properties.NoneGradient SamplerYes
GetGradientSamplerYReturns the gradient sampler object of the Position Y group properties.NoneGradient SamplerYes
GetGradientSamplerZReturns the gradient sampler object of the Position Z group properties.NoneGradient SamplerYes
GetNumTagsReturns the number of surface tags in the Surface Tags To Snap To array.NoneCount: IntegerYes
GetRangeMaxReturns a Vector3 of Range Max properties.NoneVector3: (Position X - Range Max, Position Y - Range Max, Position Z - Range Max)Yes
GetRangeMinReturns a Vector3 of Range Min properties.NoneVector3: (Position X - Range Min, Position Y - Range Min, Position Z - Range Min)Yes
GetTagReturns the surface tag at the specified index of the Surface Tags To Snap To array.Surface Tag Index: IntegerSurface Tag: StringYes
RemoveTagRemoves the surface tag at the specified index of the Surface Tags To Snap To array.Surface Tag Index: IntegerNoneYes
SetAllowOverridesSets the configuration of the Allow Per-Item Overrides property.BooleanNoneYes
SetRangeMaxSets the X, Y, and Z Range Max properties.Vector3: (Position X - Range Max, Position Y - Range Max, Position Z - Range Max)NoneYes
SetRangeMinSets the X, Y, and Z Range Min properties.Vector3: (Position X - Range Min, Position Y - Range Min, Position Z - Range Min)NoneYes