Navigation
API > API/Plugins > API/Plugins/Niagara
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UNiagaraMergeable
- UNiagaraDataInterfaceBase
- UNiagaraDataInterface
- UNiagaraDataInterfaceRWBase
- UNiagaraDataInterfaceArray
- UNiagaraDataInterfaceArrayBool
- UNiagaraDataInterfaceArrayColor
- UNiagaraDataInterfaceArrayFloat
- UNiagaraDataInterfaceArrayFloat2
- UNiagaraDataInterfaceArrayFloat3
- UNiagaraDataInterfaceArrayFloat4
- UNiagaraDataInterfaceArrayInt32
- UNiagaraDataInterfaceArrayMatrix
- UNiagaraDataInterfaceArrayNiagaraID
- UNiagaraDataInterfaceArrayPosition
- UNiagaraDataInterfaceArrayQuat
- UNiagaraDataInterfaceArrayUInt8
References
| Module | Niagara |
| Header | /Engine/Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraDataInterfaceArray.h |
| Include | #include "NiagaraDataInterfaceArray.h" |
Syntax
UCLASS (Abstract, EditInlineNew, MinimalAPI)
class UNiagaraDataInterfaceArray :
public UNiagaraDataInterfaceRWBase ,
public INiagaraSimCacheCustomStorageInterface
Variables
| Type | Name | Description | |
|---|---|---|---|
| FRWLock | ArrayRWGuard | ReadWrite lock to ensure safe access to the underlying array. | |
| ENiagaraGpuSyncMode | GpuSyncMode | How to do we want to synchronize modifications to the array data. | |
| int32 | MaxElements | When greater than 0 sets the maximum number of elements the array can hold, only relevant when using operations that modify the array size. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
UNiagaraDataInterfaceArray
(
const FObjectInitializer& ObjectInitializer |
Functions
| Type | Name | Description | |
|---|---|---|---|
| FString | SimCacheVisualizerRead
(
const UNDIArraySimCacheData* CacheData, |
Overridden from UNiagaraDataInterface
| Type | Name | Description | |
|---|---|---|---|
| bool | AppendCompileHash
(
FNiagaraCompileHashVisitor* InVisitor |
Allows the generic class defaults version of this class to specify any dependencies/version/etc that might invalidate the compile. | |
| 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 | InitPerInstanceData
(
void* PerInstanceData, |
Initializes the per instance data for this interface. | |
| int32 | Returns the size of the per instance data for this interface. | ||
| void | ProvidePerInstanceDataForRenderThread
(
void* DataForRenderThread, |
Subclasses that wish to work with GPU systems/emitters must implement this. | |
| void | SetShaderParameters
(
const FNiagaraDataInterfaceSetShaderParametersContext& Context |
Set the shader parameters will only be called if the data interface provided shader parameters. | |
| bool | UpgradeFunctionCall
(
FNiagaraFunctionSignature& FunctionSignature |
Allows data interfaces the opportunity to rename / change the function signature and perform an upgrade. |
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 | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally | |
| void | Called after the C++ constructor and after the properties have been initialized, including those loaded from config. | ||
| void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. |
Overridden from INiagaraSimCacheCustomStorageInterface
| Type | Name | Description | |
|---|---|---|---|
| UObject * | SimCacheBeginWrite
(
UObject* SimCache, |
Called when we begin to write data into a simulation cache. | |
| bool | SimCacheCompareFrame
(
const UObject* LhsStorageObject, |
Called to compare a frame between two separate simulation cache storages. | |
| bool | SimCacheReadFrame
(
UObject* StorageObject, |
Virtual bool SimCacheEndWrite(UObject* StorageObject) const override; | |
| bool | SimCacheWriteFrame
(
UObject* StorageObject, |
Called when we are ready to write data into the simulation cache. |