Navigation
| Name | PhysicsControl |
| Type | Plugin |
| Part of Plugins | PhysicsControl |
| Location | /Engine/Plugins/Animation/PhysicsControl/Source/PhysicsControl/ |
| Module Build Rules | PhysicsControl.Build.cs |
Classes
| Name | Remarks |
|---|---|
| APhysicsControlActor | Actor that holds a PhysicsControlComponent which is then used to apply controls/body modifiers to other actors from "outside", and a PhysicsControlInitializerComponent which provides the ability to create those controls automatically |
| FPhysicsControlModule | |
| UPhysicsControlAsset | Asset for storing Physics Control Profiles. |
| UPhysicsControlBPLibrary | |
| UPhysicsControlComponent | This is the main Physics Control Component class which manages Controls and Body Modifiers associated with one or more static or skeletal meshes. |
| UPhysicsControlInitializerComponent |
Structs
| Name | Remarks |
|---|---|
| FAnimNode_RigidBodyWithControl | Controller that simulates physics based on the physics asset of the skeletal mesh component |
| FBoneData | |
| FInitialBodyModifier | Structure that determines a Body Modifier used during initialization of the physics control actor. |
| FInitialCharacterControls | Structure that holds the data necessary to set up a default set of limb controls for a character. |
| FInitialPhysicsControl | Structure that determines a Physics Control used during initialization of the physics control actor. |
| FModifiedSkeletalMeshData | Used internally/only at runtime to track when a SkeletalMeshComponent is being controlled through a modifier, and to restore settings when that stops. |
| FOutputBoneData | |
| FPhysicsBodyModifier | Represents a single/individual body modifier, with the modifier data. |
| FPhysicsBodyModifierCreationData | Used on creation, to allow requesting the modifier to be in certain sets. |
| FPhysicsBodyModifierRecord | There will be a PhysicsBodyModifier created at runtime for every BodyInstance involved in the component. |
| FPhysicsControl | Structure that determines a "control" - this contains all the information needed to drive (with spring-dampers) a child body relative to a parent body. |
| FPhysicsControlAndBodyModifierCreationDatas | Collection of controls and body modifiers, used for creation. |
| FPhysicsControlCharacterSetupData | |
| FPhysicsControlControlAndModifierParameters | These apply temporary/ephemeral changes to the controls that only persist for one tick. |
| FPhysicsControlControlAndModifierUpdates | These apply permanent changes to the controls and modifiers, allowing all the settings to be changed (apart from the actual bodies that are being controlled/affected) |
| FPhysicsControlCreationData | Used on creation, to allow requesting the control to be in certain sets. |
| FPhysicsControlData | Contains data associated with how physical bodies should be controlled/directed towards their targets. |
| FPhysicsControlForceAndTorqueData | |
| FPhysicsControlLimbBones | Wrapper for the array of bone names, so that the limbs can we can work with a map of arrays of names. |
| FPhysicsControlLimbSetupData | Setup data that are used to create the representation of a single limb. |
| FPhysicsControlModifierData | Analogous to the ControlData, this indicates how an individual controlled body should move. |
| FPhysicsControlModifierSparseData | Analogous to the ControlData, this indicates how an individual controlled body should move, with flags indicating whether each element should get used. |
| FPhysicsControlMultiplier | These parameters allow modification of the parameters in FPhysicsControlData for two reasons: |
| FPhysicsControlNamedControlMultiplierParameters | Data that can be used to parameterize (modify/update) a control multiplier. |
| FPhysicsControlNamedControlParameters | Data that can be used to parameterize (modify/update) a control. |
| FPhysicsControlNamedForceAndTorqueData | |
| FPhysicsControlNamedModifierParameters | Data that can be used to parameterize(modify / update) a modifier. |
| FPhysicsControlNameRecords | All the controls and body modifiers we create get given names, so we can keep a record in a form that will be useful to users. |
| FPhysicsControlNames | Wrapper for the array of names, so that the control/modifier sets can we work with a map of arrays of names. |
| FPhysicsControlObjectVersion | |
| FPhysicsControlPoseData | Caches the pose for PhysicsControlComponent. |
| FPhysicsControlRecord | There will be a PhysicsControlRecord created at runtime for every Control that has been created. |
| FPhysicsControlSetUpdate | Update an existing set, or add to it. |
| FPhysicsControlSetUpdates | Combines updates for control and modifier sets. |
| FPhysicsControlSparseData | Strength and damping etc parameters that will affect a control, with flags indicating whether each element should get used. |
| FPhysicsControlSparseMultiplier | These parameters allow modification of the parameters in FPhysicsControlData for two reasons: |
| FPhysicsControlTarget | Defines a target position and orientation, and also the target velocity and angular velocity. |
| FPosQuat | Simple minimal implementation of a "FTransform without scale". |
| FRigidBodyControlRecord | This is the record for a control. |
| FRigidBodyControlTarget | |
| FRigidBodyControlTargets | A set of targets for controls. |
| FRigidBodyForcesAndTorques | A set of forces and torques. |
| FRigidBodyKinematicTarget | A single kinematic target, which will be applied in the KinematicTargetSpace set in the relevant body modifier. |
| FRigidBodyKinematicTargets | A set of kinematic targets. |
| FRigidBodyModifierRecord | This is the record for a modifier. |
| FRigidBodyPoseData | Caches the pose for RigidBodyWithControl. |
| FRigidBodyWithControlReference | |
| FSimulationSpaceData |
Enums
Public
| Name | Remarks |
|---|---|
| EPhysicsControlForceType | |
| EPhysicsControlKinematicTargetSpace | Specifies what space a kinematic target is defined in. |
| EPhysicsControlSpace | Specifies a space for queries, forces etc. |
| EPhysicsControlType | Specifies the type of control that is created when making controls from a skeleton or a set of limbs. |
| EPhysicsMovementType | Used by Body Modifiers to specify how the physical bodies should move. |
| EResetToCachedTargetBehavior | Specifies how any reset to cached target should work. |
| MapConstraintsBehaviorType |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CVarEnableRigidBodyNodeWithControl | TAutoConsoleVariable< int32 > | AnimNode_RigidBodyWithControl.h | ||
| CVarEnableRigidBodyNodeWithControlSimulation | TAutoConsoleVariable< int32 > | AnimNode_RigidBodyWithControl.h | ||
| CVarRigidBodyNodeWithControlLODThreshold | TAutoConsoleVariable< int32 > | AnimNode_RigidBodyWithControl.h | ||
| MaxNumControlsOrModifiersPerName | int32 | PhysicsControlOperatorNameGeneration.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
EPhysicsControlForceType ConvertForceType
(
ImmediatePhysics_Shared::EForceType InForceType |
PhysicsControlData.h | ||
ImmediatePhysics_Shared::EForceType ConvertForceType
(
EPhysicsControlForceType InForceType |
PhysicsControlData.h | ||
ImmediatePhysics::FJointHandle * CreatePhysicsJoint
(
ImmediatePhysics::FSimulation& Simulation, |
Creates a physics joint in the form that's useful for controls. | AnimNode_RigidBodyWithControl.h | |
ImmediatePhysics::FJointHandle * CreatePhysicsJoint
(
ImmediatePhysics::FSimulation* Simulation, |
AnimNode_RigidBodyWithControl.h | ||
| Returns a copy of the supplied list of names in which any names that match keys in the supplied 'Sets' map are replaced with all the names in the array associated with that key. | PhysicsControlNameRecords.h | ||
| PhysicsControlNameRecords.h | |||
FName GetPhysicsControlTypeName
(
const EPhysicsControlType ControlType |
PhysicsControlData.h | ||
FName GetPhysicsMovementTypeName
(
const EPhysicsMovementType MovementType |
PhysicsControlData.h | ||
FPhysicsControlData Interpolate
(
const FPhysicsControlData& A, |
Functions to interpolate between various control/modifier datas. | PhysicsControlData.h | |
FPhysicsControlSparseData Interpolate
(
const FPhysicsControlSparseData& A, |
PhysicsControlData.h | ||
FPhysicsControlModifierData Interpolate
(
const FPhysicsControlModifierData& A, |
PhysicsControlData.h | ||
FPhysicsControlModifierSparseData Interpolate
(
const FPhysicsControlModifierSparseData& A, |
PhysicsControlData.h | ||
void SetPhysicsJointEnabled
(
ImmediatePhysics::FJointHandle& JointHandle, |
AnimNode_RigidBodyWithControl.h | ||
void SetPhysicsJointEnabled
(
ImmediatePhysics::FJointHandle* JointHandle, |
AnimNode_RigidBodyWithControl.h | ||
FVector UE::PhysicsControl::CalculateAngularVelocity
(
const FQuat& PrevQ, |
Calculates the angular velocity that would go from PrevQ to CurrentQ in Dt. Returns zero if Dt is invalid. | PhysicsControlHelpers.h | |
FVector UE::PhysicsControl::CalculateLinearVelocity
(
const FVector& PrevP, |
Calculates the linear velocity that would go from PrevP to CurrentP in Dt. Returns zero if Dt is invalid. | PhysicsControlHelpers.h | |
void UE::PhysicsControl::ConvertSpringToStrengthParams
(
TOut& OutStrength, |
Converts spring/damping values into strength/damping ratio/extra damping. | PhysicsControlHelpers.h | |
void UE::PhysicsControl::ConvertStrengthToSpringParams
(
TOut& OutSpring, |
Converts strength/damping ratio/extra damping into spring stiffness/damping. Clamps strength to >= 0. | PhysicsControlHelpers.h | |
bool UE::PhysicsControl::DoesNameExist
(
const FName Name, |
Helper for GetUniqueName. | PhysicsControlOperatorNameGeneration.h | |
bool UE::PhysicsControl::DoesNameExist
(
const FName Name, |
Helper for GetUniqueName. | PhysicsControlOperatorNameGeneration.h | |
bool UE::PhysicsControl::DoesNameExist
(
const FName Name, |
Helper for GetUniqueName. | PhysicsControlOperatorNameGeneration.h | |
FName UE::PhysicsControl::GetUniqueBodyModifierName
(
const FName BodyName, |
PhysicsControlOperatorNameGeneration.h | ||
FName UE::PhysicsControl::GetUniqueBodyModifierName
(
const UPrimitiveComponent* Component, |
PhysicsControlOperatorNameGeneration.h | ||
FName UE::PhysicsControl::GetUniqueControlName
(
const FName ParentName, |
PhysicsControlOperatorNameGeneration.h | ||
FName UE::PhysicsControl::GetUniqueControlName
(
const UPrimitiveComponent* ParentComponent, |
PhysicsControlOperatorNameGeneration.h | ||
FName UE::PhysicsControl::GetUniqueName
(
const FString& OriginalName, |
Makes a unique version of OriginalName. | PhysicsControlOperatorNameGeneration.h | |
void UpdateBodyFromModifierData
(
ImmediatePhysics::FActorHandle& ActorHandle, |
A helper function that lets any immediate simulation user update their bodies in the same way that RigidBodyWithControl does. | AnimNode_RigidBodyWithControl.h | |
void UpdateBodyFromModifierData
(
ImmediatePhysics::FActorHandle* ActorHandle, |
AnimNode_RigidBodyWithControl.h | ||
bool UpdateDriveSpringDamperSettings
(
ImmediatePhysics::FJointHandle& JointHandle, |
Adjusts the constraint spring drive settings to reflect the control data. | AnimNode_RigidBodyWithControl.h | |
bool UpdateDriveSpringDamperSettings
(
ImmediatePhysics::FJointHandle* JointHandle, |
AnimNode_RigidBodyWithControl.h |