Skip to content
On this page

class FoliageSettings

Settings for the BillboardMode: Foliage

Properties

PropertyDescription
MaintainLeafConnectionsIf enabled, connected parts will not be projected onto separate billboards. For example if the input asset has large leaf geometries that consist of many connected triangles, then MaintainLeafConnections will ensure that all the connected triangles are projected to the same billboard.
NameThe name of the FoliageSettings object. (Inherited from Object)
SeparateFoliageAreaThresholdIs used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the surface area is below (SeparateFoliageAreaThreshold * AreaOfTheLargestGroupInTheScene) it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the maximum surface area means everything will be foliage.
SeparateFoliageMaterialsIs used to separate the trunk from the foliage in a vegetation scene by explicitly specifying the foliage material names as a JSON array of strings. Example: ["fMat0", "fMat1"]. If the value is not a JSON array, the value is parsed as the name of a single foliage material.
SeparateFoliageSizeThresholdIs used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the diameter of the group is below (SeparateFoliageSizeThreshold * SceneDiameter) it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the scene's diameter means everything will be foliage.
SeparateFoliageTriangleRatioIs used to separate the trunk from the foliage in a vegetation scene by comparing each group of connected triangles in the scene with the scene's largest group. If a group's triangle count is below SeparateFoliageTriangleRatio * largestGrouptriangleCount it is treated as foliage and processed into billboards. The trunk is optimized using triangle reduction. The range is 0.0->1.0. 0.0 means nothing will be foliage, 1.0 means everything will be foliage.
SeparateFoliageTriangleThresholdIs used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the triangle count is below SeparateFoliageTriangleThreshold it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the maximum triangle count means everything will be foliage.
SeparateTrunkAndFoliageDetermines whether to enable separation between foliage and trunk in a vegetation scene. Use the SeparateFoliage[...] settings to determine how parts are separated.
TrunkReductionRatioDetermines the triangle reduction ratio for the trunk part that has been separated from the foliage part based on the "separate foliage" settings.

Methods

MethodDescription
AddObserverAdds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
GetBoolParameterGet a named parameter boolean value. (Inherited from SettingsObject)
GetClassGet the name of the FoliageSettings class. (Inherited from Object)
GetDoubleParameterGet a named parameter floating point value. (Inherited from SettingsObject)
GetErrorStringReturns a string describing the error that was found the last time ValidateSettings was performed. (Inherited from SettingsObject)
GetIntParameterGet a named parameter integer value. (Inherited from SettingsObject)
GetStringParameterGet a named parameter string value. (Inherited from SettingsObject)
GetUIntParameterGet a named parameter unsigned integer value. (Inherited from SettingsObject)
IsAReturns true if FoliageSettings is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsNullReturns true if the FoliageSettings object is invalid. (Inherited from Object)
IsSameObjectAsReturns true if the FoliageSettings object is valid. (Inherited from Object)
NonNullReturns true if the FoliageSettings object is valid. (Inherited from Object)
PrintInfoPrints the content/info of the FoliageSettings object to the log. (Inherited from Object)
RemoveObserverRemoves a previously added observer object. (Inherited from Object)
SetBoolParameterSet a named parameter boolean value. (Inherited from SettingsObject)
SetDoubleParameterSet a named parameter floating point value. (Inherited from SettingsObject)
SetIntParameterSet a named parameter integer value. (Inherited from SettingsObject)
SetStringParameterSet a named parameter string value. (Inherited from SettingsObject)
SetUIntParameterSet a named parameter unsigned integer value. (Inherited from SettingsObject)
SetValidateParameterNamesSet if parameter names should be validated or not. Parameters that previously do not exist will generate and error if validation is enabled and be allowed if validation is disabled. (Inherited from SettingsObject)
ToJSONGet settings as JSON for debugging purposes. (Inherited from SettingsObject)
ValidateSettingsValidates the current settings values. (Inherited from SettingsObject)

Static methods

MethodDescription
IsClassAReturns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)
SafeCastSafeCast makes sure the input object is of a class that can be cast into spFoliageSettings, and if this is the case, returns the object cast into spFoliageSettings. (Inherited from Object)

Properties details

MaintainLeafConnections

If enabled, connected parts will not be projected onto separate billboards. For example if the input asset has large leaf geometries that consist of many connected triangles, then MaintainLeafConnections will ensure that all the connected triangles are projected to the same billboard.

Name

The name of the FoliageSettings object. (Inherited from Object)

SeparateFoliageAreaThreshold

Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the surface area is below (SeparateFoliageAreaThreshold * AreaOfTheLargestGroupInTheScene) it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the maximum surface area means everything will be foliage.

SeparateFoliageMaterials

Is used to separate the trunk from the foliage in a vegetation scene by explicitly specifying the foliage material names as a JSON array of strings. Example: ["fMat0", "fMat1"]. If the value is not a JSON array, the value is parsed as the name of a single foliage material.

SeparateFoliageSizeThreshold

Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the diameter of the group is below (SeparateFoliageSizeThreshold * SceneDiameter) it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the scene's diameter means everything will be foliage.

SeparateFoliageTriangleRatio

Is used to separate the trunk from the foliage in a vegetation scene by comparing each group of connected triangles in the scene with the scene's largest group. If a group's triangle count is below SeparateFoliageTriangleRatio * largestGrouptriangleCount it is treated as foliage and processed into billboards. The trunk is optimized using triangle reduction. The range is 0.0->1.0. 0.0 means nothing will be foliage, 1.0 means everything will be foliage.

SeparateFoliageTriangleThreshold

Is used to separate the trunk from the foliage in a vegetation scene by finding each group of connected triangles in the scene and if the triangle count is below SeparateFoliageTriangleThreshold it is treated as foliage and processed into billboards. The trunk is optimized using reduction. The range is 0->large value. 0 means nothing will be foliage, value larger than the maximum triangle count means everything will be foliage.

SeparateTrunkAndFoliage

Determines whether to enable separation between foliage and trunk in a vegetation scene. Use the SeparateFoliage[...] settings to determine how parts are separated.

TrunkReductionRatio

Determines the triangle reduction ratio for the trunk part that has been separated from the foliage part based on the "separate foliage" settings.

Methods details

AddObserver

Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)

GetBoolParameter

Get a named parameter boolean value.

GetClass

Get the name of the FoliageSettings class. (Inherited from Object)

GetDoubleParameter

Get a named parameter floating point value.

GetErrorString

Returns a string describing the error that was found the last time ValidateSettings was performed.

GetIntParameter

Get a named parameter integer value.

GetStringParameter

Get a named parameter string value.

GetUIntParameter

Get a named parameter unsigned integer value.

IsA

Returns true if FoliageSettings is a or is a descendant of the class named as the type parameter. (Inherited from Object)

IsNull

Returns true if the FoliageSettings object is invalid. (Inherited from Object)

IsSameObjectAs

Returns true if the FoliageSettings object is valid. (Inherited from Object)

NonNull

Returns true if the FoliageSettings object is valid. (Inherited from Object)

PrintInfo

Prints the content/info of the FoliageSettings object to the log. (Inherited from Object)

RemoveObserver

Removes a previously added observer object. (Inherited from Object)

SetBoolParameter

Set a named parameter boolean value.

SetDoubleParameter

Set a named parameter floating point value.

SetIntParameter

Set a named parameter integer value.

SetStringParameter

Set a named parameter string value.

SetUIntParameter

Set a named parameter unsigned integer value.

SetValidateParameterNames

Set if parameter names should be validated or not. Parameters that previously do not exist will generate and error if validation is enabled and be allowed if validation is disabled.

ToJSON

Get settings as JSON for debugging purposes.

ValidateSettings

Validates the current settings values.

Static methods details

IsClassA

Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)

SafeCast

SafeCast makes sure the input object is of a class that can be cast into spFoliageSettings, and if this is the case, returns the object cast into spFoliageSettings. (Inherited from Object)