Navigation
Unreal Engine C++ API Reference > Plugins > Niagara
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UNiagaraMergeable
- UNiagaraDataInterfaceBase
- UNiagaraDataInterface
- UNiagaraDataInterfaceSkeletalMesh
References
Module | Niagara |
Header | /Engine/Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraDataInterfaceSkeletalMesh.h |
Include | #include "NiagaraDataInterfaceSkeletalMesh.h" |
Syntax
UCLASS&40;EditInlineNew, Category&61;"Meshes", Meta&61;&40;DisplayName&61;"Skeletal Mesh"&41;, MinimalAPI&41;
class UNiagaraDataInterfaceSkeletalMesh : public UNiagaraDataInterface
Remarks
Data Interface allowing sampling of skeletal meshes.
Variables
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
uint8: 1 | bExcludeBone | |
![]() ![]() ![]() |
bool | bRequireCurrentFrameData | When this option is disabled, we use the previous frame's data for the skeletal mesh and can often issue the simulation early. |
![]() |
uint32 | ChangeId | Cached change id off of the data interface. |
![]() ![]() ![]() |
TArray< FName > | ComponentTags | If defined, the supplied tags will be used to identify a valid component |
![]() ![]() ![]() |
FName | ExcludeBoneName | Optionally remove a single bone from Random / Random Unfiltered access. |
![]() ![]() ![]() |
TArray< FName > | FilteredBones | Set of filtered bones that can be used for sampling. |
![]() ![]() ![]() |
TArray< FName > | FilteredSockets | Set of filtered sockets that can be used for sampling. |
![]() ![]() ![]() |
FNiagaraUserParameterBinding | MeshUserParameter | Reference to a user parameter if we're reading one. |
![]() ![]() ![]() |
TSoftObjectPtr< USkeletalMesh > | PreviewMesh | Mesh used to sample from when not overridden by a source actor from the scene. |
![]() ![]() ![]() |
TArray< FName > | SamplingRegions | Sampling regions on the mesh from which to sample. Leave this empty to sample from the whole mesh. |
![]() ![]() ![]() |
ENDISkeletalMesh_SkinningMode | SkinningMode | Selects which skinning mode to use, for most cases Skin On The Fly will cover your requirements, see individual tooltips for more information. |
![]() ![]() ![]() |
TSoftObjectPtr< AActor > | SoftSourceActor | The source actor from which to sample. |
![]() ![]() ![]() |
TObjectPtr< USkeletalMeshComponent > | SourceComponent | The source component from which to sample. |
![]() ![]() ![]() |
ENDISkeletalMesh_SourceMode | SourceMode | Controls how to retrieve the Skeletal Mesh Component to attach to. |
![]() ![]() ![]() |
int32 | UvSetIndex | |
![]() ![]() ![]() |
int32 | WholeMeshLOD | If no regions are specified, we'll sample the whole mesh at this LODIndex. |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
UNiagaraDataInterfaceSkeletalMesh
(
const FObjectInitializer& ObjectInitializer |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | BindSkeletonSamplingFunction
(
const FVMExternalFunctionBindingInfo& BindingInfo, |
|
![]() |
void | ||
![]() |
void | BindTriangleSamplingFunction
(
const FVMExternalFunctionBindingInfo& BindingInfo, |
|
![]() |
void | BindVertexSamplingFunction
(
const FVMExternalFunctionBindingInfo& BindingInfo, |
|
![]() ![]() |
int32 | CalculateLODIndexAndSamplingRegions
(
USkeletalMesh* InMesh, |
|
![]() |
void | GetBoneCount
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetFilteredBoneAt
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetFilteredBoneCount
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetFilteredSocketBoneAt
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetFilteredSocketCount
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetFilteredSocketOrBoneBoneAt
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetFilteredSocketOrBoneCount
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetFilteredSocketTransform
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
int32 | GetFilteredTriangleAt
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
int32 | GetFilteredTriangleAt
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
int32 | GetFilteredTriangleAt
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
int32 | GetFilteredTriangleAt
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
int32 | GetFilteredTriangleAt
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
int32 | GetFilteredTriangleAt
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
void | GetFilteredTriangleAt
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
int32 | GetFilteredTriangleCount
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
int32 | GetFilteredTriangleCount
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
int32 | GetFilteredTriangleCount
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
int32 | GetFilteredTriangleCount
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
int32 | GetFilteredTriangleCount
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
void | GetFilteredTriangleCount
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
int32 | GetFilteredTriangleCount
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
int32 | GetFilteredVertexAt
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
void | GetFilteredVertexAt
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
int32 | GetFilteredVertexAt
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
int32 | GetFilteredVertexAt
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
int32 | GetFilteredVertexCount
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
int32 | GetFilteredVertexCount
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
int32 | GetFilteredVertexCount
(
FSkeletalMeshAccessorHelper& Accessor, |
|
![]() |
void | GetFilteredVertexCount
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetParentBone
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
USkeletalMesh * | GetSkeletalMesh
(
FNiagaraSystemInstance* SystemInstance, |
This overload is for use when initializing per-instance data. |
![]() |
USkeletalMesh * | GetSkeletalMesh
(
UNiagaraComponent* Component |
Finds the skeletal mesh based on settings of the DI and the hierarchy of the object provided |
![]() |
void | GetSkeletonSamplingFunctions
(
TArray< FNiagaraFunctionSignature >& OutFunctions |
End of Vertex Sampling. |
![]() |
void | GetSkinnedBoneData
(
FVectorVMExternalFunctionContext& Context |
|
![]() ![]() |
AActor * | ||
![]() ![]() |
USkeletalMeshComponent * | ||
![]() |
void | GetTriangleCoordAtUV
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetTriangleCoordAtUV
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetTriangleCoordInAabb
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetTriangleCoordInAabb
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetTriangleData
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetTriangleSamplingFunctions
(
TArray< FNiagaraFunctionSignature >& OutFunctions |
Triangle sampling Triangles are sampled a using MeshTriangleCoordinates which are composed of Triangle index and a bary centric coordinate on that triangle. |
![]() |
void | GetTriCoordColor
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetTriCoordColorFallback
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetTriCoordSkinnedData
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetTriCoordSkinnedDataFallback
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetTriCoordUV
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetTriCoordUV
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetTriCoordVertices
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetUnfilteredBoneAt
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetUnfilteredBoneCount
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetVertexColor
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetVertexColorFallback
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetVertexCount
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetVertexData
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetVertexSamplingFunctions
(
TArray< FNiagaraFunctionSignature >& OutFunctions |
End of Mesh Sampling. |
![]() |
void | GetVertexSkinnedData
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetVertexUV
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | GetVertexUV
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | IsValidBone
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | IsValidFilteredVertex
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | IsValidTriCoord
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | IsValidVertex
(
FVectorVMExternalFunctionContext& Context |
|
![]() ![]() |
void | OnSourceEndPlay
(
AActor* InSource, |
|
![]() |
void | RandomBone
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | RandomFilteredBone
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | RandomFilteredSocket
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | RandomFilteredSocketOrBone
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | RandomFilteredVertex
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | RandomTriCoord
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | RandomUnfilteredBone
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | RandomVertex
(
FVectorVMExternalFunctionContext& Context |
|
![]() |
void | SetFilteredBonesFromBlueprints
(
const TArray< FName >& InFilteredBones |
|
![]() |
void | SetFilteredSocketsFromBlueprints
(
const TArray< FName >& InFilteredSockets |
|
![]() |
void | SetSamplingRegionsFromBlueprints
(
const TArray< FName >& InSamplingRegions |
|
![]() |
void | SetSourceComponentFromBlueprints
(
USkeletalMeshComponent* ComponentToUse |
End of Direct Bone + Socket Sampling. |
![]() |
void | SetWholeMeshLODFromBlueprints
(
int32 MeshLODLevel |
|
![]() |
void | Bind/unbind delegates to release references to the source actor & component. | |
![]() |
void | VMGetPreSkinnedLocalBounds
(
FVectorVMExternalFunctionContext& Context |
Misc Functions. |
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. |
![]() ![]() ![]() |
ETickingGroup | CalculateTickGroup
(
const void* PerInstanceData |
|
![]() ![]() ![]() |
bool | CanExecuteOnTarget
(
ENiagaraSimTarget Target |
|
![]() ![]() ![]() |
bool | CopyToInternal
(
UNiagaraDataInterface* Destination |
|
![]() ![]() |
void | DestroyPerInstanceData
(
void* PerInstanceData, |
Destroys the per instance data for this interface. |
![]() ![]() ![]() |
void | DrawDebugHud
(
FNDIDrawDebugHudContext& DebugHudContext |
Override this function to provide additional context to the debug HUD. |
![]() ![]() ![]() |
bool | Equals
(
const UNiagaraDataInterface* Other |
Determines if this DataInterface is the same as another. |
![]() ![]() |
void | GetCommonHLSL
(
FString& OutHLSL |
Allows data interfaces to provide common functionality that will be shared across interfaces on that type. |
![]() ![]() |
void | GetFeedback
(
UNiagaraSystem* InAsset, |
Query the data interface to give feedback to the end user. |
![]() ![]() |
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. |
![]() ![]() ![]() |
void | ModifyCompilationEnvironment
(
EShaderPlatform ShaderPlatform, |
Allows data interfaces to influence the compilation of GPU shaders and is only called on the CDO object not the instance. |
![]() ![]() ![]() |
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 | 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. |
![]() ![]() |
void | ValidateFunction
(
const FNiagaraFunctionSignature& Function, |
Validates a function being compiled and allows interface classes to post custom compile errors when their API changes. |
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 | |
---|---|---|---|
![]() ![]() ![]() |
bool | CanEditChange
(
const FProperty* InProperty |
Called by the editor to query whether a property of this object is allowed to be modified. |
![]() ![]() |
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 UObjectBaseUtility
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
bool | Called during cluster construction if the object can be added to a cluster |
Deprecated Variables
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
TObjectPtr< AActor > | Source_DEPRECATED |