Navigation
API > API/Runtime > API/Runtime/Engine
Low level Chaos scene used when building custom simulations that don't exist in the main world physics scene.
| Name | FPhysScene_Chaos |
| Type | class |
| Header File | /Engine/Source/Runtime/Engine/Public/Physics/Experimental/PhysScene_Chaos.h |
| Include Path | #include "Physics/Experimental/PhysScene_Chaos.h" |
Syntax
class FPhysScene_Chaos : public FChaosScene
Inheritance Hierarchy
- FChaosScene → FPhysScene_Chaos
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FPhysScene_Chaos
(
AActor* InSolverActor |
Physics/Experimental/PhysScene_Chaos.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FPhysScene_Chaos() |
Physics/Experimental/PhysScene_Chaos.h |
Structs
| Name | Remarks |
|---|---|
| FDeferredKinematicUpdateInfo | Information about how to perform kinematic update before physics |
| FUniqueContactPairKey | Contains the set of properties that uniquely identifies a reported collision Note that order matters, { Body0, Body1 } is not the same as { Body1, Body0 } |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnPhysScenePreTick | TMulticastDelegate_TwoParams< void, FPhysScene_Chaos *, float > | Physics/Experimental/PhysScene_Chaos.h | |
| FOnPhysSceneStep | TMulticastDelegate_TwoParams< void, FPhysScene_Chaos *, float > | Physics/Experimental/PhysScene_Chaos.h | |
| Super | FChaosScene | Physics/Experimental/PhysScene_Chaos.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| CollisionModifierCallback | Chaos::FCollisionModifierCallback | Physics/Experimental/PhysScene_Chaos.h | |
| PhysicsReplicationFactory | TSharedPtr< IPhysicsReplicationFactory > | Physics/Experimental/PhysScene_Chaos.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| FReplicationCacheData | Physics/Experimental/PhysScene_Chaos.h | |||
| OnPhysScenePreTick | FOnPhysScenePreTick | Physics/Experimental/PhysScene_Chaos.h | ||
| OnPhysSceneStep | FOnPhysSceneStep | Physics/Experimental/PhysScene_Chaos.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AccessTime | Chaos::FReal | Physics/Experimental/PhysScene_Chaos.h | ||
| AsyncPhysicsStateJobQueue | TUniquePtr< FPhysScene_AsyncPhysicsStateJobQueue > | Queue used to create/destroy physics state asynchronously. | Physics/Experimental/PhysScene_Chaos.h | |
| AsyncPhysicsTickCallback | FAsyncPhysicsTickCallback * | Physics/Experimental/PhysScene_Chaos.h | ||
| BodyInstances | TUniquePtr< Chaos::TArrayCollectionArray< FBodyInstance * > > | Body Instances. | Physics/Experimental/PhysScene_Chaos.h | |
| bValidStateCached | bool | Physics/Experimental/PhysScene_Chaos.h | ||
| ChaosEventRelay | TObjectPtr< UChaosEventRelay > | Physics/Experimental/PhysScene_Chaos.h | ||
| CollisionEventRegistrations | TSet< UPrimitiveComponent * > | Physics/Experimental/PhysScene_Chaos.h | ||
| CollisionEventRegistrationsLock | FRWLock | RWLock for thread safe access to CollisionEventRegistrations. | Physics/Experimental/PhysScene_Chaos.h | |
| ComponentToPhysicsProxyMap | TMap< UPrimitiveComponent *, TArray< IPhysicsProxyBase * > > | Maps Component to PhysicsProxy that is created. | Physics/Experimental/PhysScene_Chaos.h | |
| ContactPairToPendingNotifyMap | TMultiMap< FUniqueContactPairKey, int32 > | Key is the unique pair, value is index into PendingNotifies array | Physics/Experimental/PhysScene_Chaos.h | |
| DeferredCreatePhysicsStateComponents | TSet< UPrimitiveComponent * > | Physics/Experimental/PhysScene_Chaos.h | ||
| DeferredKinematicUpdateSkelMeshes | TArray< TPair< TWeakObjectPtr< USkeletalMeshComponent >, FDeferredKinematicUpdateInfo > > | Map of SkeletalMeshComponents that need their bone transforms sent to the physics engine before simulation. | Physics/Experimental/PhysScene_Chaos.h | |
| FPrimitiveComponentReplicationCache | Physics/Experimental/PhysScene_Chaos.h | |||
| GlobalCollisionEventRegistrations | TSet< UPrimitiveComponent * > | Physics/Experimental/PhysScene_Chaos.h | ||
| GlobalRemovalEventRegistrations | TSet< UPrimitiveComponent * > | Physics/Experimental/PhysScene_Chaos.h | ||
| LastBreakEventDispatchTime | Chaos::FReal | Physics/Experimental/PhysScene_Chaos.h | ||
| LastCrumblingEventDispatchTime | Chaos::FReal | Physics/Experimental/PhysScene_Chaos.h | ||
| LastEventDispatchTime | Chaos::FReal | Physics/Experimental/PhysScene_Chaos.h | ||
| LastRemovalEventDispatchTime | Chaos::FReal | Physics/Experimental/PhysScene_Chaos.h | ||
| Map | TMap< FObjectKey, FReplicationCacheData > | Physics/Experimental/PhysScene_Chaos.h | ||
| MNotifies | TArray< FCollisionNotifyInfo > | Physics/Experimental/PhysScene_Chaos.h | ||
| PendingCollisionNotifies | TArray< FCollisionNotifyInfo > | Holds the list of pending legacy notifies that are to be processed | Physics/Experimental/PhysScene_Chaos.h | |
| PendingMigratedPhysicsStateByComponent | TMap< UObject *, Chaos::FSerializedDataBufferPtr > | Physics/Experimental/PhysScene_Chaos.h | ||
| PhysicsProxyComponentMapsLock | FRWLock | RWLock for thread safe access to PhysicsProxyToComponentMap and ComponentToPhysicsProxyMap. | Physics/Experimental/PhysScene_Chaos.h | |
| PhysicsProxyToComponentMap | TMap< IPhysicsProxyBase *, TObjectPtr< UPrimitiveComponent > > | Maps PhysicsProxy to Component that created the PhysicsProxy. | Physics/Experimental/PhysScene_Chaos.h | |
| PhysicsReplication | TUniquePtr< IPhysicsReplication > | Physics Replication manager which updates physics particles state to replicate towards networked target states | Physics/Experimental/PhysScene_Chaos.h | |
| PhysicsReplicationCache | TUniquePtr< FPhysicsReplicationCache > | Physics/Experimental/PhysScene_Chaos.h | ||
| PhysicsReplicationLOD | TUniquePtr< IPhysicsReplicationLOD > | Physics Replication "Level of Detail" that recommends physics replication mode and how much forward prediction should be applied for replicated physics particles | Physics/Experimental/PhysScene_Chaos.h | |
| RootComponent | PRAGMA_DISABLE_DEPRECATION_WARNINGSTWeakObjectPtr< UPrimitiveComponent > | Physics/Experimental/PhysScene_Chaos.h | ||
| ServerFrame | PRAGMA_DISABLE_DEPRECATION_WARNINGSint32 | Physics/Experimental/PhysScene_Chaos.h | ||
| SingleStepCounter | int32 | Counter used to check a match with the single step status. | Physics/Experimental/PhysScene_Chaos.h | |
| SolverActor | TWeakObjectPtr< AActor > | TSet |
Physics/Experimental/PhysScene_Chaos.h | |
| State | FRigidBodyState | Physics/Experimental/PhysScene_Chaos.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FReplicationCacheData() |
Physics/Experimental/PhysScene_Chaos.h | ||
void AddAggregateToScene
(
const FPhysicsAggregateHandle& InAggregate |
Physics/Experimental/PhysScene_Chaos.h | ||
void AddCustomPhysics_AssumesLocked
(
FBodyInstance* BodyInstance, |
Physics/Experimental/PhysScene_Chaos.h | ||
void AddForce_AssumesLocked
(
FBodyInstance* BodyInstance, |
Physics/Experimental/PhysScene_Chaos.h | ||
void AddForceAtPosition_AssumesLocked
(
FBodyInstance* BodyInstance, |
Physics/Experimental/PhysScene_Chaos.h | ||
void AddObject
(
UPrimitiveComponent* Component, |
Physics/Experimental/PhysScene_Chaos.h | ||
void AddObject
(
UPrimitiveComponent* Component, |
Physics/Experimental/PhysScene_Chaos.h | ||
void AddObject
(
UPrimitiveComponent* Component, |
Physics/Experimental/PhysScene_Chaos.h | ||
void AddObject
(
UPrimitiveComponent* Component, |
Physics/Experimental/PhysScene_Chaos.h | ||
void AddObject
(
UPrimitiveComponent* Component, |
Called during creation of the physics state for gamethread objects to pass off an object to the physics thread | Physics/Experimental/PhysScene_Chaos.h | |
void AddPendingOnConstraintBreak
(
FConstraintInstance* ConstraintInstance, |
Physics/Experimental/PhysScene_Chaos.h | ||
void AddPendingSleepingEvent
(
FBodyInstance* BI, |
Physics/Experimental/PhysScene_Chaos.h | ||
void AddRadialForceToBody_AssumesLocked
(
FBodyInstance* BodyInstance, |
Physics/Experimental/PhysScene_Chaos.h | ||
virtual void AddReferencedObjects
(
FReferenceCollector& Collector |
Physics/Experimental/PhysScene_Chaos.h | ||
void AddToComponentMaps
(
UPrimitiveComponent* Component, |
Physics/Experimental/PhysScene_Chaos.h | ||
void AddTorque_AssumesLocked
(
FBodyInstance* BodyInstance, |
Physics/Experimental/PhysScene_Chaos.h | ||
void ApplyWorldOffset
(
FVector InOffset |
Physics/Experimental/PhysScene_Chaos.h | ||
void ClearForces_AssumesLocked
(
FBodyInstance* BodyInstance, |
Physics/Experimental/PhysScene_Chaos.h | ||
void ClearPreSimKinematicUpdate
(
USkeletalMeshComponent* InSkelComp |
Physics/Experimental/PhysScene_Chaos.h | ||
void ClearTorques_AssumesLocked
(
FBodyInstance* BodyInstance, |
Physics/Experimental/PhysScene_Chaos.h | ||
IPhysicsReplication * CreatePhysicsReplication() |
Physics/Experimental/PhysScene_Chaos.h | ||
void CreatePhysicsReplicationCache() |
Create the replication cache if one doesn't exist | Physics/Experimental/PhysScene_Chaos.h | |
IPhysicsReplicationLOD * CreatePhysicsReplicationLOD() |
Physics/Experimental/PhysScene_Chaos.h | ||
void DeferPhysicsStateCreation
(
UPrimitiveComponent* Component |
Physics/Experimental/PhysScene_Chaos.h | ||
int32 DirtyElementCount
(
Chaos::ISpatialAccelerationCollection< Chaos::FAccelerationStructureHandle, Chaos::FReal, 3 >& Coll... |
Physics/Experimental/PhysScene_Chaos.h | ||
| Physics/Experimental/PhysScene_Chaos.h | |||
void EnsureCollisionTreeIsBuilt
(
UWorld* World |
Physics/Experimental/PhysScene_Chaos.h | ||
bool ExecApexVis
(
uint32 SceneType, |
Physics/Experimental/PhysScene_Chaos.h | ||
bool ExecPxVis
(
uint32 SceneType, |
Physics/Experimental/PhysScene_Chaos.h | ||
FReplicationCacheData
(
FReplicationCacheData&& |
Physics/Experimental/PhysScene_Chaos.h | ||
FReplicationCacheData
(
const FReplicationCacheData& |
Physics/Experimental/PhysScene_Chaos.h | ||
FReplicationCacheData
(
UPrimitiveComponent* InRootComponent, |
Physics/Experimental/PhysScene_Chaos.h | ||
Chaos::FReal GetAccessTime() |
Physics/Experimental/PhysScene_Chaos.h | ||
FBodyInstance * GetBodyInstanceFromProxy
(
const IPhysicsProxyBase* PhysicsProxy |
Given a physics proxy, returns its associated body instance if any | Physics/Experimental/PhysScene_Chaos.h | |
const FBodyInstance * GetBodyInstanceFromProxyAndShape
(
IPhysicsProxyBase* InProxy, |
Physics/Experimental/PhysScene_Chaos.h | ||
UChaosEventRelay * GetChaosEventRelay() |
Physics/Experimental/PhysScene_Chaos.h | ||
bool GetKinematicTarget_AssumesLocked
(
const FBodyInstance* BodyInstance, |
Physics/Experimental/PhysScene_Chaos.h | ||
int32 GetNumAwakeBodies() |
Physics/Experimental/PhysScene_Chaos.h | ||
const TArray< IPhysicsProxyBase * > * GetOwnedPhysicsProxies
(
UPrimitiveComponent* Comp |
Given a component, returns its associated solver objects. | Physics/Experimental/PhysScene_Chaos.h | |
OwnerType * GetOwningComponent
(
const IPhysicsProxyBase* PhysicsProxy |
Given a solver object, returns its associated component. | Physics/Experimental/PhysScene_Chaos.h | |
UPrimitiveComponent * GetOwningComponent
(
const IPhysicsProxyBase* PhysicsProxy |
Physics/Experimental/PhysScene_Chaos.h | ||
UPrimitiveComponent * GetOwningComponent
(
const IPhysicsProxyBase* PhysicsProxy |
|||
UWorld * GetOwningWorld () |
Physics/Experimental/PhysScene_Chaos.h | ||
const UWorld * GetOwningWorld () |
Physics/Experimental/PhysScene_Chaos.h | ||
TArray< FCollisionNotifyInfo > & GetPendingCollisionNotifies
(
int32 SceneType |
Physics/Experimental/PhysScene_Chaos.h | ||
IPhysicsReplication * GetPhysicsReplication() |
Physics/Experimental/PhysScene_Chaos.h | ||
FPhysicsReplicationCache * GetPhysicsReplicationCache() |
Get the FPhysicsReplicationCache | Physics/Experimental/PhysScene_Chaos.h | |
IPhysicsReplicationLOD * GetPhysicsReplicationLOD() |
Physics/Experimental/PhysScene_Chaos.h | ||
PRAGMA_DISABLE_DEPRECATION_WARNINGSUPrimitiveComponent * GetRootComponent() |
Physics/Experimental/PhysScene_Chaos.h | ||
AActor * GetSolverActor() |
Returns the actor that owns this solver. | Physics/Experimental/PhysScene_Chaos.h | |
FRigidBodyState & GetState() |
Physics/Experimental/PhysScene_Chaos.h | ||
const FRigidBodyState * GetStateFromReplicationCache
(
UPrimitiveComponent* RootComponent, |
Get cached state for replication, if no state is cached RegisterForReplicationCache() is called | Physics/Experimental/PhysScene_Chaos.h | |
bool HandleExecCommands
(
const TCHAR* Cmd, |
Physics/Experimental/PhysScene_Chaos.h | ||
bool HasAsyncScene() |
Physics/Experimental/PhysScene_Chaos.h | ||
bool IsCached() |
Physics/Experimental/PhysScene_Chaos.h | ||
void KillVisualDebugger() |
Physics/Experimental/PhysScene_Chaos.h | ||
void ListAwakeRigidBodies
(
bool bIncludeKinematic |
Physics/Experimental/PhysScene_Chaos.h | ||
bool MarkForPreSimKinematicUpdate
(
USkeletalMeshComponent* InSkelComp, |
Physics/Experimental/PhysScene_Chaos.h | ||
void OnWorldBeginPlay() |
Physics/Experimental/PhysScene_Chaos.h | ||
void OnWorldEndPlay () |
Callback when a world ends, to mark updated packages dirty. | Physics/Experimental/PhysScene_Chaos.h | |
Chaos::FSerializedDataBufferPtr PopPendingSerializedStateForObject
(
UObject* InComponent |
Physics/Experimental/PhysScene_Chaos.h | ||
void PopulateReplicationCache
(
const int32 PhysicsStep |
Physics/Experimental/PhysScene_Chaos.h | ||
void ProcessAsyncPhysicsStateJobs
(
bool bWaitForCompletion |
Physics/Experimental/PhysScene_Chaos.h | ||
void ProcessDeferredCreatePhysicsState() |
Physics/Experimental/PhysScene_Chaos.h | ||
bool PushAsyncCreatePhysicsStateJob
(
IAsyncPhysicsStateProcessor* Processor |
Physics/Experimental/PhysScene_Chaos.h | ||
bool PushAsyncDestroyPhysicsStateJob
(
IAsyncPhysicsStateProcessor* Processor |
Physics/Experimental/PhysScene_Chaos.h | ||
void PushPendingSerializedStateForObject
(
UObject* InComponent, |
Physics/Experimental/PhysScene_Chaos.h | ||
void RegisterAsyncPhysicsTickActor
(
AActor* Actor |
Physics/Experimental/PhysScene_Chaos.h | ||
void RegisterAsyncPhysicsTickComponent
(
UActorComponent* Component |
Physics/Experimental/PhysScene_Chaos.h | ||
void RegisterForCollisionEvents
(
UPrimitiveComponent* Component |
Physics/Experimental/PhysScene_Chaos.h | ||
void RegisterForGlobalCollisionEvents
(
UPrimitiveComponent* Component |
Physics/Experimental/PhysScene_Chaos.h | ||
void RegisterForGlobalRemovalEvents
(
UPrimitiveComponent* Component |
Physics/Experimental/PhysScene_Chaos.h | ||
void 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 | Physics/Experimental/PhysScene_Chaos.h | |
void RemoveAsyncPhysicsStateJobs
(
IAsyncPhysicsStateProcessor* Processor |
Physics/Experimental/PhysScene_Chaos.h | ||
void RemoveBodyInstanceFromPendingLists_AssumesLocked
(
FBodyInstance* BodyInstance, |
Physics/Experimental/PhysScene_Chaos.h | ||
void RemoveDeferredPhysicsStateCreation
(
UPrimitiveComponent* Component |
Physics/Experimental/PhysScene_Chaos.h | ||
void RemoveFromComponentMaps
(
IPhysicsProxyBase* InObject |
Physics/Experimental/PhysScene_Chaos.h | ||
void RemoveObject
(
Chaos::FClusterUnionPhysicsProxy* InObject |
Physics/Experimental/PhysScene_Chaos.h | ||
void RemoveObject
(
Chaos::FSingleParticlePhysicsProxy* InObject |
Physics/Experimental/PhysScene_Chaos.h | ||
void RemoveObject
(
FStaticMeshPhysicsProxy* InObject |
Physics/Experimental/PhysScene_Chaos.h | ||
void 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 | Physics/Experimental/PhysScene_Chaos.h | |
void RemoveObject
(
FGeometryCollectionPhysicsProxy* InObject |
Physics/Experimental/PhysScene_Chaos.h | ||
void ResimNFrames
(
int32 NumFrames |
Physics/Experimental/PhysScene_Chaos.h | ||
void SetAccessTime
(
Chaos::FReal Time |
Physics/Experimental/PhysScene_Chaos.h | ||
void SetIsCached
(
bool InIsCached |
Physics/Experimental/PhysScene_Chaos.h | ||
void SetKinematicTarget_AssumesLocked
(
FBodyInstance* BodyInstance, |
Physics/Experimental/PhysScene_Chaos.h | ||
void SetOwningWorld
(
UWorld* InOwningWorld |
Physics/Experimental/PhysScene_Chaos.h | ||
void SetPhysXTreeRebuildRate
(
int32 RebuildRate |
Physics/Experimental/PhysScene_Chaos.h | ||
void StartAsync() |
Physics/Experimental/PhysScene_Chaos.h | ||
void UnregisterAsyncPhysicsTickActor
(
AActor* Actor |
Physics/Experimental/PhysScene_Chaos.h | ||
void UnregisterAsyncPhysicsTickComponent
(
UActorComponent* Component |
Physics/Experimental/PhysScene_Chaos.h | ||
void UnRegisterForCollisionEvents
(
UPrimitiveComponent* Component |
Physics/Experimental/PhysScene_Chaos.h | ||
void UnRegisterForGlobalCollisionEvents
(
UPrimitiveComponent* Component |
Physics/Experimental/PhysScene_Chaos.h | ||
void UnRegisterForGlobalRemovalEvents
(
UPrimitiveComponent* Component |
Physics/Experimental/PhysScene_Chaos.h |
Overridden from FChaosScene
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual float OnStartFrame
(
float InDeltaTime |
Physics/Experimental/PhysScene_Chaos.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static bool SupportsAsyncPhysicsStateCreation() |
Physics/Experimental/PhysScene_Chaos.h | ||
static bool SupportsAsyncPhysicsStateDestruction() |
Physics/Experimental/PhysScene_Chaos.h | ||
static bool SupportsOriginShifting() |
Physics/Experimental/PhysScene_Chaos.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FPrimitiveComponentReplicationCache & operator=
(
FPrimitiveComponentReplicationCache&& |
Physics/Experimental/PhysScene_Chaos.h | ||
FPrimitiveComponentReplicationCache & operator=
(
const FPrimitiveComponentReplicationCache& |
Physics/Experimental/PhysScene_Chaos.h | ||
FReplicationCacheData & operator=
(
FReplicationCacheData&& |
Physics/Experimental/PhysScene_Chaos.h | ||
FReplicationCacheData & operator=
(
const FReplicationCacheData& |
Physics/Experimental/PhysScene_Chaos.h |