Navigation
API > API/Plugins > API/Plugins/HairStrandsCore
Data Interface for the strand base
| Name | UNiagaraDataInterfaceHairStrands |
| Type | class |
| Header File | /Engine/Plugins/Runtime/HairStrands/Source/HairStrandsCore/Public/Niagara/NiagaraDataInterfaceHairStrands.h |
| Include Path | #include "Niagara/NiagaraDataInterfaceHairStrands.h" |
Syntax
UCLASS (MinimalAPI, EditInlineNew, Category="Strands", Meta=(DisplayName="Hair Strands"))
class UNiagaraDataInterfaceHairStrands :
public UNiagaraDataInterface ,
public INiagaraSimCacheCustomStorageInterface
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UNiagaraNotifyOnChanged → UNiagaraDataInterfaceBase → UNiagaraDataInterface → UNiagaraDataInterfaceHairStrands
Implements Interfaces
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UNiagaraDataInterfaceHairStrands
(
const FObjectInitializer& ObjectInitializer |
Niagara/NiagaraDataInterfaceHairStrands.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| DefaultSource | TObjectPtr< UGroomAsset > | Hair Strands Asset used to sample from when not overridden by a source actor from the scene. | Niagara/NiagaraDataInterfaceHairStrands.h |
|
| SourceActor | TObjectPtr< AActor > | The source actor from which to sample | Niagara/NiagaraDataInterfaceHairStrands.h |
|
| SourceComponent | TWeakObjectPtr< class UGroomComponent > | The source component from which to sample | Niagara/NiagaraDataInterfaceHairStrands.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AdvectNodeOrientation
(
FVectorVMExternalFunctionContext& Context |
Add external torque to the angular velocity and advect node orientation | Niagara/NiagaraDataInterfaceHairStrands.h | |
void AdvectNodePosition
(
FVectorVMExternalFunctionContext& Context |
Add external force to the linear velocity and advect node position | Niagara/NiagaraDataInterfaceHairStrands.h | |
void AttachNodeOrientation
(
FVectorVMExternalFunctionContext& Context |
Update the root node position based on the current transform | Niagara/NiagaraDataInterfaceHairStrands.h | |
void AttachNodePosition
(
FVectorVMExternalFunctionContext& Context |
Update the root node orientation based on the current transform | Niagara/NiagaraDataInterfaceHairStrands.h | |
void AttachNodeState
(
FVectorVMExternalFunctionContext& Context |
Attach the node position and orientation to the transform or to the skin cache | Niagara/NiagaraDataInterfaceHairStrands.h | |
void BuildBoundingBox
(
FVectorVMExternalFunctionContext& Context |
Build the groom bounding box | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ComputeAirDragForce
(
FVectorVMExternalFunctionContext& Context |
Compute the air drag force | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ComputeEdgeDirection
(
FVectorVMExternalFunctionContext& Context |
Compute the rest direction | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ComputeEdgeLength
(
FVectorVMExternalFunctionContext& Context |
Compute the edge length (diff between 2 nodes positions) | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ComputeEdgeRotation
(
FVectorVMExternalFunctionContext& Context |
Compute the edge orientation (diff between 2 nodes orientations) | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ComputeLocalState
(
FVectorVMExternalFunctionContext& Context |
Get the rest position and orientation relative to the transform or to the skin cache | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ComputeMaterialFrame
(
FVectorVMExternalFunctionContext& Context |
Compute the strands material frame | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ComputeNodeInertia
(
FVectorVMExternalFunctionContext& Context |
Get the strand node inertia | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ComputeNodeMass
(
FVectorVMExternalFunctionContext& Context |
Get the strand node mass | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ComputeNodeOrientation
(
FVectorVMExternalFunctionContext& Context |
Get the strand node orientation in world space | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ComputeNodePosition
(
FVectorVMExternalFunctionContext& Context |
Get the strand node position in world space | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ComputeRestOrientation
(
FVectorVMExternalFunctionContext& Context |
Compute the rest local orientation | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ComputeRestPosition
(
FVectorVMExternalFunctionContext& Context |
Compute the rest local position | Niagara/NiagaraDataInterfaceHairStrands.h | |
void EvalSkinnedPosition
(
FVectorVMExternalFunctionContext& Context |
Eval the skinned position given a rest position | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ExtractDatasAndResources
(
FNiagaraSystemInstance* SystemInstance, |
Extract datas and resources | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ExtractSourceComponent
(
FNiagaraSystemInstance* SystemInstance |
End INiagaraSimCacheCustomStorageInterface Interface Update the source component | Niagara/NiagaraDataInterfaceHairStrands.h | |
void GetAirDrag
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetAirVelocity
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetBendDamping
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetBendScale
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetBendStiffness
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetBoundingBox
(
FVectorVMExternalFunctionContext& Context |
Get the bounding box center | Niagara/NiagaraDataInterfaceHairStrands.h | |
void GetCollisionRadius
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetGravityPreloading
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetGravityVector
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetGridDimension
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetIterationCount
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetKineticFriction
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetNumStrands
(
FVectorVMExternalFunctionContext& Context |
Get the number of strands | Niagara/NiagaraDataInterfaceHairStrands.h | |
void GetPointPosition
(
FVectorVMExternalFunctionContext& Context |
Get the strand vertex position in world space | Niagara/NiagaraDataInterfaceHairStrands.h | |
void GetProjectBend
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetProjectCollision
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetProjectStretch
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetRadiusScale
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetSampleState
(
FVectorVMExternalFunctionContext& Context |
Get the sample state given an index | Niagara/NiagaraDataInterfaceHairStrands.h | |
void GetSolveBend
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetSolveCollision
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetSolveStretch
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetStaticFriction
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetStrandsDensity
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetStrandSize
(
FVectorVMExternalFunctionContext& Context |
Get the groom asset datas | Niagara/NiagaraDataInterfaceHairStrands.h | |
void GetStrandsSmoothing
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetStrandsThickness
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetStrandsViscosity
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetStretchDamping
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetStretchScale
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetStretchStiffness
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetSubSteps
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetThicknessScale
(
FVectorVMExternalFunctionContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
void GetWorldInverse
(
FVectorVMExternalFunctionContext& Context |
Get the world inverse | Niagara/NiagaraDataInterfaceHairStrands.h | |
void GetWorldTransform
(
FVectorVMExternalFunctionContext& Context |
Get the world transform | Niagara/NiagaraDataInterfaceHairStrands.h | |
void HasGlobalInterpolation
(
FVectorVMExternalFunctionContext& Context |
Check if we have a global interpolation | Niagara/NiagaraDataInterfaceHairStrands.h | |
void InitGridSamples
(
FVectorVMExternalFunctionContext& Context |
Init the samples along the strands that will be used to transfer informations to the grid | Niagara/NiagaraDataInterfaceHairStrands.h | |
bool IsComponentValid() |
Check if the component is Valid | Niagara/NiagaraDataInterfaceHairStrands.h | |
void NeedRestUpdate
(
FVectorVMExternalFunctionContext& Context |
Check if we need a rest pose update | Niagara/NiagaraDataInterfaceHairStrands.h | |
void NeedSimulationReset
(
FVectorVMExternalFunctionContext& Context |
Check if we need or not a simulation reset | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ProjectAngularSpringMaterial
(
FVectorVMExternalFunctionContext& Context |
Project the angular spring material | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ProjectBendRodMaterial
(
FVectorVMExternalFunctionContext& Context |
Project the bend rod material | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ProjectDistanceSpringMaterial
(
FVectorVMExternalFunctionContext& Context |
Project the distance spring material | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ProjectHardCollisionConstraint
(
FVectorVMExternalFunctionContext& Context |
Project the static collision constraint | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ProjectSoftCollisionConstraint
(
FVectorVMExternalFunctionContext& Context |
Project the soft collision constraint | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ProjectStretchRodMaterial
(
FVectorVMExternalFunctionContext& Context |
Project the stretch rod material | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ResetBoundingBox
(
FVectorVMExternalFunctionContext& Context |
Reset the bounding box extent | Niagara/NiagaraDataInterfaceHairStrands.h | |
void ResetPointPosition
(
FVectorVMExternalFunctionContext& Context |
Reset the point position to be the rest one | Niagara/NiagaraDataInterfaceHairStrands.h | |
void SetupAngularSpringMaterial
(
FVectorVMExternalFunctionContext& Context |
Setup the angular spring material | Niagara/NiagaraDataInterfaceHairStrands.h | |
void SetupBendRodMaterial
(
FVectorVMExternalFunctionContext& Context |
Setup the bend rod material | Niagara/NiagaraDataInterfaceHairStrands.h | |
void SetupDistanceSpringMaterial
(
FVectorVMExternalFunctionContext& Context |
Setup the distance spring material | Niagara/NiagaraDataInterfaceHairStrands.h | |
void SetupSoftCollisionConstraint
(
FVectorVMExternalFunctionContext& Context |
Setup the soft collision constraint | Niagara/NiagaraDataInterfaceHairStrands.h | |
void SetupStretchRodMaterial
(
FVectorVMExternalFunctionContext& Context |
Setup the stretch rod material | Niagara/NiagaraDataInterfaceHairStrands.h | |
void SolveAngularSpringMaterial
(
FVectorVMExternalFunctionContext& Context |
Solve the angular spring material | Niagara/NiagaraDataInterfaceHairStrands.h | |
void SolveBendRodMaterial
(
FVectorVMExternalFunctionContext& Context |
Solve the bend rod material | Niagara/NiagaraDataInterfaceHairStrands.h | |
void SolveDistanceSpringMaterial
(
FVectorVMExternalFunctionContext& Context |
Solve the distance spring material | Niagara/NiagaraDataInterfaceHairStrands.h | |
void SolveHardCollisionConstraint
(
FVectorVMExternalFunctionContext& Context |
Solve the static collision constraint | Niagara/NiagaraDataInterfaceHairStrands.h | |
void SolveSoftCollisionConstraint
(
FVectorVMExternalFunctionContext& Context |
Solve the soft collision constraint | Niagara/NiagaraDataInterfaceHairStrands.h | |
void SolveStretchRodMaterial
(
FVectorVMExternalFunctionContext& Context |
Solve the stretch rod material | Niagara/NiagaraDataInterfaceHairStrands.h | |
void UpdateAngularVelocity
(
FVectorVMExternalFunctionContext& Context |
Update the node angular velocity based on the node orientation difference | Niagara/NiagaraDataInterfaceHairStrands.h | |
void UpdateLinearVelocity
(
FVectorVMExternalFunctionContext& Context |
Update the node linear velocity based on the node position difference | Niagara/NiagaraDataInterfaceHairStrands.h | |
void UpdateMaterialFrame
(
FVectorVMExternalFunctionContext& Context |
Update the strands material frame | Niagara/NiagaraDataInterfaceHairStrands.h | |
void UpdateNodeState
(
FVectorVMExternalFunctionContext& Context |
Update the node position and orientation based on rbf transfer | Niagara/NiagaraDataInterfaceHairStrands.h | |
void UpdatePointPosition
(
FVectorVMExternalFunctionContext& Context |
Report the node displacement onto the points position | Niagara/NiagaraDataInterfaceHairStrands.h |
Overridden from UNiagaraDataInterface
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool AppendCompileHash
(
FNiagaraCompileHashVisitor* InVisitor |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
virtual ETickingGroup CalculateTickGroup
(
const void* PerInstanceData |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
virtual bool CanExecuteOnTarget
(
ENiagaraSimTarget Target |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
virtual void DestroyPerInstanceData
(
void* PerInstanceData, |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
virtual bool Equals
(
const UNiagaraDataInterface* Other |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
virtual void GetCommonHLSL
(
FString& OutHLSL |
GPU simulation functionality | Niagara/NiagaraDataInterfaceHairStrands.h | |
virtual bool GetFunctionHLSL
(
const FNiagaraDataInterfaceGPUParamInfo& ParamInfo, |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
virtual void GetParameterDefinitionHLSL
(
const FNiagaraDataInterfaceGPUParamInfo& ParamInfo, |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
virtual void GetVMExternalFunction
(
const FVMExternalFunctionBindingInfo& BindingInfo, |
Begin UNiagaraDataInterface Interface | Niagara/NiagaraDataInterfaceHairStrands.h | |
virtual bool HasPreSimulateTick() |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
virtual bool HasTickGroupPrereqs() |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
virtual bool InitPerInstanceData
(
void* PerInstanceData, |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
virtual int32 PerInstanceDataSize() |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
virtual bool PerInstanceTick
(
void* PerInstanceData, |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
virtual void ProvidePerInstanceDataForRenderThread
(
void* DataForRenderThread, |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
virtual void SetShaderParameters
(
const FNiagaraDataInterfaceSetShaderParametersContext& Context |
Niagara/NiagaraDataInterfaceHairStrands.h |
Overridden from UNiagaraDataInterfaceBase
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BuildShaderParameters
(
FNiagaraShaderParametersBuilder& ShaderParametersBuilder |
Niagara/NiagaraDataInterfaceHairStrands.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PostInitProperties() |
UObject Interface | Niagara/NiagaraDataInterfaceHairStrands.h |
Overridden from INiagaraSimCacheCustomStorageInterface
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual TArray< FNiagaraVariableBase > GetSimCacheRendererAttributes
(
const UObject* UsageContext |
Niagara/NiagaraDataInterfaceHairStrands.h | ||
virtual void SimCachePostReadFrame
(
void* OptionalPerInstanceData, |
End UNiagaraDataInterface Interface Begin INiagaraSimCacheCustomStorageInterface Interface | Niagara/NiagaraDataInterfaceHairStrands.h |
Protected
Overridden from UNiagaraDataInterface
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool CopyToInternal
(
UNiagaraDataInterface* Destination |
Copy one niagara DI to this | Niagara/NiagaraDataInterfaceHairStrands.h | |
virtual void GetFunctionsInternal
(
TArray< FNiagaraFunctionSignature >& OutFunctions |
Niagara/NiagaraDataInterfaceHairStrands.h |