UFieldSystemComponent

UENUM(BlueprintType) enum class EChaosObjectType Chaos_Destruction UMETA(DisplayName = "Set Always", ToolTip = "The particle output value will be equal to Interior-value if the particle position is inside a sphere / Exterior-value otherwise."), Chaos_Rigid,

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

FieldSystemEngine

Header

/Engine/Source/Runtime/Experimental/FieldSystem/Source/FieldSystemEngine/Public/Field/FieldSystemComponent.h

Include

#include "Field/FieldSystemComponent.h"

Syntax

class UFieldSystemComponent : public UPrimitiveComponent

Remarks

UENUM(BlueprintType) enum class EChaosObjectType Chaos_Destruction UMETA(DisplayName = "Set Always", ToolTip = "The particle output value will be equal to Interior-value if the particle position is inside a sphere / Exterior-value otherwise."), Chaos_Rigid,

Chaos_Rban UMETA(DisplayName = "Merge Interior", ToolTip = "The particle output value will be equal to Interior-value if the particle position is inside the sphere or if the particle input value is already Interior-Value / Exterior-value otherwise."), Chaos_Cloth UMETA(DisplayName = "Merge Exterior", ToolTip = "The particle output value will be equal to Exterior-value if the particle position is outside the sphere or if the particle input value is already Exterior-Value / Interior-value otherwise."), //~~~ //256th entry Chaos_Objects_Max UMETA(Hidden) FieldSystemComponent

Variables

Name Description

Protected variable

bool

 

bHasPhysicsState

Boolean to check that the physics state has been built

Public variable

bool

 

bIsChaosField

If enabled the field will be used by all the chaos solvers

Public variable

bool

 

bIsWorldField

If enabled the field will be pushed to the world fields and will be available to materials and niagara

Public variable

FFieldObjectCom...

 

BufferCommands

List of all the buffer command

Protected variable

FChaosSolversMo...

 

ChaosModule

Chaos module linked to that component

Protected variable

TArray< FFieldS...

 

ChaosPersistentFields

List of all the chaos peristent fields

Public variable

FFieldObjectCom...

 

ConstructionCommands

List of all the construction command

Public variable

UFieldSystem &#...

 

FieldSystem

Field system asset to be used to store the construction fields

Protected variable

TArray< FFieldS...

 

SetupConstructionFields

List of all the field used to setup chaos (anchor...)

Public variable

TArray< TSoftOb...

 

SupportedSolvers

List of solvers this field will affect. An empty list makes this field affect all solvers.

Protected variable

TArray< FFieldS...

 

WorldCPUPersistentFields

List of the world CPU peristent fields created by this field component

Protected variable

TArray< FFieldS...

 

WorldGPUPersistentFields

List of the world GPU peristent fields created by this field component

Constructors

Name Description

Public function

UFieldSystemComponent

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function

void

 

AddFieldCommand

(
    bool Enabled,
    EFieldPhysicsType Target,
    UFieldSystemMetaData* MetaData,
    UFieldNodeBase* Field
)

AddConstructionField This function will dispatch a command to the physics thread to apply a generic evaluation of a user defined field network.

Public function

void

 

AddPersistentField

(
    bool Enabled,
    EFieldPhysicsType Target,
    UFieldSystemMetaData* MetaData,
    UFieldNodeBase* Field
)

AddPersistentField This function will dispatch a command to the physics thread to apply a generic evaluation of a user defined field network.

Public function

void

 

ApplyLinearForce

(
    bool Enabled,
    FVector Direction,
    float Magnitude
)

ApplyUniformForce This function will dispatch a command to the physics thread to apply a uniform linear force on each particle within the simulation.

Public function

void

 

ApplyPhysicsField

(
    bool Enabled,
    EFieldPhysicsType Target,
    UFieldSystemMetaData* MetaData,
    UFieldNodeBase* Field
)

AddTransientField This function will dispatch a command to the physics thread to apply a generic evaluation of a user defined transient field network.

Public function

void

 

ApplyRadialForce

(
    bool Enabled,
    FVector Position,
    float Magnitude
)

ApplyRadialForce This function will dispatch a command to the physics thread to apply a linear force that points away from a position.

Public function

void

 

ApplyRadialVectorFalloffForce

(
    bool Enabled,
    FVector Position,
    float Radius,
    float Magnitude
)

FalloffRadialForce This function will dispatch a command to the physics thread to apply a linear force from a position in space.

Public function

void

 

ApplyStayDynamicField

(
    bool Enabled,
    FVector Position,
    float Radius
)

SetDynamicState This function will dispatch a command to the physics thread to apply a kinematic to dynamic state change for the particles within the field.

Public function

void

 

ApplyStrainField

(
    bool Enabled,
    FVector Position,
    float Radius,
    float Magnitude,
    int32 Iterations
)

ApplyExternalStran This function will dispatch a command to the physics thread to apply a strain field on a clustered set of geometry.

Public function

void

 

ApplyUniformVectorFalloffForce

(
    bool Enabled,
    FVector Position,
    FVector Direction,
    float Radius,
    float Magnitude
)

FalloffUniformForce This function will dispatch a command to the physics thread to apply a linear force in a uniform direction.

Protected function

void

 

BuildFieldCommand

(
    bool Enabled,
    EFieldPhysicsType Target,
    UFieldSystemMetaData* MetaData,
    UFieldNodeBase* Field,
    const bool IsTransient
)

Build a physics field command and dispatch it

Protected function

void

 

ClearFieldCommands()

Remove the persistent commands from chaos/world

Protected function

void

 

DispatchFieldCommand

(
    const FFieldSystemCommand& InComma...,
    const bool IsTransient
)

Dispatch the field command to chaos/world

Public function Const

const TArray...

 

GetConstructionFields()

Get all the construction fields

Public function Const

const UField...

 

GetFieldSystem()

Get the field system asset

Protected function Const

TSet< FPhysS...

 

GetPhysicsScenes()

Get ell ethe supported physics scenes

Protected function Const

TArray< Chao...

 

GetPhysicsSolvers()

Get ell the supported physics solvers

Public function

void

 

RemovePersistentFields()

RemovePersistentFields This function will remove all the field component persistent fields from chaos and from the world

Public function

void

 

ResetFieldSystem()

RemoveConstructionFields This function will remove all the field component construction fields from chaos and from the world

Public function

void

 

SetFieldSystem

(
    UFieldSystem* FieldSystemIn
)

Set the field system asset

Overridden from UPrimitiveComponent

Name Description

Public function Virtual

FPrimitiveSc...

 

CreateSceneProxy()

Creates a proxy to represent the primitive to the scene manager in the rendering thread.

Overridden from USceneComponent

Name Description

Public function Virtual Const

bool

 

HasAnySockets()

Returns true if this component has any sockets

Overridden from UActorComponent

Name Description

Protected function Virtual Const

bool

 

HasValidPhysicsState()

Used to check that DestroyPhysicsState() is working correctly

Protected function Virtual

void

 

OnCreatePhysicsState()

Used to create any physics engine information for this component

Protected function Virtual

void

 

OnDestroyPhysicsState()

Used to shut down and physics engine structure for this component

Protected function Virtual Const

bool

 

ShouldCreatePhysicsState()

Return true if CreatePhysicsState() should be called.

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