Navigation
API > API/Plugins > API/Plugins/Niagara
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UNiagaraMergeable
- UNiagaraDataInterfaceBase
- UNiagaraDataInterface
- UNiagaraDataInterfaceExport
References
| Module | Niagara |
| Header | /Engine/Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraDataInterfaceExport.h |
| Include | #include "NiagaraDataInterfaceExport.h" |
Syntax
UCLASS&40;EditInlineNew, Category&61;"Export", Meta&61;&40;DisplayName&61;"Export particle data"&41;, MinimalAPI&41;
class UNiagaraDataInterfaceExport : public UNiagaraDataInterface
Remarks
This Data Interface can be used to gather particles at execution time and call either a C++ or blueprint object with the gathered particle data each tick.
Variables
| Type | Name | Description | |
|---|---|---|---|
| FNiagaraUserParameterBinding | CallbackHandlerParameter | Reference to a user parameter that should receive the particle data after the simulation tick. | |
| int | GPUAllocationFixedSize | Reserve a fixed number of elements we can write per frame. | |
| ENDIExport_GPUAllocationMode | GPUAllocationMode | ||
| float | GPUAllocationPerParticleSize | Uses the emitter property particle count * this to determine the number of elements we reserve for write per frame. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
UNiagaraDataInterfaceExport
(
const FObjectInitializer& ObjectInitializer |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | ExportData
(
FVectorVMExternalFunctionContext& Context |
||
| void | StoreData
(
FVectorVMExternalFunctionContext& Context |
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 | 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 | |||
| 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. | |
| bool | PerInstanceTickPostSimulate
(
void* PerInstanceData, |
||
| bool | When set to true the simulation may not complete in the same frame it started, allowing maximum overlap with the GameThread. | ||
| 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. | |
| bool | HasInternalAttributeReads
(
const UNiagaraEmitter* OwnerEmitter, |
Returns true if the DI (owned by OwnerEmitter) reads any attributes from the Provider emitter |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | Called after the C++ constructor and after the properties have been initialized, including those loaded from config. |