UNiagaraDataInterfaceChaosDestruction

Data Interface allowing sampling of Chaos Destruction data.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

ChaosNiagara

Header

/Engine/Plugins/Experimental/ChaosNiagara/Source/ChaosNiagara/Classes/NiagaraDataInterfaceChaosDestruction.h

Include

#include "NiagaraDataInterfaceChaosDestruction.h"

Syntax

[UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Chaos Niagara", Meta=(DisplayName="Chaos Destruction Data"))
class UNiagaraDataInterfaceChaosDestruction : public UNiagaraDataInterface

Remarks

Data Interface allowing sampling of Chaos Destruction data.

Variables

Name Description

Public variable UProperty Category, EditAnywhere, Meta

bool

 

bApplyMaterialsFilter

Materials Filter

Public variable UProperty Category, EditAnywhere, Meta

bool

 

bGetExternalBreakingData

TODO: Explanatory comment

Public variable UProperty Category, Meta visibleanywhere

bool

 

bGetExternalCollisionData

TODO: Explanatory comment

Public variable UProperty Category, Meta visibleanywhere

bool

 

bGetExternalTrailingData

TODO: Explanatory comment

Protected variable

TArray< Chaos::...

 

BreakingEvents

Public variable UProperty Category, EditAnywhere, Meta

TSet< UPhysical...

 

ChaosBreakingMaterialSet

TODO: Explanatory comment

Public variable UProperty Category, EditAnywhere, Meta

TSet< AChaosSol...

 

ChaosSolverActorSet

Chaos Solver

Protected variable

TArray< Chaos::...

 

CollisionEvents

Protected variable

TArray< FVector...

 

ColorArray

Colors for debugging particles.

Public variable UProperty Category, EditAnywhere, Meta

int32

 

DataProcessFrequency

Number of times the RBD collision data gets processed every second

Public variable UProperty Category, EditAnywhere, Meta

EDataSortTypeEn...

 

DataSortingType

Sorting method to sort the collision data

Public variable UProperty Category, EditAnywhere, Meta

EDataSourceType...

 

DataSourceType

Public variable UProperty Category, EditAnywhere, Meta

EDebugTypeEnum

 

DebugType

Debug visualization method

Public variable UProperty Category, EditAnywhere, Meta

bool

 

DoSpatialHash

Public variable UProperty Category, EditAnywhere, Meta

bool

 

DoSpawn

Turn on/off particle spawning

Public variable UProperty Category, EditAnywhere, Meta

FVector2D

 

ExtentMaxToSpawnMinMax

Min/Max ExtentMax to spawn particles

Public variable UProperty Category, EditAnywhere, Meta

FVector2D

 

ExtentMinToSpawnMinMax

Min/Max ExtentMin to spawn particles

Public variable UProperty Category, EditAnywhere, Meta

FVector2D

 

FinalVelocityMagnitudeMinMax

Clamp particles velocity

Public variable UProperty Category, EditAnywhere, Meta

FVector2D

 

ImpulseToSpawnMinMax

Min/Max collision accumulated impulse to spawn particles

Public variable UProperty Category, EditAnywhere, Meta

float

 

InheritedVelocityMultiplier

How much of the collision velocity gets inherited

Protected variable UProperty

int32

 

LastSpawnedPointID

Protected variable UProperty

float

 

LastSpawnTime

Public variable UProperty Category, EditAnywhere, Meta

ELocationFilter...

 

LocationFilteringMode

Location Filtering Mode

Public variable UProperty Category, EditAnywhere, Meta

ELocationXToSpa...

 

LocationXToSpawn

How to use LocationX to filter

Public variable UProperty Category, EditAnywhere, Meta

FVector2D

 

LocationXToSpawnMinMax

Min/Max LocationX to spawn particles

Public variable UProperty Category, EditAnywhere, Meta

ELocationYToSpa...

 

LocationYToSpawn

How to use LocationY to filter

Public variable UProperty Category, EditAnywhere, Meta

FVector2D

 

LocationYToSpawnMinMax

Min/Max LocationY to spawn particles

Public variable UProperty Category, EditAnywhere, Meta

ELocationZToSpa...

 

LocationZToSpawn

How to use LocationZ to filter

Public variable UProperty Category, EditAnywhere, Meta

FVector2D

 

LocationZToSpawnMinMax

Min/Max LocationX to spawn particles

Public variable UProperty Category, EditAnywhere, Meta

FVector2D

 

MassToSpawnMinMax

Min/Max mass to spawn particles

Public variable UProperty Category, EditAnywhere, Meta

int32

 

MaxDataPerCell

Public variable UProperty Category, EditAnywhere, Meta

float

 

MaxLatency

Public variable UProperty Category, EditAnywhere, Meta

int32

 

MaxNumberOfDataEntriesToSpawn

Maximum number of collision/breaking/trailing entry used for spawning particles every time data from the physics solver gets processed

Public variable UProperty Category, EditAnywhere, Meta

FVector2D

 

RandomPositionMagnitudeMinMax

Random displacement value for the particle spawn position

Public variable UProperty Category, EditAnywhere, Meta

ERandomVelocity...

 

RandomVelocityGenerationType

The method used to create the random velocities for the newly spawned particles

Public variable UProperty Category, EditAnywhere, Meta

FVector2D

 

RandomVelocityMagnitudeMinMax

Every particles will be spawned with random velocity with magnitude in the range of [RandomVelocityMagnitudeMin, RandomVelocityMagnitudeMax]

Protected variable

bool

 

ShouldSpawn

Protected variable

TArray< FSolver...

 

Solvers

Protected variable UProperty

float

 

SolverTime

Public variable UProperty Category, EditAnywhere, Meta

FVector2D

 

SolverTimeToSpawnMinMax

Min/Max solver time mass to spawn particles

Public variable UProperty Category, EditAnywhere, Meta

FVector

 

SpatialHashVolumeCellSize

SpatialHash volume resolution

Public variable UProperty Category, EditAnywhere, Meta

FVector

 

SpatialHashVolumeMax

SpatialHash volume max

Public variable UProperty Category, EditAnywhere, Meta

FVector

 

SpatialHashVolumeMin

SpatialHash volume min

Public variable UProperty Category, EditAnywhere, Meta

float

 

SpawnChance

For every collision random number of particles will be spawned in the range of [SpawnMultiplierMin, SpawnMultiplierMax]

Public variable UProperty Category, EditAnywhere, Meta

FVector2D

 

SpawnMultiplierMinMax

For every collision random number of particles will be spawned in the range of [SpawnMultiplierMin, SpawnMultiplierMax]

Public variable UProperty Category, EditAnywhere, Meta

FVector2D

 

SpeedToSpawnMinMax

Min/Max speed to spawn particles

Public variable UProperty Category, EditAnywhere, Meta

float

 

SpreadAngleMax

Public variable UProperty Category, EditAnywhere, Meta

int32

 

SurfaceTypeToSpawn

SurfaceType to spawn particles

Protected variable UProperty

float

 

TimeStampOfLastProcessedData

Protected variable

TArray< Chaos::...

 

TrailingEvents

Public variable UProperty Category, EditAnywhere, Meta

FVector

 

VelocityOffsetMax

Max Offset value added to spawned particles velocity

Public variable UProperty Category, EditAnywhere, Meta

FVector

 

VelocityOffsetMin

Min Offset value added to spawned particles velocity

Public variable UProperty Category, EditAnywhere, Meta

FVector2D

 

VolumeToSpawnMinMax

Min/Max volume to spawn particles

Constructors

Name Description

Public function

UNiagaraDataInterfaceChaosDestruction

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Protected function

bool

 

BreakingCallback

Public function Static

bool

 

BreakingDataRandomShuffleSortPredicate

(
    const Chaos::TBreakingDataExt< floa...,
    const Chaos::TBreakingDataExt< floa...
)

Public function Static

bool

 

BreakingDataSortByMassPredicateMaxToMin

(
    const Chaos::TBreakingDataExt< floa...,
    const Chaos::TBreakingDataExt< floa...
)

Public function Static

bool

 

BreakingDataSortByMassPredicateMinToMax

(
    const Chaos::TBreakingDataExt< floa...,
    const Chaos::TBreakingDataExt< floa...
)

Protected function

bool

 

CollisionCallback

Public function Static

bool

 

CollisionDataRandomShuffleSortPredicate

(
    const Chaos::TCollisionDataExt< flo...,
    const Chaos::TCollisionDataExt< flo...
)

Public function Static

bool

 

CollisionDataSortByMassPredicateMaxToMin

(
    const Chaos::TCollisionDataExt< flo...,
    const Chaos::TCollisionDataExt< flo...
)

Sort predicates to sort data.

Public function Static

bool

 

CollisionDataSortByMassPredicateMinToMax

(
    const Chaos::TCollisionDataExt< flo...,
    const Chaos::TCollisionDataExt< flo...
)

Protected function

void

 

FilterAllBreakings

(
    TArray< Chaos::TBreakingDataExt< fl...
)

Protected function

void

 

FilterAllCollisions

(
    TArray< Chaos::TCollisionDataExt< f...
)

Protected function

void

 

FilterAllTrailings

(
    TArray< Chaos::TTrailingDataExt< fl...
)

Public function

void

 

GetAngularVelocity

(
    FVectorVMContext& Context
)

Public function

void

 

GetBreakingData

(
    FVectorVMContext& Context
)

Protected function

void

 

GetBreakingsToSpawnFromBreakings

(
    TArray< Chaos::TBreakingDataExt< fl...,
    TArray< Chaos::TBreakingDataExt< fl...
)

Public function

void

 

GetCollisionData

(
    FVectorVMContext& Context
)

Protected function

void

 

GetCollisionsToSpawnFromCollisions

Public function

void

 

GetColor

(
    FVectorVMContext& Context
)

Public function

void

 

GetDensity

(
    FVectorVMContext& Context
)

Public function

void

 

GetExtentMax

(
    FVectorVMContext& Context
)

Public function

void

 

GetExtentMin

(
    FVectorVMContext& Context
)

Public function

void

 

GetFriction

(
    FVectorVMContext& Context
)

Public function

int32

 

GetLastSpawnedPointID()

Public function

void

 

GetNormal

(
    FVectorVMContext& Context
)

Public function

void

 

GetParticleIdsToSpawnAtTime

(
    FVectorVMContext& Context
)

Public function

void

 

GetPointType

(
    FVectorVMContext& Context
)

Public function

void

 

GetPosition

(
    FVectorVMContext& Context
)

EXPOSED FUNCTIONS.

Public function

void

 

GetRestitution

(
    FVectorVMContext& Context
)

Public function

void

 

GetSize

(
    FVectorVMContext& Context
)

Public function

float

 

GetSolverTime()

Public function

void

 

GetSolverTime

(
    FVectorVMContext& Context
)

Public function

void

 

GetSurfaceType

(
    FVectorVMContext& Context
)

Public function

void

 

GetTrailingData

(
    FVectorVMContext& Context
)

Protected function

void

 

GetTrailingsToSpawnFromTrailings

(
    TArray< Chaos::TTrailingDataExt< fl...,
    TArray< Chaos::TTrailingDataExt< fl...
)

Public function

void

 

GetTransform

(
    FVectorVMContext& Context
)

Public function

void

 

GetVelocity

(
    FVectorVMContext& Context
)

Public function

void

 

GetVolume

(
    FVectorVMContext& Context
)

Protected function

void

 

HandleBreakingEvents

(
    const Chaos::FBreakingEventData& E...
)

Protected function

void

 

HandleCollisionEvents

(
    const Chaos::FCollisionEventData& ...
)

Protected function

void

 

HandleTrailingEvents

(
    const Chaos::FTrailingEventData& E...
)

Protected function

void

 

PushToRenderThread()

Protected function

void

 

ResetInstData

Protected function

void

 

SortBreakings

(
    TArray< Chaos::TBreakingDataExt< fl...
)

Protected function

void

 

SortCollisions

(
    TArray< Chaos::TCollisionDataExt< f...
)

Protected function

void

 

SortTrailings

(
    TArray< Chaos::TTrailingDataExt< fl...
)

Protected function

int32

 

SpawnParticlesFromBreaking

(
    FSolverData SolverData,
    Chaos::TBreakingDataExt< float, 3 >...,
    FNDIChaosDestruction_InstanceData&...,
    float TimeData_MapsCreated,
    int32 IdxSolver
)

Protected function

int32

 

SpawnParticlesFromCollision

(
    FSolverData SolverData,
    Chaos::TCollisionDataExt< float, 3 ...,
    FNDIChaosDestruction_InstanceData&...,
    float TimeData_MapsCreated,
    int32 IdxSolver
)

Protected function

int32

 

SpawnParticlesFromTrailing

(
    FSolverData SolverData,
    Chaos::TTrailingDataExt< float, 3 >...,
    FNDIChaosDestruction_InstanceData&...,
    float TimeData_MapsCreated,
    int32 IdxSolver
)

Protected function

bool

 

TrailingCallback

Public function Static

bool

 

TrailingDataRandomShuffleSortPredicate

(
    const Chaos::TTrailingDataExt< floa...,
    const Chaos::TTrailingDataExt< floa...
)

Public function Static

bool

 

TrailingDataSortByMassPredicateMaxToMin

(
    const Chaos::TTrailingDataExt< floa...,
    const Chaos::TTrailingDataExt< floa...
)

Public function Static

bool

 

TrailingDataSortByMassPredicateMinToMax

(
    const Chaos::TTrailingDataExt< floa...,
    const Chaos::TTrailingDataExt< floa...
)

Overridden from UNiagaraDataInterface

Name Description

Public function Virtual Const

bool

 

CanExecuteOnTarget

(
    ENiagaraSimTarget Target
)

Protected function Virtual Const

bool

 

CopyToInternal

(
    UNiagaraDataInterface* Destina...
)

Public function Virtual

void

 

DestroyPerInstanceData

(
    void* PerInstanceData,
    FNiagaraSystemInstance* System...
)

Destroys the per instance data for this interface.

Public function Virtual Const

bool

 

Equals

(
    const UNiagaraDataInterface* O...
)

Determines if this DataInterface is the same as another.

Public function Virtual

bool

 

GetFunctionHLSL

(
    const FNiagaraDataInterfaceGPUParam...,
    const FNiagaraDataInterfaceGenerate...,
    int FunctionInstanceIndex,
    FString& OutHLSL
)

Public function Virtual

void

 

GetFunctions

Gets all the available functions for this data interface.

Public function Virtual

void

 

GetParameterDefinitionHLSL

(
    const FNiagaraDataInterfaceGPUParam...,
    FString& OutHLSL
)

GPU sim functionality.

Public function Virtual

void

 

GetVMExternalFunction

(
    const FVMExternalFunctionBindingInf...,
    void* InstanceData,
    FVMExternalFunction& OutFunc
)

Returns the delegate for the passed function signature.

Public function Virtual

bool

 

InitPerInstanceData

(
    void* PerInstanceData,
    FNiagaraSystemInstance* System...
)

Initializes the per instance data for this interface.

Public function Virtual Const

int32

 

PerInstanceDataSize()

Returns the size of the per instance data for this interface.

Public function Virtual

bool

 

PerInstanceTick

(
    void* PerInstanceData,
    FNiagaraSystemInstance* System...,
    float DeltaSeconds
)

Ticks the per instance data for this interface, if it has any.

Public function Virtual

void

 

ProvidePerInstanceDataForRenderThread

(
    void* DataForRenderThread,
    void* PerInstanceData,
    const FNiagaraSystemInstanceID& Sy...
)

Subclasses that wish to work with GPU systems/emitters must implement this.

Overridden from UNiagaraDataInterfaceBase

Name Description

Public function Virtual

void

 

BindParameters

(
    FNiagaraDataInterfaceParametersCS&...,
    const FNiagaraDataInterfaceGPUParam...,
    const FShaderParameterMap& Paramet...
)

Methods that operate on an instance of type FNiagaraDataInterfaceParametersCS*, created by the above CreateComputeParameters() method

Public function Virtual Const

FNiagaraData...

 

CreateComputeParameters()

Constructs the correct CS parameter type for this DI (if any).

Public function Virtual Const

const FTypeL...

 

GetComputeParametersTypeDesc()

Public function Virtual Const

void

 

SetParameters

(
    const FNiagaraDataInterfaceParamete...,
    FRHICommandList& RHICmdList,
    const FNiagaraDataInterfaceSetArgs ...
)

Public function Virtual Const

void

 

UnsetParameters

(
    const FNiagaraDataInterfaceParamete...,
    FRHICommandList& RHICmdList,
    const FNiagaraDataInterfaceSetArgs ...
)

Overridden from UObject

Name Description

Public function Virtual

void

 

BeginDestroy()

Called before destroying the object.

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent& PropertyCha...
)

Called when a property on this object has been modified externally

Public function Virtual

void

 

PostInitProperties()

TGeometryParticleHandle* ParticleToProcess;.

Public function Virtual

void

 

PostLoad()

Do any object-specific cleanup required immediately after loading an object.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss