Navigation
| Name | PhysicsControl |
| Type | Plugin |
| Part of Plugins | PhysicsControl |
| Location | /Engine/Plugins/Experimental/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. |
| 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 |
| 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 |
| FRigidBodyKinematicTarget | A single kinematic target, which may be defined as an offset from the (implicit) animation target. |
| 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 |
|---|---|
| EPhysicsControlType | Specifies the type of control that is created when making controls from a skeleton or a set of limbs. |
| EPhysicsMovementType | Note that this file defines structures that mostly are, or could be, shared between the PhysicsControlComponent and the RigidBodyWithControl node. |
| 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 |
|---|---|---|---|
ImmediatePhysics::FJointHandle * CreatePhysicsJoint
(
ImmediatePhysics::FSimulation* Simulation, |
Creates a physics joint in the form that's useful for controls. | 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*const JointHandle, |
AnimNode_RigidBodyWithControl.h | ||
FVector UE::PhysicsControl::CalculateAngularVelocity
(
const FQuat& PrevQ, |
PhysicsControlHelpers.h | ||
FVector UE::PhysicsControl::CalculateLinearVelocity
(
const FVector& PrevP, |
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. | 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 | |
| PhysicsControlOperatorNameGeneration.h | |||
| PhysicsControlOperatorNameGeneration.h | |||
FName UE::PhysicsControl::GetUniqueName
(
const FString& NameBase, |
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 | |
bool UpdateDriveSpringDamperSettings
(
ImmediatePhysics::FJointHandle* JointHandle, |
AnimNode_RigidBodyWithControl.h |