UNiagaraDataInterfacePhysicsAsset

Data Interface for the strand base

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

HairStrandsCore

Header

/Engine/Plugins/Runtime/HairStrands/Source/HairStrandsCore/Public/Niagara/NiagaraDataInterfacePhysicsAsset.h

Include

#include "Niagara/NiagaraDataInterfacePhysicsAsset.h"

Syntax

UCLASS(EditInlineNew, Category="Strands", Meta=(DisplayName="Physics Asset"))
class UNiagaraDataInterfacePhysicsAsset : public UNiagaraDataInterface

Remarks

Data Interface for the strand base

Variables

Name Description

Public variable UProperty Category, EditAnywhere

TObjectPtr< UPh...

 

DefaultSource

Skeletal Mesh from which the Physics Asset will be found.

Public variable UProperty Category, EditAnywhere

FNiagaraUserPar...

 

MeshUserParameter

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

Public variable

TArray< TWeakOb...

 

PhysicsAssets

The source asset from which to sample

Public variable UProperty Category, EditAnywhere

TObjectPtr< AAc...

 

SourceActor

The source actor from which to sample

Public variable

TArray< TWeakOb...

 

SourceComponents

The source component from which to sample

Constructors

Name Description

Public function

UNiagaraDataInterfacePhysicsAsset

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function

void

 

ExtractSourceComponent

(
    FNiagaraSystemInstance* System...,
    FTransform& LocalTransform
)

Extract the source component

Public function

void

 

GetClosestDistance

Get the closest distance

Public function

void

 

GetClosestElement

Get the closest element

Public function

void

 

GetClosestPoint

Get the closest point

Public function

void

 

GetElementDistance

Get the element distance

Public function

void

 

GetElementPoint

Get the element point

Public function

void

 

GetNumBoxes

Get the number of boxes

Public function

void

 

GetNumCapsules

Get the number of capsules

Public function

void

 

GetNumSpheres

Get the number of spheres

Public function

void

 

GetProjectionPoint

Get the projection point

Public function

void

 

GetTexturePoint

Get the closest texture point

Overridden from UNiagaraDataInterface

Name Description

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...
)

Copy one niagara DI to this

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
)

GPU simulation functionality

Public function Virtual

bool

 

GetFunctionHLSL

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

Public function Virtual

void

 

GetFunctions

UNiagaraDataInterface 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

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.

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

void

 

PostInitProperties()

UObject Interface

Constants

Name

Description

BoxExtentName

Init Box extent

BoxOriginName

Init Box Origin

ElementExtentBufferName

Name of the element extent buffer

ElementOffsetsName

Name of element offsets

InverseTransformBufferName

Name of the inverse transform buffer

PhysicsTypeBufferName

Name of the physics type buffer

WorldTransformBufferName

Name of the world transform buffer