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

#include <SkeletalMeshPhysicsProxy.h>

+ Inheritance diagram for FSkeletalMeshPhysicsProxy:

Public Types

using FInitFunc = TFunction< void(FSkeletalMeshPhysicsProxyParams &OutParams)>
 
using FInputFunc = TFunction< bool(const float Dt, FSkeletalMeshPhysicsProxyParams &OutParams)>
 
- Public Types inherited from TPhysicsProxy< FSkeletalMeshPhysicsProxy, FSkeletalMeshPhysicsProxyOutputs, FProxyTimestampBase >
using FParticleType = FSkeletalMeshPhysicsProxy
 
using FParticlesType = Chaos::FPBDRigidParticles
 
using FIntArray = Chaos::TArrayCollectionArray< int32 >
 

Public Member Functions

 FSkeletalMeshPhysicsProxy ()=delete
 
CHAOS_API FSkeletalMeshPhysicsProxy (UObject *InOwner, const FInitFunc &InitFunc)
 
CHAOS_API ~FSkeletalMeshPhysicsProxy ()
 
CHAOS_API void Initialize ()
 
CHAOS_API bool IsSimulating () const
 
CHAOS_API void UpdateKinematicBodiesCallback (const FParticlesType &Particles, const float Dt, const float Time, FKinematicProxy &Proxy)
 
CHAOS_API void StartFrameCallback (const float InDt, const float InTime)
 
CHAOS_API void EndFrameCallback (const float InDt)
 
CHAOS_API void CreateRigidBodyCallback (FParticlesType &InOutParticles)
 
CHAOS_API void ParameterUpdateCallback (FParticlesType &InParticles, const float InTime)
 
CHAOS_API void DisableCollisionsCallback (TSet< TTuple< int32, int32 > > &InPairs)
 
CHAOS_API void AddForceCallback (FParticlesType &InParticles, const float InDt, const int32 InIndex)
 
CHAOS_API void BindParticleCallbackMapping (Chaos::TArrayCollectionArray< PhysicsProxyWrapper > &PhysicsProxyReverseMap, Chaos::TArrayCollectionArray< int32 > &ParticleIDReverseMap)
 
void BufferCommand (Chaos::FPhysicsSolver *InSolver, const FFieldSystemCommand &InCommmand)
 
FSkeletalMeshPhysicsProxyOutputsNewData ()
 
CHAOS_API void SyncBeforeDestroy ()
 
CHAOS_API void OnRemoveFromScene ()
 
void PushToPhysicsState (const Chaos::FParticleData *)
 
void ClearAccumulatedData ()
 
CHAOS_API void BufferPhysicsResults ()
 
CHAOS_API void FlipBuffer ()
 
CHAOS_API bool PullFromPhysicsState (const int32 SolverSyncTimestamp)
 
bool IsDirty ()
 
CHAOS_API void Reset ()
 
CHAOS_API void CaptureInputs (const float Dt, const FInputFunc &InputFunc)
 
const FSkeletalMeshPhysicsProxyOutputsGetOutputs () const
 
const FBoneHierarchyGetBoneHierarchy () const
 
- Public Member Functions inherited from TPhysicsProxy< FSkeletalMeshPhysicsProxy, FSkeletalMeshPhysicsProxyOutputs, FProxyTimestampBase >
 TPhysicsProxy ()
 
 TPhysicsProxy (UObject *InOwner)
 
virtual ~TPhysicsProxy ()
 
bool IsSimulating () const
 
void UpdateKinematicBodiesCallback (const FParticlesType &InParticles, const float InDt, const float InTime, FKinematicProxy &InKinematicProxy)
 
void StartFrameCallback (const float InDt, const float InTime)
 
void EndFrameCallback (const float InDt)
 
void CreateRigidBodyCallback (FParticlesType &InOutParticles)
 
void DisableCollisionsCallback (TSet< TTuple< int32, int32 > > &InPairs)
 
void AddForceCallback (FParticlesType &InParticles, const float InDt, const int32 InIndex)
 
void BindParticleCallbackMapping (Chaos::TArrayCollectionArray< PhysicsProxyWrapper > &PhysicsProxyReverseMap, Chaos::TArrayCollectionArray< int32 > &ParticleIDReverseMap)
 
void ClearAccumulatedData ()
 
void SyncBeforeDestroy ()
 
void OnRemoveFromScene ()
 
bool IsDirty ()
 
voidGetUserData () const
 
Chaos::FRigidTransform3 GetTransform () const
 
FORCEINLINE_DEBUGGABLE FProxyTimestampBaseGetSyncTimestampTyped ()
 
- Public Member Functions inherited from IPhysicsProxyBase
 IPhysicsProxyBase (EPhysicsProxyType InType, UObject *InOwner, TSharedPtr< FProxyTimestampBase, ESPMode::ThreadSafe > InProxyTimeStamp)
 
UObjectGetOwner () const
 
template<class SOLVER_TYPE >
SOLVER_TYPEGetSolver () const
 
Chaos::FPhysicsSolverBaseGetSolverBase () const
 
template<class SOLVER_TYPE = Chaos::FPhysicsSolver>
void SetSolver (SOLVER_TYPE *InSolver)
 
EPhysicsProxyType GetType () const
 
virtual voidGetHandleUnsafe () const
 
int32 GetDirtyIdx () const
 
void SetDirtyIdx (const int32 Idx)
 
void ResetDirtyIdx ()
 
void MarkDeleted ()
 
bool GetMarkedDeleted () const
 
TSharedPtr< FProxyTimestampBase, ESPMode::ThreadSafeGetSyncTimestamp () const
 
bool IsInitialized () const
 
void SetInitialized (const int32 InitializeStep)
 
int32 GetInitializedStep () const
 
int32 GetIgnoreDataOnStep_Internal () const
 
IPhysicsProxyBaseGetParentProxy () const
 
void SetParentProxy (IPhysicsProxyBase *InProxy)
 

Static Public Member Functions

static constexpr EPhysicsProxyType ConcreteType ()
 
- Static Public Member Functions inherited from TPhysicsProxy< FSkeletalMeshPhysicsProxy, FSkeletalMeshPhysicsProxyOutputs, FProxyTimestampBase >
static constexpr EPhysicsProxyType ConcreteType ()
 
- Static Public Member Functions inherited from IPhysicsProxyBase
static float GetRenderInterpErrorCorrectionDuration ()
 
static float GetRenderInterpMaximumErrorCorrectionBeforeSnapping ()
 
static float GetRenderInterpErrorVelocitySmoothingDuration ()
 
static bool GetRenderInterpDebugDraw ()
 
static float GetRenderInterpErrorDirectionalDecayMultiplier ()
 

Additional Inherited Members

- Protected Member Functions inherited from IPhysicsProxyBase
virtual CHAOS_API ~IPhysicsProxyBase ()
 
template<typename TProxyTimeStamp >
FORCEINLINE_DEBUGGABLE TProxyTimeStampGetSyncTimestampAs ()
 
CHAOS_API int32 GetSolverSyncTimestamp_External () const
 
- Protected Attributes inherited from IPhysicsProxyBase
Chaos::FPhysicsSolverBaseSolver
 
UObjectOwner
 
EPhysicsProxyType Type
 
int32 InitializedOnStep = INDEX_NONE
 
int32 IgnoreDataOnStep_Internal = INDEX_NONE
 

Member Typedef Documentation

◆ FInitFunc

◆ FInputFunc

Constructor & Destructor Documentation

◆ FSkeletalMeshPhysicsProxy() [1/2]

FSkeletalMeshPhysicsProxy::FSkeletalMeshPhysicsProxy ( )
delete

◆ FSkeletalMeshPhysicsProxy() [2/2]

FSkeletalMeshPhysicsProxy::FSkeletalMeshPhysicsProxy ( UObject InOwner,
const FInitFunc InitFunc 
)

◆ ~FSkeletalMeshPhysicsProxy()

FSkeletalMeshPhysicsProxy::~FSkeletalMeshPhysicsProxy ( )

Member Function Documentation

◆ AddForceCallback()

void FSkeletalMeshPhysicsProxy::AddForceCallback ( FParticlesType InParticles,
const float  InDt,
const int32  InIndex 
)

◆ BindParticleCallbackMapping()

void FSkeletalMeshPhysicsProxy::BindParticleCallbackMapping ( Chaos::TArrayCollectionArray< PhysicsProxyWrapper > &  PhysicsProxyReverseMap,
Chaos::TArrayCollectionArray< int32 > &  ParticleIDReverseMap 
)

◆ BufferCommand()

void FSkeletalMeshPhysicsProxy::BufferCommand ( Chaos::FPhysicsSolver InSolver,
const FFieldSystemCommand InCommmand 
)
inline

◆ BufferPhysicsResults()

void FSkeletalMeshPhysicsProxy::BufferPhysicsResults ( )

◆ CaptureInputs()

void FSkeletalMeshPhysicsProxy::CaptureInputs ( const float  Dt,
const FInputFunc InputFunc 
)

Capture the current animation pose for use by the physics. Called by game thread via the owning component's tick.

◆ ClearAccumulatedData()

void FSkeletalMeshPhysicsProxy::ClearAccumulatedData ( )
inline

◆ ConcreteType()

static constexpr EPhysicsProxyType FSkeletalMeshPhysicsProxy::ConcreteType ( )
inlinestaticconstexpr

◆ CreateRigidBodyCallback()

void FSkeletalMeshPhysicsProxy::CreateRigidBodyCallback ( FParticlesType InOutParticles)

◆ DisableCollisionsCallback()

void FSkeletalMeshPhysicsProxy::DisableCollisionsCallback ( TSet< TTuple< int32, int32 > > &  InPairs)

◆ EndFrameCallback()

void FSkeletalMeshPhysicsProxy::EndFrameCallback ( const float  InDt)

◆ FlipBuffer()

void FSkeletalMeshPhysicsProxy::FlipBuffer ( )

◆ GetBoneHierarchy()

const FBoneHierarchy & FSkeletalMeshPhysicsProxy::GetBoneHierarchy ( ) const
inline

◆ GetOutputs()

const FSkeletalMeshPhysicsProxyOutputs * FSkeletalMeshPhysicsProxy::GetOutputs ( ) const
inline

◆ Initialize()

void FSkeletalMeshPhysicsProxy::Initialize ( )

Solver Object interface

◆ IsDirty()

bool FSkeletalMeshPhysicsProxy::IsDirty ( )
inline

◆ IsSimulating()

bool FSkeletalMeshPhysicsProxy::IsSimulating ( ) const

◆ NewData()

FSkeletalMeshPhysicsProxyOutputs * FSkeletalMeshPhysicsProxy::NewData ( )
inline

◆ OnRemoveFromScene()

void FSkeletalMeshPhysicsProxy::OnRemoveFromScene ( )

◆ ParameterUpdateCallback()

void FSkeletalMeshPhysicsProxy::ParameterUpdateCallback ( FParticlesType InParticles,
const float  InTime 
)

◆ PullFromPhysicsState()

bool FSkeletalMeshPhysicsProxy::PullFromPhysicsState ( const int32  SolverSyncTimestamp)

◆ PushToPhysicsState()

void FSkeletalMeshPhysicsProxy::PushToPhysicsState ( const Chaos::FParticleData )
inline

◆ Reset()

void FSkeletalMeshPhysicsProxy::Reset ( )

◆ StartFrameCallback()

void FSkeletalMeshPhysicsProxy::StartFrameCallback ( const float  InDt,
const float  InTime 
)

◆ SyncBeforeDestroy()

void FSkeletalMeshPhysicsProxy::SyncBeforeDestroy ( )

◆ UpdateKinematicBodiesCallback()

void FSkeletalMeshPhysicsProxy::UpdateKinematicBodiesCallback ( const FParticlesType Particles,
const float  Dt,
const float  Time,
FKinematicProxy Proxy 
)

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