Navigation
API > API/Plugins > API/Plugins/ChaosNiagara
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UNiagaraMergeable
- UNiagaraDataInterfaceBase
- UNiagaraDataInterface
- UNiagaraDataInterfaceChaosDestruction
References
| Module | ChaosNiagara |
| Header | /Engine/Plugins/Experimental/ChaosNiagara/Source/ChaosNiagara/Classes/NiagaraDataInterfaceChaosDestruction.h |
| Include | #include "NiagaraDataInterfaceChaosDestruction.h" |
Syntax
UCLASS&40;EditInlineNew, Category&61;"Chaos Niagara", Meta&61;&40;DisplayName&61;"Chaos Destruction Data"&41;&41;
class UNiagaraDataInterfaceChaosDestruction : public UNiagaraDataInterface
Remarks
Data Interface allowing sampling of Chaos Destruction data.
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bApplyMaterialsFilter | Materials Filter | |
| bool | bGetExternalBreakingData | TODO: Explanatory comment | |
| bool | bGetExternalCollisionData | TODO: Explanatory comment | |
| bool | bGetExternalTrailingData | TODO: Explanatory comment | |
| TArray< Chaos::FBreakingDataExt > | BreakingEvents | ||
| TSet< TObjectPtr< UPhysicalMaterial > > | ChaosBreakingMaterialSet | TODO: Explanatory comment | |
| TSet< TObjectPtr< AChaosSolverActor > > | ChaosSolverActorSet | Chaos Solver | |
| TArray< Chaos::FCollidingDataExt > | CollisionEvents | ||
| TArray< FVector > | ColorArray | Colors for debugging particles. | |
| int32 | DataProcessFrequency | Number of times the RBD collision data gets processed every second | |
| EDataSortTypeEnum | DataSortingType | Sorting method to sort the collision data | |
| EDataSourceTypeEnum | DataSourceType | ||
| EDebugTypeEnum | DebugType | Debug visualization method | |
| bool | DoSpatialHash | ||
| bool | DoSpawn | Turn on/off particle spawning | |
| FVector2D | ExtentMaxToSpawnMinMax | Min/Max ExtentMax to spawn particles | |
| FVector2D | ExtentMinToSpawnMinMax | Min/Max ExtentMin to spawn particles | |
| FVector2D | FinalVelocityMagnitudeMinMax | Clamp particles velocity | |
| TSet< UGeometryCollectionComponent * > | GeometryCollectionComponentsFromBreaking | Saving GeometryCollectionComponents from breaking for trailing. | |
| FVector2D | ImpulseToSpawnMinMax | Min/Max collision accumulated impulse to spawn particles | |
| float | InheritedVelocityMultiplier | How much of the collision velocity gets inherited | |
| int32 | LastSpawnedPointID | ||
| float | LastSpawnTime | ||
| ELocationFilteringModeEnum | LocationFilteringMode | Location Filtering Mode | |
| ELocationXToSpawnEnum | LocationXToSpawn | How to use LocationX to filter | |
| FVector2D | LocationXToSpawnMinMax | Min/Max LocationX to spawn particles | |
| ELocationYToSpawnEnum | LocationYToSpawn | How to use LocationY to filter | |
| FVector2D | LocationYToSpawnMinMax | Min/Max LocationY to spawn particles | |
| ELocationZToSpawnEnum | LocationZToSpawn | How to use LocationZ to filter | |
| FVector2D | LocationZToSpawnMinMax | Min/Max LocationX to spawn particles | |
| FVector2D | MassToSpawnMinMax | Min/Max mass to spawn particles | |
| int32 | MaxDataPerCell | ||
| float | MaxLatency | ||
| int32 | MaxNumberOfDataEntriesToSpawn | Maximum number of collision/breaking/trailing entry used for spawning particles every time data from the physics solver gets processed | |
| FVector2D | RandomPositionMagnitudeMinMax | Random displacement value for the particle spawn position | |
| ERandomVelocityGenerationTypeEnum | RandomVelocityGenerationType | The method used to create the random velocities for the newly spawned particles | |
| FVector2D | RandomVelocityMagnitudeMinMax | Every particles will be spawned with random velocity with magnitude in the range of [RandomVelocityMagnitudeMin, RandomVelocityMagnitudeMax] | |
| bool | ShouldSpawn | ||
| TArray< FSolverData > | Solvers | ||
| float | SolverTime | ||
| FVector2D | SolverTimeToSpawnMinMax | Min/Max solver time mass to spawn particles | |
| FVector | SpatialHashVolumeCellSize | SpatialHash volume resolution | |
| FVector | SpatialHashVolumeMax | SpatialHash volume max | |
| FVector | SpatialHashVolumeMin | SpatialHash volume min | |
| float | SpawnChance | For every collision random number of particles will be spawned in the range of [SpawnMultiplierMin, SpawnMultiplierMax] | |
| FVector2D | SpawnMultiplierMinMax | For every collision random number of particles will be spawned in the range of [SpawnMultiplierMin, SpawnMultiplierMax] | |
| FVector2D | SpeedToSpawnMinMax | Min/Max speed to spawn particles | |
| float | SpreadAngleMax | ||
| int32 | SurfaceTypeToSpawn | SurfaceType to spawn particles | |
| float | TimeStampOfLastProcessedData | ||
| TArray< Chaos::FTrailingDataExt > | TrailingEvents | ||
| float | TrailMinSpeedToSpawn | Min Linear Speed to generate trailing particles | |
| FVector | VelocityOffsetMax | Max Offset value added to spawned particles velocity | |
| FVector | VelocityOffsetMin | Min Offset value added to spawned particles velocity | |
| FVector2D | VolumeToSpawnMinMax | Min/Max volume to spawn particles |
Constructors
| Type | Name | Description | |
|---|---|---|---|
UNiagaraDataInterfaceChaosDestruction
(
const FObjectInitializer& ObjectInitializer |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | BreakingCallback
(
FNDIChaosDestruction_InstanceData* InstData |
||
| bool | BreakingDataRandomShuffleSortPredicate
(
const Chaos::FBreakingDataExt& Lhs, |
||
| bool | BreakingDataSortByMassPredicateMaxToMin
(
const Chaos::FBreakingDataExt& Lhs, |
||
| bool | BreakingDataSortByMassPredicateMinToMax
(
const Chaos::FBreakingDataExt& Lhs, |
||
| bool | CollisionCallback
(
FNDIChaosDestruction_InstanceData* InstData |
||
| bool | CollisionDataRandomShuffleSortPredicate
(
const Chaos::FCollidingDataExt& Lhs, |
||
| bool | CollisionDataSortByMassPredicateMaxToMin
(
const Chaos::FCollidingDataExt& Lhs, |
Sort predicates to sort data. | |
| bool | CollisionDataSortByMassPredicateMinToMax
(
const Chaos::FCollidingDataExt& Lhs, |
||
| void | FilterAllBreakings
(
TArray< Chaos::FBreakingDataExt >& AllBreakingsArray |
||
| void | FilterAllCollisions
(
TArray< Chaos::FCollidingDataExt >& AllCollisionsArray |
||
| void | FilterAllTrailings
(
TArray< Chaos::FTrailingDataExt >& AllTrailingsArray |
||
| void | GetAngularVelocity
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetBreakingData
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetBreakingsToSpawnFromBreakings
(
TArray< Chaos::FBreakingDataExt >& AllBreakingsArray, |
||
| void | GetCollisionData
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetCollisionsToSpawnFromCollisions
(
TArray< Chaos::FCollidingDataExt >& AllCollisionsArray, |
||
| void | GetColor
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetDensity
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetExtentMax
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetExtentMin
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetFriction
(
FVectorVMExternalFunctionContext& Context |
||
| int32 | |||
| void | GetNormal
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetParticleIdsToSpawnAtTime
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetPointType
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetPosition
(
FVectorVMExternalFunctionContext& Context |
EXPOSED FUNCTIONS. | |
| void | GetRestitution
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetSize
(
FVectorVMExternalFunctionContext& Context |
||
| float | |||
| void | GetSolverTime
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetSurfaceType
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetTrailingData
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetTrailingsToSpawnFromTrailings
(
TArray< Chaos::FTrailingDataExt >& AllTrailingsArray, |
||
| void | GetTransform
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetVelocity
(
FVectorVMExternalFunctionContext& Context |
||
| void | GetVolume
(
FVectorVMExternalFunctionContext& Context |
||
| void | HandleBreakingEvents
(
const Chaos::FBreakingEventData& Event |
||
| void | HandleCollisionEvents
(
const Chaos::FCollisionEventData& Event |
||
| void | HandleTrailingEvents
(
const Chaos::FTrailingEventData& Event |
||
| void | RegisterWithSolverEventManager
(
Chaos::FPhysicsSolver* Solver |
||
| void | ResetInstData
(
FNDIChaosDestruction_InstanceData* InstData |
||
| void | SortBreakings
(
TArray< Chaos::FBreakingDataExt >& BreakingsArray |
||
| void | SortCollisions
(
TArray< Chaos::FCollidingDataExt >& CollisionsArray |
||
| void | SortTrailings
(
TArray< Chaos::FTrailingDataExt >& TrailingsArray |
||
| int32 | SpawnParticlesFromBreaking
(
FSolverData SolverData, |
||
| int32 | SpawnParticlesFromCollision
(
FSolverData SolverData, |
||
| int32 | SpawnParticlesFromTrailing
(
FSolverData SolverData, |
||
| bool | TrailingCallback
(
FNDIChaosDestruction_InstanceData* InstData |
||
| bool | TrailingDataRandomShuffleSortPredicate
(
const Chaos::FTrailingDataExt& Lhs, |
||
| bool | TrailingDataSortByMassPredicateMaxToMin
(
const Chaos::FTrailingDataExt& Lhs, |
||
| bool | TrailingDataSortByMassPredicateMinToMax
(
const Chaos::FTrailingDataExt& Lhs, |
Overridden from UNiagaraDataInterface
| Type | Name | Description | |
|---|---|---|---|
| bool | AppendCompileHash
(
FNiagaraCompileHashVisitor* InVisitor |
GPU sim functionality. | |
| bool | CanExecuteOnTarget
(
ENiagaraSimTarget Target |
||
| bool | CopyToInternal
(
UNiagaraDataInterface* Destination |
||
| void | DestroyPerInstanceData
(
void* PerInstanceData, |
Destroys the per instance data for this interface. | |
| bool | Equals
(
const UNiagaraDataInterface* Other |
Determines if this DataInterface is the same as another. | |
| bool | GetFunctionHLSL
(
const FNiagaraDataInterfaceGPUParamInfo& ParamInfo, |
||
| void | GetFunctions
(
TArray< FNiagaraFunctionSignature >& OutFunctions |
Gets all the available functions for this data interface. | |
| void | GetParameterDefinitionHLSL
(
const FNiagaraDataInterfaceGPUParamInfo& ParamInfo, |
||
| void | GetVMExternalFunction
(
const FVMExternalFunctionBindingInfo& BindingInfo, |
Returns the delegate for the passed function signature. | |
| bool | |||
| bool | InitPerInstanceData
(
void* PerInstanceData, |
Initializes the per instance data for this interface. | |
| int32 | Returns the size of the per instance data for this interface. | ||
| bool | PerInstanceTick
(
void* PerInstanceData, |
Ticks the per instance data for this interface, if it has any. | |
| void | ProvidePerInstanceDataForRenderThread
(
void* DataForRenderThread, |
Subclasses that wish to work with GPU systems/emitters must implement this. | |
| void | |||
| void | SetShaderParameters
(
const FNiagaraDataInterfaceSetShaderParametersContext& Context |
Set the shader parameters will only be called if the data interface provided shader parameters. |
Overridden from UNiagaraDataInterfaceBase
| Type | Name | Description | |
|---|---|---|---|
| void | BuildShaderParameters
(
FNiagaraShaderParametersBuilder& ShaderParametersBuilder |
Override this method to provide parameters to the GPU (SRV / UAV / Constants / etc) The most common usage will be to provide a single structure which is nested with other parameters. |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | BeginDestroy () |
Called before destroying the object. | |
| void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally | |
| void | TGeometryParticleHandle |
||
| void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. |