36 return CharacterProxy.Read().ParticleProxy;
41 return GroundProxy.Read().ParticleProxy;
67 Tmp *= FMath::InvSqrt(
SizeSq);
70 Data.GroundNormal = Tmp;
83 Tmp *= FMath::InvSqrt(
SizeSq);
86 Data.VerticalAxis = Tmp;
175 Data.CosMaxWalkableSlopeAngle = FMath::Cos(
Angle);
184 Data.CosMaxWalkableSlopeAngle =
CosAngle;
201 Data.TargetDeltaPosition =
Value;
218 Data.TargetDeltaFacing =
Value;
229 Data.TargetDeltaPosition = TargetDeltaPosition;
230 Data.TargetDeltaFacing = TargetDeltaFacing;
281 Data.UserData =
Value;
294 Data.MaxCharacterGroundMassRatio =
Value;
309 void WakeCharacterBody()
321 void WakeGroundBody()
323 if (FSingleParticlePhysicsProxy*
Ground = GroundProxy.Read().ParticleProxy)
325 FRigidBodyHandle_External&
Body =
Ground->GetGameThreadAPI();
335 CHAOS_API virtual void SyncRemoteDataImp(FDirtyPropertiesManager& Manager,
int32 DataIdx, FDirtyChaosProperties&
RemoteData)
override;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void Init()
Definition LockFreeList.h:4
#define UE_HALF_PI
Definition UnrealMathUtility.h:151
Definition ChaosConstraintSettings.h:16
Definition CharacterGroundConstraintSettings.h:32
Definition CharacterGroundConstraintProxy.h:18
Definition CharacterGroundConstraintSettings.h:9
Definition CharacterGroundConstraint.h:19
void SetGroundNormal(const FVec3 &Normal)
Definition CharacterGroundConstraint.h:61
FReal GetTargetHeight() const
Definition CharacterGroundConstraint.h:114
void SetCosMaxWalkableSlopeAngle(const FReal &Value)
Definition CharacterGroundConstraint.h:180
void SetRadialForceMotionTargetScaling(const FReal &Value)
Definition CharacterGroundConstraint.h:145
void SetTargetDeltaFacing(const FReal &Value)
Definition CharacterGroundConstraint.h:215
void * GetUserData() const
Definition CharacterGroundConstraint.h:284
void SetSwingTorqueLimit(const FReal &Value)
Definition CharacterGroundConstraint.h:270
void SetMaxWalkableSlopeAngle(const FReal &Value)
Definition CharacterGroundConstraint.h:171
FSingleParticlePhysicsProxy * GetCharacterParticleProxy() const
Definition CharacterGroundConstraint.h:34
FReal GetTargetDeltaFacing() const
Definition CharacterGroundConstraint.h:222
void SetMotionTarget(const FVector &TargetDeltaPosition, const FReal &TargetDeltaFacing)
Definition CharacterGroundConstraint.h:226
FReal GetAssumedOnGroundHeight() const
Definition CharacterGroundConstraint.h:165
FVector GetSolverAppliedTorque() const
Definition CharacterGroundConstraint.h:306
FReal GetRadialForceLimit() const
Definition CharacterGroundConstraint.h:244
FVec3 GetGroundNormal() const
Definition CharacterGroundConstraint.h:73
void SetUserData(void *Value)
Definition CharacterGroundConstraint.h:278
void SetGroundParticleProxy(FSingleParticlePhysicsProxy *InGroundProxy)
Definition CharacterGroundConstraint.h:44
FReal GetMaxWalkableSlopeAngle() const
Definition CharacterGroundConstraint.h:178
FReal GetGroundDistance() const
Definition CharacterGroundConstraint.h:102
void SetRadialForceLimit(const FReal &Value)
Definition CharacterGroundConstraint.h:238
void SetDampingFactor(const FReal &Value)
Definition CharacterGroundConstraint.h:121
friend class FCharacterGroundConstraintProxy
Definition CharacterGroundConstraint.h:22
FReal GetCosMaxWalkableSlopeAngle() const
Definition CharacterGroundConstraint.h:187
FReal GetFrictionForceLimit() const
Definition CharacterGroundConstraint.h:255
FSingleParticlePhysicsProxy * GetGroundParticleProxy() const
Definition CharacterGroundConstraint.h:39
void SetGroundDistance(const FReal &Value)
Definition CharacterGroundConstraint.h:95
FReal GetMaxCharacterGroundMassRatio() const
Definition CharacterGroundConstraint.h:297
FVec3 GetVerticalAxis() const
Definition CharacterGroundConstraint.h:89
FVector GetSolverAppliedForce() const
Definition CharacterGroundConstraint.h:303
void SetMotionTargetMassBias(const FReal &Value)
Definition CharacterGroundConstraint.h:133
void SetTargetHeight(const FReal &Value)
Definition CharacterGroundConstraint.h:108
void SetFrictionForceLimit(const FReal &Value)
Definition CharacterGroundConstraint.h:249
void SetTargetDeltaPosition(const FVec3 &Value)
Definition CharacterGroundConstraint.h:198
FVec3 GetTargetDeltaPosition() const
Definition CharacterGroundConstraint.h:205
FReal GetDampingFactor() const
Definition CharacterGroundConstraint.h:127
void SetVerticalAxis(const FVec3 &Axis)
Definition CharacterGroundConstraint.h:77
FReal GetTwistTorqueLimit() const
Definition CharacterGroundConstraint.h:266
FReal GetMotionTargetMassBias() const
Definition CharacterGroundConstraint.h:139
void SetAssumedOnGroundHeight(const FReal &Value)
Definition CharacterGroundConstraint.h:159
void SetMaxCharacterGroundMassRatio(const FReal &Value)
Definition CharacterGroundConstraint.h:291
CHAOS_API FCharacterGroundConstraint()
Definition CharacterGroundConstraint.cpp:7
void SetTwistTorqueLimit(const FReal &Value)
Definition CharacterGroundConstraint.h:260
virtual ~FCharacterGroundConstraint() override
Definition CharacterGroundConstraint.h:25
FReal GetSwingTorqueLimit() const
Definition CharacterGroundConstraint.h:276
FReal GetRadialForceMotionTargetScaling() const
Definition CharacterGroundConstraint.h:151
Definition PBDConstraintBaseData.h:36
class IPhysicsProxyBase * Proxy
Definition PBDConstraintBaseData.h:69
FDirtyChaosPropertyFlags DirtyFlags
Definition PBDConstraintBaseData.h:70
Definition SingleParticlePhysicsProxy.h:1154
Definition SingleParticlePhysicsProxy.h:58
Definition SkeletalMeshComponent.h:307
FRealDouble FReal
Definition Real.h:22
Definition PBDSuspensionConstraintTypes.h:23
static UE_FORCEINLINE_HINT bool IsNearlyEqual(float A, float B, float ErrorTolerance=UE_SMALL_NUMBER)
Definition UnrealMathUtility.h:388
static constexpr UE_FORCEINLINE_HINT T Clamp(const T X, const T MinValue, const T MaxValue)
Definition UnrealMathUtility.h:592