11#include "AnimNode_RigidBody.generated.h"
70 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Settings, meta = (ClampMin =
"0.0", ClampMax =
"1.0"))
73#if WITH_EDITORONLY_DATA
74 UE_DEPRECATED(5.1,
"This property has been deprecated. Please, use WorldAlpha.")
75 float MasterAlpha = 0.f;
81 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Settings, meta = (ClampMin =
"0.0"))
89 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Settings, meta = (ClampMin = "0.0"))
95 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Settings, meta = (ClampMin = "0.0"))
96 float MaxLinearVelocity;
101 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Settings, meta = (ClampMin = "0.0"))
102 float MaxAngularVelocity;
107 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Settings, meta = (ClampMin = "0.0"))
108 float MaxLinearAcceleration;
113 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Settings, meta = (ClampMin = "0.0"))
114 float MaxAngularAcceleration;
116#if WITH_EDITORONLY_DATA
117 UPROPERTY(meta = (DeprecatedProperty, DeprecationMessage =
"ExternalLinearDrag is deprecated. Please use ExternalLinearDragV instead."))
126 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Settings)
132 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Settings)
138 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Settings)
144#if WITH_EDITORONLY_DATA
202 UPROPERTY(EditAnywhere, Category = Settings)
206 UPROPERTY(EditAnywhere, Category = Settings)
207 bool bDefaultToSkeletalMeshPhysicsAsset =
true;
210 UPROPERTY(EditAnywhere, Category = Settings)
211 bool bUseDefaultAsSimulated =
false;
225 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Performance, meta = (PinHiddenByDefault))
226 bool bUseLocalLODThresholdOnly =
false;
229 UPROPERTY(EditAnywhere, Category = Settings, meta = (PinHiddenByDefault,
editcondition = "bOverrideWorldGravity"))
233 UPROPERTY(EditAnywhere, Category = Settings, meta = (PinShownByDefault))
237 UPROPERTY(EditAnywhere, Category = Settings, meta = (PinHiddenByDefault))
241 UPROPERTY(EditAnywhere, Category = Settings, meta = (PinHiddenByDefault))
245 UPROPERTY(EditAnywhere, Category = Settings)
258 UPROPERTY(EditAnywhere, Category = Settings, meta = (PinHiddenByDefault))
267 UPROPERTY(EditAnywhere, Category = Settings, meta = (ClampMin="1.0", ClampMax="2.0"))
268 float CachedBoundsScale;
271 UPROPERTY(EditAnywhere, Category = Settings)
279 UPROPERTY(EditAnywhere, Category = Settings)
283 UPROPERTY(EditAnywhere, Category = Settings)
284 bool bForceDisableCollisionBetweenConstraintBodies;
287 UPROPERTY(EditAnywhere, Category = Settings)
288 bool bUseExternalClothCollision;
294 UPROPERTY(EditAnywhere, Category = Settings, meta = (InlineEditConditionToggle))
297 UPROPERTY(EditAnywhere, Category = Settings, meta = (InlineEditConditionToggle))
304 UPROPERTY(EditAnywhere, Category = Settings, meta=(PinHiddenByDefault))
312 UPROPERTY(EditAnywhere, Category = Settings)
313 uint8 bFreezeIncomingPoseOnStart : 1;
319 UPROPERTY(EditAnywhere, Category = Settings)
320 uint8 bClampLinearTranslationLimitToRefPose : 1;
325 UPROPERTY(EditAnywhere, Category = Settings)
326 float WorldSpaceMinimumScale;
332 UPROPERTY(EditAnywhere, Category = Settings)
333 float EvaluationResetTime;
337 uint8 bSimulationStarted : 1;
338 uint8 bCheckForBodyTransformInit : 1;
345#if WITH_EDITORONLY_DATA
409 UPROPERTY(EditAnywhere, Category=Settings, AdvancedDisplay)
414 double WorldTimeSeconds;
415 double LastEvalTimeSeconds;
417 float AccumulatedDeltaTime;
418 float AnimPhysicsMinDeltaTime;
419 bool bSimulateAnimPhysicsAfterReset;
427 friend class FRigidBodyNodeSimulationTask;
428 UE::
Tasks::FTask SimulationTask;
439 int32 ParentBodyIndex;
445 : TransferedBoneAngularVelocity(
ForceInit)
451 , RefPoseLength (0.f)
452 , bIsSimulated(
false)
453 , bBodyTransformInitialized(
false)
456 FQuat TransferedBoneAngularVelocity;
457 FVector TransferedBoneLinearVelocity;
469 bool bIsSimulated : 1;
470 bool bBodyTransformInitialized : 1;
475 FWorldObject() : ActorHandle(nullptr), LastSeenTick(0), bExpired(
false), bNew(
true) {}
495 struct FClothCollider
504 const USkeletalMeshComponent* SkeletalMeshComponent;
512 int32 ComponentsInSimTick;
528 const UWorld* UnsafeWorld;
532 const AActor* UnsafeOwner;
539 FVector PreviousComponentLinearVelocity;
543 FTransform PreviousPreviousSimulationSpaceTransform;
546#if ENABLE_LOW_LEVEL_MEM_TRACKER
552#if WITH_EDITORONLY_DATA
ANIMGRAPHRUNTIME_API bool bEnableRigidBodyNode
Definition AnimNode_RigidBody.cpp:61
ESimulationSpace
Definition AnimNode_RigidBody.h:25
FTransform ConvertCSTransformToSimSpace(ESimulationSpace Space, const FTransform &InCSTransform, const FTransform &ComponentToWorld, const FTransform &BaseBoneTM)
Definition AnimNode_RigidBody.h:601
ANIMGRAPHRUNTIME_API FAutoConsoleVariableRef CVarEnableRigidBodyNode
ANIMGRAPHRUNTIME_API TAutoConsoleVariable< int32 > CVarEnableRigidBodyNodeSimulation
ESimulationTiming
Definition AnimNode_RigidBody.h:37
ANIMGRAPHRUNTIME_API TAutoConsoleVariable< int32 > CVarRigidBodyLODThreshold
FVector WorldVectorToSpaceNoScale(ESimulationSpace Space, const FVector &WorldDir, const FTransform &ComponentToWorld, const FTransform &BaseBoneTM)
Definition AnimNode_RigidBody.h:575
FVector WorldPositionToSpace(ESimulationSpace Space, const FVector &WorldPoint, const FTransform &ComponentToWorld, const FTransform &BaseBoneTM)
Definition AnimNode_RigidBody.h:588
FTransform SpaceToWorldTransform(ESimulationSpace Space, const FTransform &ComponentToWorld, const FTransform &BaseBoneTM)
Definition AnimNode_RigidBody.h:563
#define ensureMsgf( InExpression, InFormat,...)
Definition AssertionMacros.h:465
ELinearConstraintMotion
Definition ChaosEngineInterface.h:187
@ INDEX_NONE
Definition CoreMiscDefines.h:150
@ ForceInitToZero
Definition CoreMiscDefines.h:156
@ ForceInit
Definition CoreMiscDefines.h:155
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ETeleportType
Definition EngineTypes.h:2401
ECollisionChannel
Definition EngineTypes.h:1088
return true
Definition ExternalRpcRegistry.cpp:601
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
Definition Constraints.Build.cs:6
Definition Archive.h:1208
Definition IConsoleManager.h:1580
Definition NameTypes.h:617
Definition PerSolverFieldSystem.h:11
Definition PhysScene_Chaos.h:116
Definition IConsoleManager.h:1792
Definition EnumAsByte.h:22
Definition UnrealString.h.inl:34
Definition AnimInstance.h:353
Definition PhysicsAsset.h:172
Definition Skeleton.h:295
@ PhysScene
Definition PhysxUserData.h:27
Definition AdvancedWidgetsModule.cpp:13
@ false
Definition radaudio_common.h:23
Definition AnimInstanceProxy.h:144
Definition AnimNode_RigidBody.h:161
UPhysicsAsset * GetPhysicsAsset() const
Definition AnimNode_RigidBody.h:198
virtual ImmediatePhysics::FSimulation * GetSimulation()
Definition AnimNode_RigidBody.h:190
virtual bool HasPreUpdate() const override
Definition AnimNode_RigidBody.h:180
virtual bool NeedsOnInitializeAnimInstance() const override
Definition AnimNode_RigidBody.h:177
Definition AnimNode_SkeletalControlBase.h:22
Definition AnimNodeBase.h:324
Definition AnimNodeBase.h:354
Definition AnimCurveTypes.h:1049
Definition BodyInstance.h:320
Definition BoneContainer.h:192
Definition BoneReference.h:14
Definition BonePose.h:408
Definition CollisionQueryParams.h:43
Definition BoneIndices.h:63
Definition AnimNodeBase.h:600
Definition ConstraintInstance.h:255
Definition AnimNodeBase.h:642
Definition PhysicsAsset.h:31
Definition AnimNode_RigidBody.h:55
PRAGMA_DISABLE_DEPRECATION_WARNINGS ~FSimSpaceSettings()=default
FSimSpaceSettings(FSimSpaceSettings const &)=default
FSimSpaceSettings & operator=(const FSimSpaceSettings &)=default
Definition PhysicsAsset.h:107
Definition IsPODType.h:12
@ Value
Definition IsPODType.h:13
Definition ObjectPtr.h:488
Definition StructOpsTypeTraits.h:11
@ WithPostSerialize
Definition StructOpsTypeTraits.h:25
Definition StructOpsTypeTraits.h:46
Definition WeakObjectPtrTemplates.h:25
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79