Navigation
API > API/Runtime > API/Runtime/Chaos
Game thread side representation of a character ground constraint Modified data from this class will be pushed automatically to the physics thread and available through the FCharacterGroundConstraintHandle class. The FCharacterGroundConstraintProxy class, accessible via GetProxy(), knows about both representations and marshalls the data between them
| Name | FCharacterGroundConstraint |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/Character/CharacterGroundConstraint.h |
| Include Path | #include "Chaos/Character/CharacterGroundConstraint.h" |
Syntax
class FCharacterGroundConstraint : public Chaos::FConstraintBase
Inheritance Hierarchy
- FConstraintBase → FCharacterGroundConstraint
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FCharacterGroundConstraint() |
Chaos/Character/CharacterGroundConstraint.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FCharacterGroundConstraint() |
Chaos/Character/CharacterGroundConstraint.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| Base | FConstraintBase | Chaos/Character/CharacterGroundConstraint.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CharacterProxy | TChaosProperty< FParticleProxyProperty, EChaosProperty::CharacterParticleProxy > | Chaos/Character/CharacterGroundConstraint.h | ||
| ConstraintData | TChaosProperty< FCharacterGroundConstraintDynamicData, EChaosProperty::CharacterGroundConstraintDynamicData > | Chaos/Character/CharacterGroundConstraint.h | ||
| ConstraintSettings | TChaosProperty< FCharacterGroundConstraintSettings, EChaosProperty::CharacterGroundConstraintSettings > | Chaos/Character/CharacterGroundConstraint.h | ||
| GroundProxy | TChaosProperty< FParticleProxyProperty, EChaosProperty::GroundParticleProxy > | Chaos/Character/CharacterGroundConstraint.h | ||
| SolverAppliedForce | FVector | Chaos/Character/CharacterGroundConstraint.h | ||
| SolverAppliedTorque | FVector | Chaos/Character/CharacterGroundConstraint.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FReal GetAssumedOnGroundHeight() |
Chaos/Character/CharacterGroundConstraint.h | ||
FSingleParticlePhysicsProxy * GetCharacterParticleProxy() |
Chaos/Character/CharacterGroundConstraint.h | ||
FReal GetCosMaxWalkableSlopeAngle() |
Chaos/Character/CharacterGroundConstraint.h | ||
FReal GetDampingFactor() |
Chaos/Character/CharacterGroundConstraint.h | ||
FReal GetFrictionForceLimit() |
Chaos/Character/CharacterGroundConstraint.h | ||
FReal GetGroundDistance() |
Chaos/Character/CharacterGroundConstraint.h | ||
FVec3 GetGroundNormal() |
Chaos/Character/CharacterGroundConstraint.h | ||
FSingleParticlePhysicsProxy * GetGroundParticleProxy() |
Chaos/Character/CharacterGroundConstraint.h | ||
FReal GetMaxCharacterGroundMassRatio() |
Chaos/Character/CharacterGroundConstraint.h | ||
FReal GetMaxWalkableSlopeAngle() |
Chaos/Character/CharacterGroundConstraint.h | ||
FReal GetMotionTargetMassBias() |
Chaos/Character/CharacterGroundConstraint.h | ||
FReal GetRadialForceLimit() |
Chaos/Character/CharacterGroundConstraint.h | ||
FReal GetRadialForceMotionTargetScaling() |
Chaos/Character/CharacterGroundConstraint.h | ||
FVector GetSolverAppliedForce() |
Get the force applied by the solver due to this constraint. Units are ML/T^2. | Chaos/Character/CharacterGroundConstraint.h | |
FVector GetSolverAppliedTorque() |
Get the torque applied by the solver due to this constraint. Units are ML^2/T^2. | Chaos/Character/CharacterGroundConstraint.h | |
FReal GetSwingTorqueLimit() |
Chaos/Character/CharacterGroundConstraint.h | ||
FReal GetTargetDeltaFacing() |
Chaos/Character/CharacterGroundConstraint.h | ||
FVec3 GetTargetDeltaPosition() |
Chaos/Character/CharacterGroundConstraint.h | ||
FReal GetTargetHeight() |
Chaos/Character/CharacterGroundConstraint.h | ||
FReal GetTwistTorqueLimit() |
Chaos/Character/CharacterGroundConstraint.h | ||
void * GetUserData() |
Chaos/Character/CharacterGroundConstraint.h | ||
FVec3 GetVerticalAxis() |
Chaos/Character/CharacterGroundConstraint.h | ||
void Init
(
FSingleParticlePhysicsProxy* InCharacterProxy |
The constraint requires a character body, which is fixed, but the ground body is optional and can be changed dynamically using SetGroundParticleProxy | Chaos/Character/CharacterGroundConstraint.h | |
void SetAssumedOnGroundHeight
(
const FReal& Value |
This is the height below which the character is assumed to be on the ground and can apply force to move. | Chaos/Character/CharacterGroundConstraint.h | |
void SetCosMaxWalkableSlopeAngle
(
const FReal& Value |
Chaos/Character/CharacterGroundConstraint.h | ||
void SetDampingFactor
(
const FReal& Value |
The damping factor is used to add softness to the vertical constraint between the character and the ground. | Chaos/Character/CharacterGroundConstraint.h | |
void SetFrictionForceLimit
(
const FReal& Value |
The maximum force that the character can apply in the plane defined by the ground normal to hold the character in place while standing on an unwalkable incline (defined by max walkable slope angle) | Chaos/Character/CharacterGroundConstraint.h | |
void SetGroundDistance
(
const FReal& Value |
Vertical distance from the character body to the ground This should be set every frame as the character moves over the ground and is typically measured by performing one or more physics traces Input should be positive | Chaos/Character/CharacterGroundConstraint.h | |
void SetGroundNormal
(
const FVec3& Normal |
Unit normal to the ground plane Input vector is normalized if it is not already a unit vector | Chaos/Character/CharacterGroundConstraint.h | |
void SetGroundParticleProxy
(
FSingleParticlePhysicsProxy* InGroundProxy |
Chaos/Character/CharacterGroundConstraint.h | ||
void SetMaxCharacterGroundMassRatio
(
const FReal& Value |
Maximum ratio between the character mass and the ground body mass as used by the constraint solver E.g. | Chaos/Character/CharacterGroundConstraint.h | |
void SetMaxWalkableSlopeAngle
(
const FReal& Value |
The maximum angle of slope that is considered walkable. | Chaos/Character/CharacterGroundConstraint.h | |
void SetMotionTarget
(
const FVector& TargetDeltaPosition, |
Set both the target delta position and facing angle. | Chaos/Character/CharacterGroundConstraint.h | |
void SetMotionTargetMassBias
(
const FReal& Value |
This is a fractional value used to scale the ground mass in the motion target constraint. | Chaos/Character/CharacterGroundConstraint.h | |
void SetRadialForceLimit
(
const FReal& Value |
The maximum force that the character can apply in the plane defined by the ground normal to move the character to its target position (or hold the character in place if no target delta position is set). | Chaos/Character/CharacterGroundConstraint.h | |
void SetRadialForceMotionTargetScaling
(
const FReal& Value |
This is a fractional value used to scale the radial force so that the character can achieve the motion target 1 means full scaling is applied and the character will always be able to achieve the motion target 0 means no scaling is applied to the radial force limit | Chaos/Character/CharacterGroundConstraint.h | |
void SetSwingTorqueLimit
(
const FReal& Value |
The maximum torque that the character can apply about the non vertical axes to keep the character upright | Chaos/Character/CharacterGroundConstraint.h | |
void SetTargetDeltaFacing
(
const FReal& Value |
Set the target orientation change about the vertical axis. | Chaos/Character/CharacterGroundConstraint.h | |
void SetTargetDeltaPosition
(
const FVec3& Value |
Set the target change in position for the character. | Chaos/Character/CharacterGroundConstraint.h | |
void SetTargetHeight
(
const FReal& Value |
Target vertical distance from the character body to the ground If the ground distance is smaller than this number the constraint will try to fix up the error to keep the character at the target height Input should be positive | Chaos/Character/CharacterGroundConstraint.h | |
void SetTwistTorqueLimit
(
const FReal& Value |
The maximum torque that the character can apply about the vertical axis to rotate the character to its target facing direction (or hold the character in place if no target delta facing is set). | Chaos/Character/CharacterGroundConstraint.h | |
void SetUserData
(
void* Value |
Chaos/Character/CharacterGroundConstraint.h | ||
void SetVerticalAxis
(
const FVec3& Axis |
Unit vector defining the character up direction Input vector is normalized if it is not already a unit vector | Chaos/Character/CharacterGroundConstraint.h |