UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FPhysScene_Chaos Class Reference

#include <PhysScene_Chaos.h>

+ Inheritance diagram for FPhysScene_Chaos:

Public Types

using Super = FChaosScene
 

Public Member Functions

ENGINE_API FPhysScene_Chaos (AActor *InSolverActor=nullptr)
 
virtual ENGINE_API ~FPhysScene_Chaos ()
 
ENGINE_API AActorGetSolverActor () const
 
ENGINE_API void RegisterForCollisionEvents (UPrimitiveComponent *Component)
 
ENGINE_API void UnRegisterForCollisionEvents (UPrimitiveComponent *Component)
 
ENGINE_API void RegisterForGlobalCollisionEvents (UPrimitiveComponent *Component)
 
ENGINE_API void UnRegisterForGlobalCollisionEvents (UPrimitiveComponent *Component)
 
ENGINE_API void RegisterForGlobalRemovalEvents (UPrimitiveComponent *Component)
 
ENGINE_API void UnRegisterForGlobalRemovalEvents (UPrimitiveComponent *Component)
 
ENGINE_API void RegisterAsyncPhysicsTickComponent (UActorComponent *Component)
 
ENGINE_API void UnregisterAsyncPhysicsTickComponent (UActorComponent *Component)
 
ENGINE_API void RegisterAsyncPhysicsTickActor (AActor *Actor)
 
ENGINE_API void UnregisterAsyncPhysicsTickActor (AActor *Actor)
 
ENGINE_API void EnqueueAsyncPhysicsCommand (int32 PhysicsStep, UObject *OwningObject, const TFunction< void()> &Command, const bool bEnableResim=false)
 
ENGINE_API void AddObject (UPrimitiveComponent *Component, FSkeletalMeshPhysicsProxy *InObject)
 
ENGINE_API void AddObject (UPrimitiveComponent *Component, FStaticMeshPhysicsProxy *InObject)
 
ENGINE_API void AddObject (UPrimitiveComponent *Component, Chaos::FSingleParticlePhysicsProxy *InObject)
 
ENGINE_API void AddObject (UPrimitiveComponent *Component, FGeometryCollectionPhysicsProxy *InObject)
 
ENGINE_API void AddObject (UPrimitiveComponent *Component, Chaos::FClusterUnionPhysicsProxy *InObject)
 
ENGINE_API void AddToComponentMaps (UPrimitiveComponent *Component, IPhysicsProxyBase *InObject)
 
ENGINE_API void RemoveFromComponentMaps (IPhysicsProxyBase *InObject)
 
ENGINE_API void RemoveObject (FSkeletalMeshPhysicsProxy *InObject)
 
ENGINE_API void RemoveObject (FStaticMeshPhysicsProxy *InObject)
 
ENGINE_API void RemoveObject (Chaos::FSingleParticlePhysicsProxy *InObject)
 
ENGINE_API void RemoveObject (FGeometryCollectionPhysicsProxy *InObject)
 
ENGINE_API void RemoveObject (Chaos::FClusterUnionPhysicsProxy *InObject)
 
void PushPendingSerializedStateForObject (UObject *InComponent, Chaos::FSerializedDataBufferPtr &&InState)
 
Chaos::FSerializedDataBufferPtr PopPendingSerializedStateForObject (UObject *InComponent)
 
ENGINE_API IPhysicsReplicationGetPhysicsReplication ()
 
ENGINE_API IPhysicsReplicationCreatePhysicsReplication ()
 
ENGINE_API IPhysicsReplicationLODGetPhysicsReplicationLOD ()
 
ENGINE_API IPhysicsReplicationLODCreatePhysicsReplicationLOD ()
 
virtual ENGINE_API void AddReferencedObjects (FReferenceCollector &Collector) override
 
template<class OwnerType >
OwnerType * GetOwningComponent (const IPhysicsProxyBase *PhysicsProxy) const
 
template<>
ENGINE_API UPrimitiveComponent * GetOwningComponent (const IPhysicsProxyBase *PhysicsProxy) const
 
const TArray< IPhysicsProxyBase * > * GetOwnedPhysicsProxies (UPrimitiveComponent *Comp) const
 
ENGINE_API FBodyInstanceGetBodyInstanceFromProxy (const IPhysicsProxyBase *PhysicsProxy) const
 
ENGINE_API const FBodyInstanceGetBodyInstanceFromProxyAndShape (IPhysicsProxyBase *InProxy, int32 InShapeIndex) const
 
ENGINE_API void OnWorldEndPlay ()
 
ENGINE_API void OnWorldBeginPlay ()
 
ENGINE_API void AddAggregateToScene (const FPhysicsAggregateHandle &InAggregate)
 
ENGINE_API void SetOwningWorld (UWorld *InOwningWorld)
 
ENGINE_API UWorldGetOwningWorld ()
 
ENGINE_API const UWorldGetOwningWorld () const
 
ENGINE_API void ResimNFrames (int32 NumFrames)
 
ENGINE_API void RemoveBodyInstanceFromPendingLists_AssumesLocked (FBodyInstance *BodyInstance, int32 SceneType)
 
ENGINE_API void AddCustomPhysics_AssumesLocked (FBodyInstance *BodyInstance, FCalculateCustomPhysics &CalculateCustomPhysics)
 
ENGINE_API void AddForce_AssumesLocked (FBodyInstance *BodyInstance, const FVector &Force, bool bAllowSubstepping, bool bAccelChange)
 
ENGINE_API void AddForceAtPosition_AssumesLocked (FBodyInstance *BodyInstance, const FVector &Force, const FVector &Position, bool bAllowSubstepping, bool bIsLocalForce=false)
 
ENGINE_API void AddRadialForceToBody_AssumesLocked (FBodyInstance *BodyInstance, const FVector &Origin, const float Radius, const float Strength, const uint8 Falloff, bool bAccelChange, bool bAllowSubstepping)
 
ENGINE_API void ClearForces_AssumesLocked (FBodyInstance *BodyInstance, bool bAllowSubstepping)
 
ENGINE_API void AddTorque_AssumesLocked (FBodyInstance *BodyInstance, const FVector &Torque, bool bAllowSubstepping, bool bAccelChange)
 
ENGINE_API void ClearTorques_AssumesLocked (FBodyInstance *BodyInstance, bool bAllowSubstepping)
 
ENGINE_API void SetKinematicTarget_AssumesLocked (FBodyInstance *BodyInstance, const FTransform &TargetTM, bool bAllowSubstepping)
 
ENGINE_API bool GetKinematicTarget_AssumesLocked (const FBodyInstance *BodyInstance, FTransform &OutTM) const
 
ENGINE_API bool MarkForPreSimKinematicUpdate (USkeletalMeshComponent *InSkelComp, ETeleportType InTeleport, bool bNeedsSkinning)
 
ENGINE_API void ClearPreSimKinematicUpdate (USkeletalMeshComponent *InSkelComp)
 
ENGINE_API void AddPendingOnConstraintBreak (FConstraintInstance *ConstraintInstance, int32 SceneType)
 
ENGINE_API void AddPendingSleepingEvent (FBodyInstance *BI, ESleepEvent SleepEventType, int32 SceneType)
 
ENGINE_API int32 DirtyElementCount (Chaos::ISpatialAccelerationCollection< Chaos::FAccelerationStructureHandle, Chaos::FReal, 3 > &Collection)
 
ENGINE_API TArray< FCollisionNotifyInfo > & GetPendingCollisionNotifies (int32 SceneType)
 
ENGINE_API void ApplyWorldOffset (FVector InOffset)
 
virtual ENGINE_API float OnStartFrame (float InDeltaTime) override
 
ENGINE_API bool HandleExecCommands (const TCHAR *Cmd, FOutputDevice *Ar)
 
ENGINE_API void ListAwakeRigidBodies (bool bIncludeKinematic)
 
ENGINE_API int32 GetNumAwakeBodies () const
 
ENGINE_API void StartAsync ()
 
ENGINE_API bool HasAsyncScene () const
 
ENGINE_API void SetPhysXTreeRebuildRate (int32 RebuildRate)
 
ENGINE_API void EnsureCollisionTreeIsBuilt (UWorld *World)
 
ENGINE_API void KillVisualDebugger ()
 
 DECLARE_MULTICAST_DELEGATE_TwoParams (FOnPhysScenePreTick, FPhysScene_Chaos *, float)
 
 DECLARE_MULTICAST_DELEGATE_TwoParams (FOnPhysSceneStep, FPhysScene_Chaos *, float)
 
ENGINE_API bool ExecPxVis (uint32 SceneType, const TCHAR *Cmd, FOutputDevice *Ar)
 
ENGINE_API bool ExecApexVis (uint32 SceneType, const TCHAR *Cmd, FOutputDevice *Ar)
 
ENGINE_API void DeferPhysicsStateCreation (UPrimitiveComponent *Component)
 
ENGINE_API void RemoveDeferredPhysicsStateCreation (UPrimitiveComponent *Component)
 
ENGINE_API void ProcessDeferredCreatePhysicsState ()
 
ENGINE_API bool PushAsyncCreatePhysicsStateJob (IAsyncPhysicsStateProcessor *Processor)
 
ENGINE_API bool PushAsyncDestroyPhysicsStateJob (IAsyncPhysicsStateProcessor *Processor)
 
ENGINE_API void RemoveAsyncPhysicsStateJobs (IAsyncPhysicsStateProcessor *Processor)
 
ENGINE_API void ProcessAsyncPhysicsStateJobs (bool bWaitForCompletion=false)
 
UChaosEventRelayGetChaosEventRelay () const
 
ENGINE_API const FRigidBodyStateGetStateFromReplicationCache (UPrimitiveComponent *RootComponent, int &ServerFrame)
 
ENGINE_API void RegisterForReplicationCache (UPrimitiveComponent *RootComponent)
 
 UE_DEPRECATED (5.5, "Deprecated, ReplicationCache has been moved to FPhysicsReplicationCache and it's getting populated automatically. Use GetStateFromReplicationCache() and RegisterForReplicationCache() to use the replication cache. ") void PopulateReplicationCache(const int32 PhysicsStep)
 
FPhysicsReplicationCacheGetPhysicsReplicationCache ()
 
ENGINE_API void CreatePhysicsReplicationCache ()
 
struct UE_DEPRECATED (5.5, "Deprecated, ReplicationCache has been moved to FPhysicsReplicationCache") FReplicationCacheData
 
struct UE_DEPRECATED (5.5, "Deprecated, ReplicationCache has been moved to FPhysicsReplicationCache") FPrimitiveComponentReplicationCache
 
template<>
UPrimitiveComponent * GetOwningComponent (const IPhysicsProxyBase *PhysicsProxy) const
 
- Public Member Functions inherited from FChaosScene
PHYSICSCORE_API FChaosScene (UObject *OwnerPtr, Chaos::FReal InAsyncDt, const FName &DebugName=NAME_None)
 
virtual PHYSICSCORE_API ~FChaosScene ()
 
Chaos::FPhysicsSolverGetSolver () const
 
PHYSICSCORE_API const Chaos::ISpatialAcceleration< Chaos::FAccelerationStructureHandle, Chaos::FReal, 3 > * GetSpacialAcceleration () const
 
PHYSICSCORE_API Chaos::ISpatialAcceleration< Chaos::FAccelerationStructureHandle, Chaos::FReal, 3 > * GetSpacialAcceleration ()
 
PHYSICSCORE_API void AddActorsToScene_AssumesLocked (TArray< FPhysicsActorHandle > &InHandles, const bool bImmediate=true)
 
PHYSICSCORE_API void RemoveActorFromAccelerationStructure (FPhysicsActorHandle Actor)
 
PHYSICSCORE_API void RemoveActorFromAccelerationStructureImp (Chaos::FGeometryParticle *Particle)
 
PHYSICSCORE_API void UpdateActorsInAccelerationStructure (const TArrayView< FPhysicsActorHandle > &Actors)
 
PHYSICSCORE_API void UpdateActorInAccelerationStructure (const FPhysicsActorHandle &Actor)
 
PHYSICSCORE_API void WaitPhysScenes ()
 
PHYSICSCORE_API void CopySolverAccelerationStructure ()
 
PHYSICSCORE_API void Flush ()
 
PHYSICSCORE_API void StartFrame ()
 
PHYSICSCORE_API void SetUpForFrame (const FVector *NewGrav, float InDeltaSeconds, float InMinPhysicsDeltaTime, float InMaxPhysicsDeltaTime, float InMaxSubstepDeltaTime, int32 InMaxSubsteps, bool bSubstepping)
 
PHYSICSCORE_API void EndFrame ()
 
 DECLARE_MULTICAST_DELEGATE_OneParam (FOnPhysScenePostTick, FChaosScene *)
 
PHYSICSCORE_API void KillSafeAsyncTasks ()
 
PHYSICSCORE_API void WaitSolverTasks ()
 
PHYSICSCORE_API bool AreAnyTasksPending () const
 
PHYSICSCORE_API void BeginDestroy ()
 
PHYSICSCORE_API bool IsCompletionEventComplete () const
 
PHYSICSCORE_API FGraphEventArray GetCompletionEvents ()
 
void SetNetworkDeltaTimeScale (float InDeltaTimeScale)
 
float GetNetworkDeltaTimeScale () const
 

Static Public Member Functions

static ENGINE_API bool SupportsOriginShifting ()
 
static ENGINE_API bool SupportsAsyncPhysicsStateCreation ()
 
static ENGINE_API bool SupportsAsyncPhysicsStateDestruction ()
 

Public Attributes

FOnPhysScenePreTick OnPhysScenePreTick
 
FOnPhysSceneStep OnPhysSceneStep
 
- Public Attributes inherited from FChaosScene
FOnPhysScenePostTick OnPhysScenePostTick
 

Static Public Attributes

static ENGINE_API TSharedPtr< IPhysicsReplicationFactoryPhysicsReplicationFactory
 
static ENGINE_API Chaos::FCollisionModifierCallback CollisionModifierCallback
 

Friends

struct ChaosInterface::FScopedSceneReadLock
 
struct FScopedSceneLock_Chaos
 

Additional Inherited Members

- Protected Attributes inherited from FChaosScene
Chaos::ISpatialAccelerationCollection< Chaos::FAccelerationStructureHandle, Chaos::FReal, 3 > * SolverAccelerationStructure
 
FChaosSolversModuleChaosModule
 
Chaos::FPhysicsSolverSceneSolver
 
float MDeltaTime
 
float MNetworkDeltaTimeScale = 1.f
 
UObjectOwner
 

Detailed Description

Low level Chaos scene used when building custom simulations that don't exist in the main world physics scene.

Member Typedef Documentation

◆ Super

Constructor & Destructor Documentation

◆ FPhysScene_Chaos()

FPhysScene_Chaos::FPhysScene_Chaos ( AActor InSolverActor = nullptr)

◆ ~FPhysScene_Chaos()

FPhysScene_Chaos::~FPhysScene_Chaos ( )
virtual

Member Function Documentation

◆ AddAggregateToScene()

void FPhysScene_Chaos::AddAggregateToScene ( const FPhysicsAggregateHandle InAggregate)

◆ AddCustomPhysics_AssumesLocked()

void FPhysScene_Chaos::AddCustomPhysics_AssumesLocked ( FBodyInstance BodyInstance,
FCalculateCustomPhysics CalculateCustomPhysics 
)

◆ AddForce_AssumesLocked()

void FPhysScene_Chaos::AddForce_AssumesLocked ( FBodyInstance BodyInstance,
const FVector Force,
bool  bAllowSubstepping,
bool  bAccelChange 
)

◆ AddForceAtPosition_AssumesLocked()

void FPhysScene_Chaos::AddForceAtPosition_AssumesLocked ( FBodyInstance BodyInstance,
const FVector Force,
const FVector Position,
bool  bAllowSubstepping,
bool  bIsLocalForce = false 
)

◆ AddObject() [1/5]

void FPhysScene_Chaos::AddObject ( UPrimitiveComponent *  Component,
Chaos::FClusterUnionPhysicsProxy InObject 
)

◆ AddObject() [2/5]

void FPhysScene_Chaos::AddObject ( UPrimitiveComponent *  Component,
Chaos::FSingleParticlePhysicsProxy InObject 
)

◆ AddObject() [3/5]

void FPhysScene_Chaos::AddObject ( UPrimitiveComponent *  Component,
FGeometryCollectionPhysicsProxy InObject 
)

◆ AddObject() [4/5]

void FPhysScene_Chaos::AddObject ( UPrimitiveComponent *  Component,
FSkeletalMeshPhysicsProxy InObject 
)

Called during creation of the physics state for gamethread objects to pass off an object to the physics thread

◆ AddObject() [5/5]

void FPhysScene_Chaos::AddObject ( UPrimitiveComponent *  Component,
FStaticMeshPhysicsProxy InObject 
)

◆ AddPendingOnConstraintBreak()

void FPhysScene_Chaos::AddPendingOnConstraintBreak ( FConstraintInstance ConstraintInstance,
int32  SceneType 
)

◆ AddPendingSleepingEvent()

void FPhysScene_Chaos::AddPendingSleepingEvent ( FBodyInstance BI,
ESleepEvent  SleepEventType,
int32  SceneType 
)

◆ AddRadialForceToBody_AssumesLocked()

void FPhysScene_Chaos::AddRadialForceToBody_AssumesLocked ( FBodyInstance BodyInstance,
const FVector Origin,
const float  Radius,
const float  Strength,
const uint8  Falloff,
bool  bAccelChange,
bool  bAllowSubstepping 
)

◆ AddReferencedObjects()

void FPhysScene_Chaos::AddReferencedObjects ( FReferenceCollector Collector)
overridevirtual

◆ AddToComponentMaps()

void FPhysScene_Chaos::AddToComponentMaps ( UPrimitiveComponent *  Component,
IPhysicsProxyBase InObject 
)

◆ AddTorque_AssumesLocked()

void FPhysScene_Chaos::AddTorque_AssumesLocked ( FBodyInstance BodyInstance,
const FVector Torque,
bool  bAllowSubstepping,
bool  bAccelChange 
)

◆ ApplyWorldOffset()

void FPhysScene_Chaos::ApplyWorldOffset ( FVector  InOffset)

◆ ClearForces_AssumesLocked()

void FPhysScene_Chaos::ClearForces_AssumesLocked ( FBodyInstance BodyInstance,
bool  bAllowSubstepping 
)

◆ ClearPreSimKinematicUpdate()

void FPhysScene_Chaos::ClearPreSimKinematicUpdate ( USkeletalMeshComponent *  InSkelComp)

◆ ClearTorques_AssumesLocked()

void FPhysScene_Chaos::ClearTorques_AssumesLocked ( FBodyInstance BodyInstance,
bool  bAllowSubstepping 
)

◆ CreatePhysicsReplication()

IPhysicsReplication * FPhysScene_Chaos::CreatePhysicsReplication ( )

◆ CreatePhysicsReplicationCache()

void FPhysScene_Chaos::CreatePhysicsReplicationCache ( )

Create the replication cache if one doesn't exist

◆ CreatePhysicsReplicationLOD()

IPhysicsReplicationLOD * FPhysScene_Chaos::CreatePhysicsReplicationLOD ( )

◆ DECLARE_MULTICAST_DELEGATE_TwoParams() [1/2]

FPhysScene_Chaos::DECLARE_MULTICAST_DELEGATE_TwoParams ( FOnPhysScenePreTick  ,
FPhysScene_Chaos ,
float   
)

◆ DECLARE_MULTICAST_DELEGATE_TwoParams() [2/2]

FPhysScene_Chaos::DECLARE_MULTICAST_DELEGATE_TwoParams ( FOnPhysSceneStep  ,
FPhysScene_Chaos ,
float   
)

◆ DeferPhysicsStateCreation()

void FPhysScene_Chaos::DeferPhysicsStateCreation ( UPrimitiveComponent *  Component)

◆ DirtyElementCount()

ENGINE_API int32 FPhysScene_Chaos::DirtyElementCount ( Chaos::ISpatialAccelerationCollection< Chaos::FAccelerationStructureHandle, Chaos::FReal, 3 > &  Collection)

◆ EnqueueAsyncPhysicsCommand()

void FPhysScene_Chaos::EnqueueAsyncPhysicsCommand ( int32  PhysicsStep,
UObject OwningObject,
const TFunction< void()> &  Command,
const bool  bEnableResim = false 
)

◆ EnsureCollisionTreeIsBuilt()

void FPhysScene_Chaos::EnsureCollisionTreeIsBuilt ( UWorld World)

◆ ExecApexVis()

bool FPhysScene::ExecApexVis ( uint32  SceneType,
const TCHAR Cmd,
FOutputDevice Ar 
)

◆ ExecPxVis()

bool FPhysScene::ExecPxVis ( uint32  SceneType,
const TCHAR Cmd,
FOutputDevice Ar 
)

◆ GetBodyInstanceFromProxy()

FBodyInstance * FPhysScene_Chaos::GetBodyInstanceFromProxy ( const IPhysicsProxyBase PhysicsProxy) const

Given a physics proxy, returns its associated body instance if any

◆ GetBodyInstanceFromProxyAndShape()

const FBodyInstance * FPhysScene_Chaos::GetBodyInstanceFromProxyAndShape ( IPhysicsProxyBase InProxy,
int32  InShapeIndex 
) const

◆ GetChaosEventRelay()

UChaosEventRelay * FPhysScene_Chaos::GetChaosEventRelay ( ) const
inline

◆ GetKinematicTarget_AssumesLocked()

bool FPhysScene_Chaos::GetKinematicTarget_AssumesLocked ( const FBodyInstance BodyInstance,
FTransform OutTM 
) const

◆ GetNumAwakeBodies()

int32 FPhysScene_Chaos::GetNumAwakeBodies ( ) const

◆ GetOwnedPhysicsProxies()

const TArray< IPhysicsProxyBase * > * FPhysScene_Chaos::GetOwnedPhysicsProxies ( UPrimitiveComponent *  Comp) const
inline

Given a component, returns its associated solver objects.

◆ GetOwningComponent() [1/3]

template<>
UPrimitiveComponent * FPhysScene_Chaos::GetOwningComponent ( const IPhysicsProxyBase PhysicsProxy) const

◆ GetOwningComponent() [2/3]

template<class OwnerType >
OwnerType * FPhysScene_Chaos::GetOwningComponent ( const IPhysicsProxyBase PhysicsProxy) const
inline

Given a solver object, returns its associated component.

◆ GetOwningComponent() [3/3]

template<>
ENGINE_API UPrimitiveComponent * FPhysScene_Chaos::GetOwningComponent ( const IPhysicsProxyBase PhysicsProxy) const

◆ GetOwningWorld() [1/2]

UWorld * FPhysScene_Chaos::GetOwningWorld ( )

◆ GetOwningWorld() [2/2]

const UWorld * FPhysScene_Chaos::GetOwningWorld ( ) const

◆ GetPendingCollisionNotifies()

TArray< FCollisionNotifyInfo > & FPhysScene_Chaos::GetPendingCollisionNotifies ( int32  SceneType)

◆ GetPhysicsReplication()

IPhysicsReplication * FPhysScene_Chaos::GetPhysicsReplication ( )

◆ GetPhysicsReplicationCache()

FPhysicsReplicationCache * FPhysScene_Chaos::GetPhysicsReplicationCache ( )
inline

◆ GetPhysicsReplicationLOD()

IPhysicsReplicationLOD * FPhysScene_Chaos::GetPhysicsReplicationLOD ( )

◆ GetSolverActor()

AActor * FPhysScene_Chaos::GetSolverActor ( ) const

Returns the actor that owns this solver.

◆ GetStateFromReplicationCache()

PRAGMA_ENABLE_DEPRECATION_WARNINGS const FRigidBodyState * FPhysScene_Chaos::GetStateFromReplicationCache ( UPrimitiveComponent *  RootComponent,
int &  ServerFrame 
)

Get cached state for replication, if no state is cached RegisterForReplicationCache() is called

◆ HandleExecCommands()

bool FPhysScene_Chaos::HandleExecCommands ( const TCHAR Cmd,
FOutputDevice Ar 
)

◆ HasAsyncScene()

bool FPhysScene_Chaos::HasAsyncScene ( ) const

◆ KillVisualDebugger()

void FPhysScene_Chaos::KillVisualDebugger ( )

◆ ListAwakeRigidBodies()

void FPhysScene_Chaos::ListAwakeRigidBodies ( bool  bIncludeKinematic)

◆ MarkForPreSimKinematicUpdate()

bool FPhysScene_Chaos::MarkForPreSimKinematicUpdate ( USkeletalMeshComponent *  InSkelComp,
ETeleportType  InTeleport,
bool  bNeedsSkinning 
)

◆ OnStartFrame()

float FPhysScene_Chaos::OnStartFrame ( float  InDeltaTime)
overridevirtual

Reimplemented from FChaosScene.

◆ OnWorldBeginPlay()

void FPhysScene_Chaos::OnWorldBeginPlay ( )

◆ OnWorldEndPlay()

void FPhysScene_Chaos::OnWorldEndPlay ( )

Callback when a world ends, to mark updated packages dirty. This can't be done in final sync as the editor will ignore packages being dirtied in PIE. Also used to clean up any other references

◆ PopPendingSerializedStateForObject()

Chaos::FSerializedDataBufferPtr FPhysScene_Chaos::PopPendingSerializedStateForObject ( UObject InComponent)

◆ ProcessAsyncPhysicsStateJobs()

void FPhysScene_Chaos::ProcessAsyncPhysicsStateJobs ( bool  bWaitForCompletion = false)

◆ ProcessDeferredCreatePhysicsState()

void FPhysScene_Chaos::ProcessDeferredCreatePhysicsState ( )

◆ PushAsyncCreatePhysicsStateJob()

bool FPhysScene_Chaos::PushAsyncCreatePhysicsStateJob ( IAsyncPhysicsStateProcessor Processor)

◆ PushAsyncDestroyPhysicsStateJob()

bool FPhysScene_Chaos::PushAsyncDestroyPhysicsStateJob ( IAsyncPhysicsStateProcessor Processor)

◆ PushPendingSerializedStateForObject()

void FPhysScene_Chaos::PushPendingSerializedStateForObject ( UObject InComponent,
Chaos::FSerializedDataBufferPtr &&  InState 
)

◆ RegisterAsyncPhysicsTickActor()

void FPhysScene_Chaos::RegisterAsyncPhysicsTickActor ( AActor Actor)

◆ RegisterAsyncPhysicsTickComponent()

void FPhysScene_Chaos::RegisterAsyncPhysicsTickComponent ( UActorComponent Component)

◆ RegisterForCollisionEvents()

void FPhysScene_Chaos::RegisterForCollisionEvents ( UPrimitiveComponent *  Component)

◆ RegisterForGlobalCollisionEvents()

void FPhysScene_Chaos::RegisterForGlobalCollisionEvents ( UPrimitiveComponent *  Component)

◆ RegisterForGlobalRemovalEvents()

void FPhysScene_Chaos::RegisterForGlobalRemovalEvents ( UPrimitiveComponent *  Component)

◆ RegisterForReplicationCache()

void FPhysScene_Chaos::RegisterForReplicationCache ( UPrimitiveComponent *  RootComponent)

Register a component for physics replication state caching, the component will deregister automatically if cache is not accessed within timelimit set by CVar: np2.ReplicationCache.LingerForNSeconds

◆ RemoveAsyncPhysicsStateJobs()

void FPhysScene_Chaos::RemoveAsyncPhysicsStateJobs ( IAsyncPhysicsStateProcessor Processor)

◆ RemoveBodyInstanceFromPendingLists_AssumesLocked()

void FPhysScene_Chaos::RemoveBodyInstanceFromPendingLists_AssumesLocked ( FBodyInstance BodyInstance,
int32  SceneType 
)

◆ RemoveDeferredPhysicsStateCreation()

void FPhysScene_Chaos::RemoveDeferredPhysicsStateCreation ( UPrimitiveComponent *  Component)

◆ RemoveFromComponentMaps()

void FPhysScene_Chaos::RemoveFromComponentMaps ( IPhysicsProxyBase InObject)

◆ RemoveObject() [1/5]

void FPhysScene_Chaos::RemoveObject ( Chaos::FClusterUnionPhysicsProxy InObject)

◆ RemoveObject() [2/5]

void FPhysScene_Chaos::RemoveObject ( Chaos::FSingleParticlePhysicsProxy InObject)

◆ RemoveObject() [3/5]

void FPhysScene_Chaos::RemoveObject ( FGeometryCollectionPhysicsProxy InObject)

◆ RemoveObject() [4/5]

void FPhysScene_Chaos::RemoveObject ( FSkeletalMeshPhysicsProxy InObject)

Called during physics state destruction for the game thread to remove objects from the simulation BG TODO - Doesn't actually remove from the evolution at the moment

◆ RemoveObject() [5/5]

void FPhysScene_Chaos::RemoveObject ( FStaticMeshPhysicsProxy InObject)

◆ ResimNFrames()

void FPhysScene_Chaos::ResimNFrames ( int32  NumFrames)

◆ SetKinematicTarget_AssumesLocked()

void FPhysScene_Chaos::SetKinematicTarget_AssumesLocked ( FBodyInstance BodyInstance,
const FTransform TargetTM,
bool  bAllowSubstepping 
)

◆ SetOwningWorld()

void FPhysScene_Chaos::SetOwningWorld ( UWorld InOwningWorld)

◆ SetPhysXTreeRebuildRate()

void FPhysScene_Chaos::SetPhysXTreeRebuildRate ( int32  RebuildRate)

◆ StartAsync()

void FPhysScene_Chaos::StartAsync ( )

◆ SupportsAsyncPhysicsStateCreation()

bool FPhysScene_Chaos::SupportsAsyncPhysicsStateCreation ( )
static

◆ SupportsAsyncPhysicsStateDestruction()

bool FPhysScene_Chaos::SupportsAsyncPhysicsStateDestruction ( )
static

◆ SupportsOriginShifting()

bool FPhysScene_Chaos::SupportsOriginShifting ( )
static

◆ UE_DEPRECATED() [1/3]

FPhysScene_Chaos::UE_DEPRECATED ( 5.  5,
Deprecated,
ReplicationCache has been moved to FPhysicsReplicationCache and it 's getting populated automatically. Use GetStateFromReplicationCache() and RegisterForReplicationCache() to use the replication cache. "   
) const
inline

◆ UE_DEPRECATED() [2/3]

struct FPhysScene_Chaos::UE_DEPRECATED ( 5.  5,
Deprecated,
ReplicationCache has been moved to FPhysicsReplicationCache"   
)
inline

◆ UE_DEPRECATED() [3/3]

struct FPhysScene_Chaos::UE_DEPRECATED ( 5.  5,
Deprecated,
ReplicationCache has been moved to FPhysicsReplicationCache"   
)
inline

◆ UnregisterAsyncPhysicsTickActor()

void FPhysScene_Chaos::UnregisterAsyncPhysicsTickActor ( AActor Actor)

◆ UnregisterAsyncPhysicsTickComponent()

void FPhysScene_Chaos::UnregisterAsyncPhysicsTickComponent ( UActorComponent Component)

◆ UnRegisterForCollisionEvents()

void FPhysScene_Chaos::UnRegisterForCollisionEvents ( UPrimitiveComponent *  Component)

◆ UnRegisterForGlobalCollisionEvents()

void FPhysScene_Chaos::UnRegisterForGlobalCollisionEvents ( UPrimitiveComponent *  Component)

◆ UnRegisterForGlobalRemovalEvents()

void FPhysScene_Chaos::UnRegisterForGlobalRemovalEvents ( UPrimitiveComponent *  Component)

Friends And Related Symbol Documentation

◆ ChaosInterface::FScopedSceneReadLock

◆ FScopedSceneLock_Chaos

Member Data Documentation

◆ CollisionModifierCallback

ENGINE_API Chaos::FCollisionModifierCallback FPhysScene_Chaos::CollisionModifierCallback
static

◆ OnPhysScenePreTick

FOnPhysScenePreTick FPhysScene_Chaos::OnPhysScenePreTick

◆ OnPhysSceneStep

FOnPhysSceneStep FPhysScene_Chaos::OnPhysSceneStep

◆ PhysicsReplicationFactory

TSharedPtr< IPhysicsReplicationFactory > FPhysScene_Chaos::PhysicsReplicationFactory
static

The documentation for this class was generated from the following files: