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 (EditInlineNew, Category="Chaos Niagara", Meta=(DisplayName="Chaos Destruction Data"))
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 | |
| 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 | ||
| TSet< TWeakObjectPtr< UGeometryCollectionComponent > > | TrailingGeometryCollectionComponents | Geometry collection to track for trailing | |
| 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
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 | GetFunctionsInternal
(
TArray< FNiagaraFunctionSignature >& OutFunctions |
||
| 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 | ParticleIndex to process collisionData for | ||
| void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. |