Navigation
Unreal Engine C++ API Reference > Plugins > Niagara
Inheritance Hierarchy
- TSharedFromThis
- FNiagaraSystemSimulation
References
Module | Niagara |
Header | /Engine/Plugins/FX/Niagara/Source/Niagara/Public/NiagaraSystemSimulation.h |
Include | #include "NiagaraSystemSimulation.h" |
Syntax
class FNiagaraSystemSimulation : public TSharedFromThis< FNiagaraSystemSimulation, ESPMode::ThreadSafe >
Remarks
Simulation performing all system and emitter scripts for a instances of a UNiagaraSystem in a world.
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
FGraphEventRef | AllWorkCompleteGraphEvent | Event to track all work is complete, i.e. System Concurrent, Instance Concurrent, Finalize |
![]() |
uint32: 1 | bBindingsInitialized | |
![]() |
uint32: 1 | bCanExecute | |
![]() |
uint32: 1 | bInSpawnPhase | |
![]() |
uint32: 1 | bIsSolo | |
![]() |
FGraphEventRef | ConcurrentTickGraphEvent | Event to track the system simulation async tick is complete. |
![]() |
FString | CrashReporterTag | |
![]() |
TArray< TArray< FNiagaraParameterStoreToDataSetBinding > > | DataSetToEmitterEventParameters | Binding to push system attributes into each emitter event parameters. |
![]() |
TArray< FNiagaraParameterStoreToDataSetBinding > | DataSetToEmitterGPUParameters | Binding to push system attributes into each emitter gpu parameters. |
![]() |
TArray< FNiagaraParameterStoreToDataSetBinding > | DataSetToEmitterRendererParameters | Binding to push system attributes into each emitter renderer parameters. |
![]() |
TArray< FNiagaraParameterStoreToDataSetBinding > | DataSetToEmitterSpawnParameters | Binding to push system attributes into each emitter spawn parameters. |
![]() |
TArray< FNiagaraParameterStoreToDataSetBinding > | DataSetToEmitterUpdateParameters | Binding to push system attributes into each emitter update parameters. |
![]() |
FNiagaraGpuComputeDispatchInterface * | DispatchInterface | |
![]() |
TWeakObjectPtr< UNiagaraEffectType > | EffectType | We cache off the effect type in the unlikely even that someone GCs the System from under us so that we can keep the effect types instance count etc accurate. |
![]() |
float | FixedDeltaTickAge | |
![]() |
FNiagaraDataSet | MainDataSet | Data set for the Running instance state. |
![]() |
TOptional< float > | MaxDeltaTime | |
![]() |
FNiagaraDataSet | PausedDataSet | Data set for the Paused instance state. |
![]() |
TArray< FNiagaraSystemInstance * > | PendingTickGroupPromotions | List of instances that are pending a tick group promotion. |
![]() |
TUniquePtr< FNiagaraScriptExecutionContextBase > | SpawnExecContext | |
![]() |
FNiagaraParameterDirectBinding< float > | SpawnGlobalSpawnCountScaleParam | |
![]() |
FNiagaraParameterDirectBinding< float > | SpawnGlobalSystemCountScaleParam | |
![]() |
FNiagaraDataSet | SpawningDataSet | Data set for the Spawning instance state. |
![]() |
FNiagaraDataSet | SpawnInstanceParameterDataSet | As there's a 1 to 1 relationship between system instance and their execution in this simulation we must pull all that instances parameters into a dataset for simulation. |
![]() |
FNiagaraParameterStoreToDataSetBinding | SpawnInstanceParameterToDataSetBinding | Bindings that pull per component parameters into the spawn parameter dataset. |
![]() |
FNiagaraParameterDirectBinding< int32 > | SpawnNumSystemInstancesParam | Direct bindings for Engine variables in System Spawn and Update scripts. |
![]() |
UNiagaraSystem * | System | System of instances being simulated. |
![]() |
TArray< FNiagaraSystemInstance * >[int32(ENiagaraSystemInstanceState::Num)] | SystemInstancesPerState | System instance per state. |
![]() |
ETickingGroup | SystemTickGroup | Which tick group we are in, only valid when not in Solo mode. |
![]() |
FNiagaraSystemTickBatch | TickBatch | Current tick batch we're filling ready for processing, potentially in an async task. |
![]() |
FNiagaraTickInfo | TickInfo | |
![]() |
TUniquePtr< FNiagaraScriptExecutionContextBase > | UpdateExecContext | |
![]() |
FNiagaraParameterDirectBinding< float > | UpdateGlobalSpawnCountScaleParam | |
![]() |
FNiagaraParameterDirectBinding< float > | UpdateGlobalSystemCountScaleParam | |
![]() |
FNiagaraDataSet | UpdateInstanceParameterDataSet | |
![]() |
FNiagaraParameterStoreToDataSetBinding | UpdateInstanceParameterToDataSetBinding | Bindings that pull per component parameters into the update parameter dataset. |
![]() |
FNiagaraParameterDirectBinding< int32 > | UpdateNumSystemInstancesParam | |
![]() |
UWorld * | World | World this system simulation belongs to. |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | AddInstance
(
FNiagaraSystemInstance* Instance |
|
![]() |
void | AddSystemToTickBatch
(
FNiagaraSystemInstance* Instance, |
|
![]() |
void | AddTickGroupPromotion
(
FNiagaraSystemInstance* Instance |
|
![]() |
void | AddToInstanceList
(
FNiagaraSystemInstance* Instance, |
|
![]() ![]() |
void | BuildConstantBufferTable
(
const FNiagaraGlobalParameters& GlobalParameters, |
Builds the constant buffer table for a given script execution |
![]() |
void | Destroy () |
|
![]() ![]() |
void | DumpInstance
(
const FNiagaraSystemInstance* Inst |
|
![]() |
void | ||
![]() |
void | DumpTickInfo
(
FOutputDevice& Ar |
Dump information about all instances tick |
![]() |
void | FlushTickBatch
(
FNiagaraSystemSimulationTickContext& Context |
|
![]() ![]() |
const FString & | ||
![]() ![]() |
FNiagaraGpuComputeDispatchInterface * | ||
![]() ![]() |
ENiagaraGPUTickHandlingMode | ||
![]() ![]() |
bool | GetIsSolo () |
|
![]() |
UNiagaraParameterCollectionInstance * | GetParameterCollectionInstance
(
UNiagaraParameterCollection* Collection |
|
![]() |
FNiagaraScriptExecutionContextBase * | ||
![]() ![]() |
UNiagaraSystem * | GetSystem () |
|
![]() |
TArray< FNiagaraSystemInstance * > & | ||
![]() ![]() |
ETickingGroup | GetTickGroup () |
|
![]() |
const FNiagaraTickInfo & | GetTickInfo () |
|
![]() |
FNiagaraScriptExecutionContextBase * | ||
![]() ![]() |
UWorld * | GetWorld () |
|
![]() |
bool | Init
(
UNiagaraSystem* InSystem, |
|
![]() |
void | InitParameterDataSetBindings
(
FNiagaraSystemInstance* SystemInst |
|
![]() ![]() |
bool | IsValid () |
|
![]() |
void | PauseInstance
(
FNiagaraSystemInstance* Instance |
|
![]() |
void | Does any prep work for system simulation such as pulling instance parameters into a dataset. | |
![]() |
void | RemoveFromInstanceList
(
FNiagaraSystemInstance* Instance |
|
![]() |
void | RemoveInstance
(
FNiagaraSystemInstance* Instance |
|
![]() |
void | SetInstanceState
(
FNiagaraSystemInstance* Instance, |
|
![]() |
void | SetupParameters_GameThread
(
float DeltaSeconds |
Sets constant parameter values |
![]() |
void | SimCachePostTick_Concurrent
(
float DeltaSeconds, |
Called after the sim cache has been read. |
![]() |
void | Spawn_Concurrent
(
FNiagaraSystemSimulationTickContext& Context |
Spawn any pending instances |
![]() |
void | Spawn_GameThread
(
float DeltaSeconds, |
Spawn any pending instances, assumes that you have update tick groups ahead of time. |
![]() |
void | SpawnSystemInstances
(
FNiagaraSystemSimulationTickContext& Context |
Runs the system spawn script for new system instances. |
![]() |
void | Tick_Concurrent
(
FNiagaraSystemSimulationTickContext& Context |
Second phase of system sim tick that can run on any thread. |
![]() |
void | Tick_GameThread
(
float DeltaSeconds, |
First phase of system sim tick. Must run on GameThread. |
![]() |
void | Tick_GameThread_Internal
(
float DeltaSeconds, |
|
![]() |
void | TransferInstance
(
FNiagaraSystemInstance* SystemInst |
Transfers a system instance from the current simulation into this one. |
![]() |
void | Transfers the results of the system simulation into the emitter instances. | |
![]() |
void | UnpauseInstance
(
FNiagaraSystemInstance* Instance |
|
![]() |
void | UpdateSystemInstances
(
FNiagaraSystemSimulationTickContext& Context |
Runs the system update script. |
![]() |
void | Update TickGroups for pending instances and execute tick group promotions. | |
![]() |
void | WaitForConcurrentTickComplete
(
bool bEnsureComplete |
Wait for system simulation concurrent tick to complete. |
![]() |
void | WaitForInstancesTickComplete
(
bool bEnsureComplete |
Wait for system instances concurrent tick to complete. |
Constants
Name | Description |
---|---|
bUseLegacyExecContexts |