UNiagaraDataInterfaceSkeletalMesh

Data Interface allowing sampling of skeletal meshes.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Niagara

Header

/Engine/Plugins/FX/Niagara/Source/Niagara/Classes/NiagaraDataInterfaceSkeletalMesh.h

Include

#include "NiagaraDataInterfaceSkeletalMesh.h"

Syntax

[UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(EditInlineNew, Category="Meshes", Meta=(DisplayName="Skeletal Mesh"))
class UNiagaraDataInterfaceSkeletalMesh : public UNiagaraDataInterface

Remarks

Data Interface allowing sampling of skeletal meshes.

Variables

Name Description

Public variable UProperty Category, EditAnywhere, Meta

uint8: 1

 

bExcludeBone

Public variable UProperty Category, EditAnywhere

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.

Public variable

uint32

 

ChangeId

Cached change id off of the data interface.

Public variable UProperty Category, EditAnywhere, Meta

FName

 

ExcludeBoneName

Optionally remove a single bone from Random / Random Unfiltered access.

Public variable UProperty Category, EditAnywhere

TArray< FName >

 

FilteredBones

Set of filtered bones that can be used for sampling.

Public variable UProperty Category, EditAnywhere

TArray< FName >

 

FilteredSockets

Set of filtered sockets that can be used for sampling.

Public variable UProperty Category, EditAnywhere

FNiagaraUserPar...

 

MeshUserParameter

Reference to a user parameter if we're reading one.

Public variable UProperty Category, EditAnywhere

TSoftObjectPtr<...

 

PreviewMesh

Mesh used to sample from when not overridden by a source actor from the scene.

Public variable UProperty Category, EditAnywhere

TArray< FName >

 

SamplingRegions

Sampling regions on the mesh from which to sample. Leave this empty to sample from the whole mesh.

Public variable UProperty Category, EditAnywhere

ENDISkeletalMes...

 

SkinningMode

Selects which skinning mode to use, for most cases Skin On The Fly will cover your requirements, see individual tooltips for more information.

Public variable UProperty Category, EditAnywhere

AActor *

 

Source

The source actor from which to sample.

Public variable UProperty Transient

USkeletalMeshCo...

 

SourceComponent

The source component from which to sample.

Public variable UProperty Category, EditAnywhere

ENDISkeletalMes...

 

SourceMode

Controls how to retrieve the Skeletal Mesh Component to attach to.

Public variable UProperty Category, EditAnywhere

int32

 

UvSetIndex

Public variable UProperty Category, EditAnywhere

int32

 

WholeMeshLOD

If no regions are specified, we'll sample the whole mesh at this LODIndex.

Constructors

Name Description

Public function

UNiagaraDataInterfaceSkeletalMesh

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function

void

 

BindSkeletonSamplingFunction

(
    const FVMExternalFunctionBindingInf...,
    FNDISkeletalMesh_InstanceData*...,
    FVMExternalFunction& OutFunc
)

Public function

void

 

BindTriangleSamplingFunction

(
    const FVMExternalFunctionBindingInf...,
    FNDISkeletalMesh_InstanceData*...,
    FVMExternalFunction& OutFunc
)

Public function

void

 

BindVertexSamplingFunction

(
    const FVMExternalFunctionBindingInf...,
    FNDISkeletalMesh_InstanceData*...,
    FVMExternalFunction& OutFunc
)

Public function Const

int32

 

CalculateLODIndexAndSamplingRegions

(
    USkeletalMesh* InMesh,
    TArray< int32 >& OutSamplingRegion...,
    bool& OutAllRegionsAreAreaWeightin...
)

Public function

void

 

GetBoneCount

(
    FVectorVMContext& Context
)

Public function

void

 

GetFilteredBoneAt

(
    FVectorVMContext& Context
)

Public function

void

 

GetFilteredBoneCount

(
    FVectorVMContext& Context
)

Public function

void

 

GetFilteredSocketBoneAt

(
    FVectorVMContext& Context
)

Public function

void

 

GetFilteredSocketCount

(
    FVectorVMContext& Context
)

Public function

void

 

GetFilteredSocketOrBoneBoneAt

(
    FVectorVMContext& Context
)

Public function

void

 

GetFilteredSocketOrBoneCount

(
    FVectorVMContext& Context
)

Public function

void

 

GetFilteredSocketTransform

(
    FVectorVMContext& Context
)

Public function

int32

 

GetFilteredTriangleAt

(
    FSkeletalMeshAccessorHelper& Acces...,
    FNDISkeletalMesh_InstanceData*...,
    int32 FilteredIndex
)

Public function

int32

 

GetFilteredTriangleAt

(
    FSkeletalMeshAccessorHelper& Acces...,
    FNDISkeletalMesh_InstanceData*...,
    int32 FilteredIndex
)

Public function

int32

 

GetFilteredTriangleAt

(
    FSkeletalMeshAccessorHelper& Acces...,
    FNDISkeletalMesh_InstanceData*...,
    int32 FilteredIndex
)

Public function

int32

 

GetFilteredTriangleAt

(
    FSkeletalMeshAccessorHelper& Acces...,
    FNDISkeletalMesh_InstanceData*...,
    int32 FilteredIndex
)

Public function

int32

 

GetFilteredTriangleAt

(
    FSkeletalMeshAccessorHelper& Acces...,
    FNDISkeletalMesh_InstanceData*...,
    int32 FilteredIndex
)

Public function

int32

 

GetFilteredTriangleAt

(
    FSkeletalMeshAccessorHelper& Acces...,
    FNDISkeletalMesh_InstanceData*...,
    int32 FilteredIndex
)

Public function

void

 

GetFilteredTriangleAt

(
    FVectorVMContext& Context
)

Public function

int32

 

GetFilteredTriangleCount

Public function

int32

 

GetFilteredTriangleCount

Public function

int32

 

GetFilteredTriangleCount

Public function

int32

 

GetFilteredTriangleCount

Public function

void

 

GetFilteredTriangleCount

(
    FVectorVMContext& Context
)

Public function

int32

 

GetFilteredTriangleCount

Public function

int32

 

GetFilteredTriangleCount

Public function

int32

 

GetFilteredVertexAt

(
    FSkeletalMeshAccessorHelper& Acces...,
    FNDISkeletalMesh_InstanceData*...,
    int32 FilteredIndex
)

Public function

int32

 

GetFilteredVertexAt

(
    FSkeletalMeshAccessorHelper& Acces...,
    FNDISkeletalMesh_InstanceData*...,
    int32 FilteredIndex
)

Public function

int32

 

GetFilteredVertexAt

(
    FSkeletalMeshAccessorHelper& Acces...,
    FNDISkeletalMesh_InstanceData*...,
    int32 FilteredIndex
)

Public function

void

 

GetFilteredVertexAt

(
    FVectorVMContext& Context
)

Public function

int32

 

GetFilteredVertexCount

Public function

int32

 

GetFilteredVertexCount

Public function

void

 

GetFilteredVertexCount

(
    FVectorVMContext& Context
)

Public function

int32

 

GetFilteredVertexCount

Public function

USkeletalMes...

 

GetSkeletalMesh

(
    FNiagaraSystemInstance* System...,
    TWeakObjectPtr< USceneComponent >&...,
    USkeletalMeshComponent*& Found...,
    FNDISkeletalMesh_InstanceData*...
)

Public function

void

 

GetSkeletonSamplingFunctions

End of Vertex Sampling.

Public function

void

 

GetSkinnedBoneData

(
    FVectorVMContext& Context
)

Public function

void

 

GetTriangleCoordAtUV

(
    FVectorVMContext& Context
)

Public function

void

 

GetTriangleCoordAtUV

(
    FVectorVMContext& Context
)

Public function

void

 

GetTriangleCoordInAabb

(
    FVectorVMContext& Context
)

Public function

void

 

GetTriangleCoordInAabb

(
    FVectorVMContext& Context
)

Public function

void

 

GetTriangleSamplingFunctions

Triangle sampling Triangles are sampled a using MeshTriangleCoordinates which are composed of Triangle index and a bary centric coordinate on that triangle.

Public function

void

 

GetTriCoordColor

(
    FVectorVMContext& Context
)

Public function

void

 

GetTriCoordColorFallback

(
    FVectorVMContext& Context
)

Public function

void

 

GetTriCoordSkinnedData

(
    FVectorVMContext& Context
)

Public function

void

 

GetTriCoordSkinnedDataFallback

(
    FVectorVMContext& Context
)

Public function

void

 

GetTriCoordUV

(
    FVectorVMContext& Context
)

Public function

void

 

GetTriCoordUV

(
    FVectorVMContext& Context
)

Public function

void

 

GetTriCoordVertices

(
    FVectorVMContext& Context
)

Public function

void

 

GetUnfilteredBoneAt

(
    FVectorVMContext& Context
)

Public function

void

 

GetUnfilteredBoneCount

(
    FVectorVMContext& Context
)

Public function

void

 

GetVertexColor

(
    FVectorVMContext& Context
)

Public function

void

 

GetVertexColorFallback

(
    FVectorVMContext& Context
)

Public function

void

 

GetVertexCount

(
    FVectorVMContext& Context
)

Public function

void

 

GetVertexSamplingFunctions

End of Mesh Sampling.

Public function

void

 

GetVertexSkinnedData

(
    FVectorVMContext& Context
)

Public function

void

 

GetVertexUV

(
    FVectorVMContext& Context
)

Public function

void

 

GetVertexUV

(
    FVectorVMContext& Context
)

Public function

void

 

IsValidBone

(
    FVectorVMContext& Context
)

Public function

void

 

IsValidFilteredVertex

(
    FVectorVMContext& Context
)

Public function

void

 

IsValidTriCoord

(
    FVectorVMContext& Context
)

Public function

void

 

IsValidVertex

(
    FVectorVMContext& Context
)

Public function

void

 

RandomBone

(
    FVectorVMContext& Context
)

Public function

void

 

RandomFilteredBone

(
    FVectorVMContext& Context
)

Public function

void

 

RandomFilteredSocket

(
    FVectorVMContext& Context
)

Public function

void

 

RandomFilteredSocketOrBone

(
    FVectorVMContext& Context
)

Public function

void

 

RandomFilteredVertex

(
    FVectorVMContext& Context
)

Public function

void

 

RandomTriCoord

(
    FVectorVMContext& Context
)

Public function

void

 

RandomUnfilteredBone

(
    FVectorVMContext& Context
)

Public function

void

 

RandomVertex

(
    FVectorVMContext& Context
)

Public function

void

 

SetSamplingRegionsFromBlueprints

(
    const TArray< FName >& InSamplingR...
)

Public function

void

 

SetSourceComponentFromBlueprints

(
    USkeletalMeshComponent* Compon...
)

End of Direct Bone + Socket Sampling.

Overridden from UNiagaraDataInterface

Name Description

Public function Virtual Const

bool

 

AppendCompileHash

(
    FNiagaraCompileHashVisitor* In...
)

Allows the generic class defaults version of this class to specify any dependencies/version/etc that might invalidate the compile.

Public function Virtual Const

ETickingGrou...

 

CalculateTickGroup

(
    const void* PerInstanceData
)

Public function Virtual Const

bool

 

CanExecuteOnTarget

(
    ENiagaraSimTarget Target
)

Protected function Virtual Const

bool

 

CopyToInternal

(
    UNiagaraDataInterface* Destina...
)

Public function Virtual

void

 

DestroyPerInstanceData

(
    void* PerInstanceData,
    FNiagaraSystemInstance* System...
)

Destroys the per instance data for this interface.

Public function Virtual Const

bool

 

Equals

(
    const UNiagaraDataInterface* O...
)

Determines if this DataInterface is the same as another.

Public function Virtual

void

 

GetCommonHLSL

(
    FString& OutHLSL
)

Allows data interfaces to provide common functionality that will be shared across interfaces on that type.

Public function Virtual

void

 

GetFeedback

(
    UNiagaraSystem* InAsset,
    UNiagaraComponent* InComponent,
    TArray< FNiagaraDataInterfaceError ...,
    TArray< FNiagaraDataInterfaceFeedba...,
    TArray< FNiagaraDataInterfaceFeedba...
)

Query the data interface to give feedback to the end user.

Public function Virtual

bool

 

GetFunctionHLSL

(
    const FNiagaraDataInterfaceGPUParam...,
    const FNiagaraDataInterfaceGenerate...,
    int FunctionInstanceIndex,
    FString& OutHLSL
)

Public function Virtual

void

 

GetFunctions

Gets all the available functions for this data interface.

Public function Virtual

void

 

GetParameterDefinitionHLSL

(
    const FNiagaraDataInterfaceGPUParam...,
    FString& OutHLSL
)

Public function Virtual

void

 

GetVMExternalFunction

(
    const FVMExternalFunctionBindingInf...,
    void* InstanceData,
    FVMExternalFunction& OutFunc
)

Returns the delegate for the passed function signature.

Public function Virtual Const

bool

 

HasPreSimulateTick()

Public function Virtual Const

bool

 

HasTickGroupPrereqs()

Public function Virtual

bool

 

InitPerInstanceData

(
    void* PerInstanceData,
    FNiagaraSystemInstance* System...
)

Initializes the per instance data for this interface.

Public function Virtual Const

void

 

ModifyCompilationEnvironment

(
    FShaderCompilerEnvironment& OutEnv...
)

Allows data interfaces to influence the compilation of GPU shaders and is only called on the CDO object not the instance.

Public function Virtual Const

int32

 

PerInstanceDataSize()

Returns the size of the per instance data for this interface.

Public function Virtual

bool

 

PerInstanceTick

(
    void* PerInstanceData,
    FNiagaraSystemInstance* System...,
    float DeltaSeconds
)

Ticks the per instance data for this interface, if it has any.

Public function Virtual

void

 

ProvidePerInstanceDataForRenderThread

(
    void* DataForRenderThread,
    void* PerInstanceData,
    const FNiagaraSystemInstanceID& Sy...
)

Subclasses that wish to work with GPU systems/emitters must implement this.

Public function Virtual

bool

 

UpgradeFunctionCall

(
    FNiagaraFunctionSignature& Functio...
)

Allows data interfaces the opportunity to rename / change the function signature and perform an upgrade.

Public function Virtual

void

 

ValidateFunction

(
    const FNiagaraFunctionSignature& F...,
    TArray< FText >& OutValidationErro...
)

Validates a function being compiled and allows interface classes to post custom compile errors when their API changes.

Overridden from UNiagaraDataInterfaceBase

Name Description

Public function Virtual

void

 

BindParameters

(
    FNiagaraDataInterfaceParametersCS&...,
    const FNiagaraDataInterfaceGPUParam...,
    const FShaderParameterMap& Paramet...
)

Methods that operate on an instance of type FNiagaraDataInterfaceParametersCS*, created by the above CreateComputeParameters() method

Public function Virtual Const

FNiagaraData...

 

CreateComputeParameters()

Constructs the correct CS parameter type for this DI (if any).

Public function Virtual Const

const FTypeL...

 

GetComputeParametersTypeDesc()

Public function Virtual Const

void

 

SetParameters

(
    const FNiagaraDataInterfaceParamete...,
    FRHICommandList& RHICmdList,
    const FNiagaraDataInterfaceSetArgs ...
)

Public function Virtual Const

void

 

UnsetParameters

(
    const FNiagaraDataInterfaceParamete...,
    FRHICommandList& RHICmdList,
    const FNiagaraDataInterfaceSetArgs ...
)

Overridden from UObject

Name Description

Public function Virtual Const

bool

 

CanEditChange

(
    const FProperty* InProperty
)

Called by the editor to query whether a property of this object is allowed to be modified.

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent& PropertyCha...
)

Called when a property on this object has been modified externally

Public function Virtual

void

 

PostInitProperties()

Called after the C++ constructor and after the properties have been initialized, including those loaded from config.

Public function Virtual

void

 

PostLoad()

Do any object-specific cleanup required immediately after loading an object.

Constants

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss