Navigation
API > API/Plugins > API/Plugins/PhysicsControl
This is the main Physics Control Component class which manages Controls and Body Modifiers associated with one or more static or skeletal meshes. You can add this as a component to an actor containing a mesh and then use it to create, configure and destroy Controls/Body Modifiers:
Controls are used to control one physics body relative to another (or the world). These controls are done through physical spring/damper drives.
Body Modifiers are used to update the most important physical properties of physics bodies such as whether they are simulated vs kinematic, or whether they experience gravity.
Note that Controls and Body Modifiers are given names (which are predictable). These names can then be stored (perhaps in arrays) to make it easy to quickly change multiple Controls/Body Modifiers.
| Name | UPhysicsControlComponent |
| Type | class |
| Header File | /Engine/Plugins/Experimental/PhysicsControl/Source/PhysicsControl/Public/PhysicsControlComponent.h |
| Include Path | #include "PhysicsControlComponent.h" |
Syntax
UCLASS (MinimalAPI, Meta=(BlueprintSpawnableComponent), ClassGroup=Physics, Experimental)
class UPhysicsControlComponent : public USceneComponent
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UActorComponent → USceneComponent → UPhysicsControlComponent
Implements Interfaces
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UPhysicsControlComponent
(
const FObjectInitializer& ObjectInitializer |
PhysicsControlComponent.h |
Enums
Protected
| Name | Remarks |
|---|---|
| EDestroyBehavior | When destroying a control or modifier, the record will normally be removed, but it can be retained if you will subsequently update the records |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bAttemptToRecreateDisabledControls | bool | If set then controls that have been disabled due to the bodies being set to NoCollision (for example) will be reinitialized, if possible, when those bodies are returned to the simulation. | PhysicsControlComponent.h |
|
| bShowDebugBodyModifierList | bool | Display all the body modifiers and their basic properties when this component is selected | PhysicsControlComponent.h |
|
| bShowDebugControlList | bool | Display all the controls and their basic properties when this component is selected | PhysicsControlComponent.h |
|
| bShowDebugVisualization | bool | Visualize the controls when this component is selected | PhysicsControlComponent.h |
|
| bWarnAboutInvalidNames | bool | Warn if an an invalid control or body modifier name is used. | PhysicsControlComponent.h |
|
| DebugBodyModifierDetailFilter | FString | Display detailed info for body modifiers containing this string (if non-empty) when this component is selected | PhysicsControlComponent.h |
|
| DebugControlDetailFilter | FString | Display detailed info for controls containing this string (if non-empty) when this component is selected | PhysicsControlComponent.h |
|
| MaxNumControlsOrModifiersPerName | int32 | Upper limit on the number of controls or modifiers that will be created using the same name (which will get a numerical postfix). | PhysicsControlComponent.h |
|
| PhysicsControlAsset | TSoftObjectPtr< UPhysicsControlAsset > | Optional PhysicsControlAsset to use. | PhysicsControlComponent.h |
|
| TeleportDistanceThreshold | float | If the component moves by more than this distance then it is treated as a teleport, which prevents velocities being used for a frame. | PhysicsControlComponent.h |
|
| TeleportRotationThreshold | float | If the component rotates by more than this angle (in degrees) then it is treated as a teleport, which prevents velocities being used for a frame. | PhysicsControlComponent.h |
|
| VelocityPredictionTime | float | The time used when "predicting" the target position/orientation. | PhysicsControlComponent.h |
|
| VisualizationSizeScale | float | Size of the gizmos etc used during visualization | PhysicsControlComponent.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddBodyModifiersToSet
(
FPhysicsControlNames& NewSet, |
Adds body modifiers to a Set. | PhysicsControlComponent.h |
|
void AddBodyModifierToSet
(
FPhysicsControlNames& NewSet, |
Adds a body modifier to a Set. | PhysicsControlComponent.h |
|
void AddControlsToSet
(
FPhysicsControlNames& NewSet, |
Adds Controls to a Set. | PhysicsControlComponent.h |
|
void AddControlToSet
(
FPhysicsControlNames& NewSet, |
Adds a Control to a Set. | PhysicsControlComponent.h |
|
FName CreateBodyModifier
(
UPrimitiveComponent* Component, |
Creates a new body modifier for mesh components | PhysicsControlComponent.h |
|
TMap< FName, FPhysicsControlNames > CreateBodyModifiersFromLimbBones
(
FPhysicsControlNames& AllBodyModifiers, |
Creates a collection of controls controlling a skeletal mesh, grouped together in limbs | PhysicsControlComponent.h |
|
TArray< FName > CreateBodyModifiersFromSkeletalMeshBelow
(
USkeletalMeshComponent* SkeletalMeshComponent, |
Creates new body modifiers for skeletal mesh components | PhysicsControlComponent.h |
|
FName CreateControl
(
UPrimitiveComponent* ParentComponent, |
Creates a new control for mesh components | PhysicsControlComponent.h |
|
bool CreateControlsAndBodyModifiersFromLimbBones
(
FPhysicsControlNames& AllWorldSpaceControls, |
Creates a collections of controls and body modifiers for a character, based on the description passed in. | PhysicsControlComponent.h |
|
bool CreateControlsAndBodyModifiersFromPhysicsControlAsset
(
USkeletalMeshComponent* SkeletalMeshComponent, |
This uses the control profile asset (that should have already been assigned in our data) to create controls and body modifiers. | PhysicsControlComponent.h |
|
TMap< FName, FPhysicsControlNames > CreateControlsFromLimbBones
(
FPhysicsControlNames& AllControls, |
Creates a collection of controls controlling a skeletal mesh, grouped together in limbs | PhysicsControlComponent.h |
|
TMap< FName, FPhysicsControlNames > CreateControlsFromLimbBonesAndConstraintProfile
(
FPhysicsControlNames& AllControls, |
Creates a collection of ParentSpace controls controlling a skeletal mesh, grouped together in limbs, initializing them with a constraint profile | PhysicsControlComponent.h |
|
TArray< FName > CreateControlsFromSkeletalMesh
(
USkeletalMeshComponent* SkeletalMeshComponent, |
Creates a collection of controls controlling a skeletal mesh | PhysicsControlComponent.h |
|
| Creates a collection of ParentSpace controls controlling a skeletal mesh, initializing them with a constraint profile | PhysicsControlComponent.h |
|
|
| Creates a collection of ParentSpace controls controlling a skeletal mesh, initializing them with a constraint profile | PhysicsControlComponent.h |
|
|
TArray< FName > CreateControlsFromSkeletalMeshBelow
(
USkeletalMeshComponent* SkeletalMeshComponent, |
Creates a collection of controls controlling a skeletal mesh | PhysicsControlComponent.h |
|
bool CreateNamedBodyModifier
(
const FName Name, |
Creates a new body modifier for mesh components | PhysicsControlComponent.h |
|
bool CreateNamedControl
(
FName Name, |
Creates a new control for mesh components | PhysicsControlComponent.h |
|
virtual void DebugDraw
(
FPrimitiveDrawInterface* PDI |
Used by the component visualizer. | PhysicsControlComponent.h | |
virtual void DebugDrawControl
(
FPrimitiveDrawInterface* PDI, |
PhysicsControlComponent.h | ||
void DestroyAllControlsAndBodyModifiers() |
Destroys all controls and body modifiers | PhysicsControlComponent.h |
|
void DestroyBodyModifier
(
const FName Name, |
Destroys a body modifier or body modifiers in a set Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
| Destroys body modifiers or body modifiers in sets Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
|
void DestroyBodyModifiersInSet
(
const FName Set |
Destroys body modifiers | PhysicsControlComponent.h |
|
void DestroyControl
(
const FName Name, |
Destroys a control or controls in a set Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
| Destroys all controls or sets of controls Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
|
void DestroyControlsInSet
(
const FName Set |
Destroys all controls in a set | PhysicsControlComponent.h |
|
| Returns a reference to all the body modifier names that have been created. | PhysicsControlComponent.h |
|
|
| Returns a reference to all the control names that have been created. | PhysicsControlComponent.h |
|
|
bool GetBodyModifierExists
(
const FName Name |
Indicates if a body modifier with the name exists (doesn't produce a warning if it doesn't) | PhysicsControlComponent.h |
|
const TArray< FName > & GetBodyModifierNamesInSet
(
const FName Set |
Returns a reference to all the body modifier names that have been created and are in the specified set, which could be a limb, or a subsequently created set. | PhysicsControlComponent.h |
|
FRotator GetCachedBoneOrientation
(
const USkeletalMeshComponent* SkeletalMeshComponent, |
Gets the orientation of the requested bone that will be used as a target (in world space). | PhysicsControlComponent.h |
|
TArray< FRotator > GetCachedBoneOrientations
(
const USkeletalMeshComponent* SkeletalMeshComponent, |
Gets the orientations of the requested bones that will be used as targets (in world space). | PhysicsControlComponent.h |
|
FVector GetCachedBonePosition
(
const USkeletalMeshComponent* SkeletalMeshComponent, |
Gets the position of the requested bone that will be used as a target (in world space). | PhysicsControlComponent.h |
|
TArray< FVector > GetCachedBonePositions
(
const USkeletalMeshComponent* SkeletalMeshComponent, |
Gets the positions of the requested bones that will be used as targets (in world space). | PhysicsControlComponent.h |
|
FTransform GetCachedBoneTransform
(
const USkeletalMeshComponent* SkeletalMeshComponent, |
Gets the transforms of the requested bone that will be used as a target (in world space). | PhysicsControlComponent.h |
|
TArray< FTransform > GetCachedBoneTransforms
(
const USkeletalMeshComponent* SkeletalMeshComponent, |
Gets the transforms of the requested bones that will be used as targets (in world space). | PhysicsControlComponent.h |
|
bool GetControlData
(
const FName Name, |
PhysicsControlComponent.h |
|
|
bool GetControlEnabled
(
const FName Name |
PhysicsControlComponent.h |
|
|
bool GetControlExists
(
const FName Name |
Indicates if a control with the name exists (doesn't produce a warning if it doesn't) | PhysicsControlComponent.h |
|
bool GetControlMultiplier
(
const FName Name, |
PhysicsControlComponent.h |
|
|
const TArray< FName > & GetControlNamesInSet
(
const FName Set |
Returns a reference to all the control names that have been created and are in the specified set, which could be a limb, or a subsequently created set. | PhysicsControlComponent.h |
|
bool GetControlTarget
(
const FName Name, |
PhysicsControlComponent.h |
|
|
TMap< FName, FPhysicsControlLimbBones > GetLimbBonesFromSkeletalMesh
(
USkeletalMeshComponent* SkeletalMeshComponent, |
Calculates which bones belong to which limb in a skeletal mesh | PhysicsControlComponent.h |
|
| Returns the names of all sets containing the body modifier (may be empty - e.g. if it doesn't exist) | PhysicsControlComponent.h |
|
|
| Returns the names of all sets containing the control (may be empty - e.g. if it doesn't exist) | PhysicsControlComponent.h |
|
|
| Looks up the profile which should exist in the registered control profile asset, and invokes it. | PhysicsControlComponent.h |
|
|
virtual void OnCreatePhysicsState() |
PhysicsControlComponent.h | ||
virtual void OnDestroyPhysicsState() |
PhysicsControlComponent.h | ||
virtual void OnRegister() |
PhysicsControlComponent.h | ||
void ResetBodyModifiersInSetToCachedBoneTransforms
(
const FName SetName, |
Calls ResetBodyModifierToCachedTarget for each of the body modifiers in the set | PhysicsControlComponent.h |
|
void ResetBodyModifiersToCachedBoneTransforms
(
const TArray< FName >& Names, |
Calls ResetBodyModifierToCachedTarget for each of the body modifiers or body modifiers in the sets Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
void ResetBodyModifierToCachedBoneTransform
(
const FName Name, |
This flags the body associated with the modifier, or modifiers in a set, to set (using teleport) its position and velocity to the cached animation target. | PhysicsControlComponent.h |
|
bool ResetControlPoint
(
const FName Name |
Resets the control point to the center of mass of the mesh | PhysicsControlComponent.h |
|
void SetBodyModifierCollisionType
(
const FName Name, |
Sets the collision type for a body modifier or body modifiers in a set Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
void SetBodyModifierData
(
const FName Name, |
Modifies an existing Body Modifier Data in a body modifier or body modifiers in a set Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
void SetBodyModifierDatas
(
const TArray< FName >& Names, |
Modifies existing body modifier data in body modifiers or body modifiers in sets Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
void SetBodyModifierDatasInSet
(
const FName Set, |
Modifies existing Body Modifier Data | PhysicsControlComponent.h |
|
void SetBodyModifierGravityMultiplier
(
const FName Name, |
Sets the gravity multiplier for a body modifier or body modifiers in a set Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
bool SetBodyModifierKinematicTarget
(
const FName Name, |
Sets the kinematic target transform for a body modifier. | PhysicsControlComponent.h |
|
void SetBodyModifierKinematicTargetSpace
(
const FName Name, |
Sets what space kinematic targets should be applied in for a body modifier or body modifiers in a set Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
void SetBodyModifierMovementType
(
const FName Name, |
Sets the movement type for a body modifier or body modifiers in a set | PhysicsControlComponent.h |
|
void SetBodyModifierPhysicsBlendWeight
(
const FName Name, |
Sets the physics blend weight for a body modifier or body modifiers in a set Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
| Sets the collision type for body modifiers or body modifiers in sets Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
|
| Sets the gravity multiplier for body modifiers or body modifiers in sets Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
|
void SetBodyModifiersInSetCollisionType
(
const FName Set, |
Sets the collision type for body modifiers | PhysicsControlComponent.h |
|
void SetBodyModifiersInSetGravityMultiplier
(
const FName Set, |
Sets the gravity multiplier for body modifiers | PhysicsControlComponent.h |
|
void SetBodyModifiersInSetKinematicTargetSpace
(
const FName Set, |
Sets what space kinematic targets should be applied in | PhysicsControlComponent.h |
|
void SetBodyModifiersInSetMovementType
(
const FName Set, |
Sets the movement type for body modifiers | PhysicsControlComponent.h |
|
void SetBodyModifiersInSetPhysicsBlendWeight
(
const FName Set, |
Sets the physics blend weight for body modifiers | PhysicsControlComponent.h |
|
void SetBodyModifiersInSetUpdateKinematicFromSimulation
(
const FName Set, |
Sets whether body modifiers should update kinematics from the simulation results | PhysicsControlComponent.h |
|
void SetBodyModifiersKinematicTargetSpace
(
const TArray< FName >& Names, |
Sets what space kinematic targets should be applied in for body modifiers or body modifiers in sets Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
void SetBodyModifiersMovementType
(
const TArray< FName >& Names, |
Sets the movement type for body modifiers or body modifiers in sets | PhysicsControlComponent.h |
|
void SetBodyModifierSparseData
(
const FName Name, |
Modifies an existing Body Modifier Data in a body modifier or body modifiers in a set | PhysicsControlComponent.h |
|
void SetBodyModifierSparseDatas
(
const TArray< FName >& Names, |
Modifies existing Body Modifier Data in body modifiers or body modifiers in sets Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
void SetBodyModifierSparseDatasInSet
(
const FName Set, |
Modifies existing Body Modifier Data | PhysicsControlComponent.h |
|
| Sets the physics blend weight for body modifiers or body modifiers in sets Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
|
| Sets whether body modifiers should update kinematics from the simulation results for body modifiers or body modifiers in sets Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
|
void SetBodyModifierUpdateKinematicFromSimulation
(
const FName Name, |
Sets whether a body modifier should update kinematics from the simulation results, for a body modifier or body modifiers in a set Standard sets will include "All" and things like "ArmLeft", depending on how body modifiers have been created. | PhysicsControlComponent.h |
|
bool SetCachedBoneData
(
const USkeletalMeshComponent* SkeletalMeshComponent, |
This allows the caller to override the target that will have been calculated and cached at the start of the Physics Control Component update. | PhysicsControlComponent.h |
|
void SetCachedBoneVelocitiesToZero () |
This sets cached bone velocities to zero, by forgetting any previously used transform. | PhysicsControlComponent.h |
|
void SetControlAngularData
(
const FName Name, |
Modifies existing control's angular data in a control or controls in a set - i.e. the strengths etc of the control driving towards the target Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
void SetControlData
(
const FName Name, |
Modifies an existing control data in a control or controls in a set - i.e. the strengths etc of the control driving towards the target Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
void SetControlDatas
(
const TArray< FName >& Names, |
Modifies existing control data in controls or controls in sets - i.e. the strengths etc of the controls driving towards the targets Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
void SetControlDatasInSet
(
const FName Set, |
Modifies existing control data - i.e. the strengths etc of the controls driving towards the targets | PhysicsControlComponent.h |
|
void SetControlDisableCollision
(
const FName Name, |
PhysicsControlComponent.h |
|
|
void SetControlEnabled
(
const FName Name, |
Activates or deactivates a control or controls in a set. | PhysicsControlComponent.h |
|
void SetControlLinearData
(
const FName Name, |
Modifies existing control's linear data in a control or controls in a set - i.e. the strengths etc of the control driving towards the target Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
void SetControlMultiplier
(
const FName Name, |
Modifies existing control data in a control or controls in a set using the multipliers Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
void SetControlMultipliers
(
const TArray< FName >& Names, |
Modifies existing control data in controls or controls in sets using the multipliers Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
void SetControlMultipliersInSet
(
const FName Set, |
Modifies existing control data using the multipliers | PhysicsControlComponent.h |
|
void SetControlParent
(
const FName Name, |
Updates the parent object part of a control or controls in a set. | PhysicsControlComponent.h |
|
void SetControlParents
(
const TArray< FName >& Names, |
Updates the parent object part of controls or controls in a set. | PhysicsControlComponent.h |
|
| PhysicsControlComponent.h |
|
||
bool SetControlPoint
(
const FName Name, |
Sets the point at which controls will "push" the child object. | PhysicsControlComponent.h |
|
| PhysicsControlComponent.h |
|
||
| Activates or deactivates controls or sets of controls Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
|
void SetControlsInSetDisableCollision
(
const FName Set, |
PhysicsControlComponent.h |
|
|
void SetControlsInSetEnabled
(
const FName Set, |
Activates or deactivates controls | PhysicsControlComponent.h |
|
void SetControlsInSetUseSkeletalAnimation
(
const FName Set, |
Sets whether or not the controls should use skeletal animation for the targets | PhysicsControlComponent.h |
|
void SetControlSparseData
(
const FName Name, |
Modifies an existing control data in a control or controls in a set - i.e. the strengths etc of the control driving towards the target Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
void SetControlSparseDatas
(
const TArray< FName >& Names, |
Modifies existing control data in controls or controls in sets - i.e. the strengths etc of the controls driving towards the targets Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
void SetControlSparseDatasInSet
(
const FName Set, |
Modifies existing control data - i.e. the strengths etc of the controls driving towards the targets | PhysicsControlComponent.h |
|
void SetControlSparseMultiplier
(
const FName Name, |
Modifies existing control data in a control or controls in a set using the multipliers Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
void SetControlSparseMultipliers
(
const TArray< FName >& Names, |
Modifies existing control data in controls or controls in sets using the multipliers Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
void SetControlSparseMultipliersInSet
(
const FName Set, |
Modifies existing control data using the multipliers | PhysicsControlComponent.h |
|
| Sets whether or not the controls or controls in sets should use skeletal animation for the targets Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
|
void SetControlTarget
(
const FName Name, |
Modifies an existing control target in a control or controls in a set - i.e. what it is driving towards, relative to the parent object Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
void SetControlTargetOrientation
(
const FName Name, |
Modifies an existing control target in a control or controls in a set - i.e. what it is driving towards, relative to the parent object Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
| Modifies existing control targets in controls or controls in sets - i.e. what it is driving towards, relative to the parent object Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
|
bool SetControlTargetOrientationsFromArray
(
const TArray< FName >& Names, |
Calls SetControlTargetPosition for each element of the control names and positions. | PhysicsControlComponent.h |
|
void SetControlTargetOrientationsInSet
(
const FName SetName, |
Calls SetControlTargetOrientation for each of the controls in the set | PhysicsControlComponent.h |
|
bool SetControlTargetPoses
(
const FName Name, |
Calculates and sets an existing control target. | PhysicsControlComponent.h |
|
void SetControlTargetPosition
(
const FName Name, |
Modifies an existing control target of a control or controls in a set - i.e. what it is driving towards, relative to the parent object Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
void SetControlTargetPositionAndOrientation
(
const FName Name, |
Modifies an existing control target in a control or controls in a set - i.e. what it is driving towards, relative to the parent object Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
| Modifies existing control targets in controls or controls in sets - i.e. what it is driving towards, relative to the parent object Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
|
| Modifies existing control targets in controls or controls in sets - i.e. what it is driving towards, relative to the parent object Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
|
bool SetControlTargetPositionsAndOrientationsFromArray
(
const TArray< FName >& Names, |
Calls SetControlTargetPositionAndOrientation for each element of the control names, positions and orientations. | PhysicsControlComponent.h |
|
void SetControlTargetPositionsAndOrientationsInSet
(
const FName SetName, |
Calls SetControlTargetPositionAndOrientation for each control in the set | PhysicsControlComponent.h |
|
bool SetControlTargetPositionsFromArray
(
const TArray< FName >& Names, |
Calls SetControlTargetPosition for each element of the control names and positions. | PhysicsControlComponent.h |
|
void SetControlTargetPositionsInSet
(
const FName SetName, |
Calls SetControlTargetPosition for each of the controls in the set | PhysicsControlComponent.h |
|
void SetControlTargets
(
const TArray< FName >& Names, |
Modifies existing control targets in controls or controls in sets - i.e. what they are driving towards, relative to the parent objects Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
void SetControlTargetsInSet
(
const FName Set, |
Modifies existing control targets - i.e. what they are driving towards, relative to the parent objects | PhysicsControlComponent.h |
|
void SetControlUseSkeletalAnimation
(
const FName Name, |
Sets whether or not the control or controls in a set should use skeletal animation for the targets Standard set names will include "All", "WorldSpace", "ParentSpace" and things like "WorldSpace_ArmLeft", depending on how controls have been created. | PhysicsControlComponent.h |
|
virtual bool ShouldCreatePhysicsState() |
PhysicsControlComponent.h | ||
void UpdateControls
(
float DeltaTime |
Allows manual ticking so that your code can run in between updating the target caches and updating the controls and body modifiers. | PhysicsControlComponent.h |
|
void UpdateTargetCaches
(
float DeltaTime |
Allows manual ticking so that your code can run in between updating the target caches and updating the controls. | PhysicsControlComponent.h |
|
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddSkeletalMeshReferenceForCaching
(
USkeletalMeshComponent* SkeletalMeshComponent |
Starts caching skeletal mesh poses, and registers for a tick pre-requisite | PhysicsControlComponent.h | |
void AddSkeletalMeshReferenceForModifier
(
USkeletalMeshComponent* SkeletalMeshComponent |
Records that a modifier is working with the skeletal mesh and stores original data if necessary | PhysicsControlComponent.h | |
void ApplyBodyModifier
(
FPhysicsBodyModifierRecord& BodyModifier |
Updates the body based on the modifier | PhysicsControlComponent.h | |
void ApplyControl
(
FPhysicsControlRecord& Record |
Update the constraint based on the record. | PhysicsControlComponent.h | |
void ApplyControlAndModifierUpdates
(
const FPhysicsControlControlAndModifierUpdates& ControlAndModifierUpdates, |
Applies the updates to controls and body modifiers | PhysicsControlComponent.h | |
bool ApplyControlStrengths
(
FPhysicsControlRecord& Record, |
Updates the constraint strengths. | PhysicsControlComponent.h | |
void ApplyKinematicTarget
(
const FPhysicsBodyModifierRecord& BodyModifier |
This will set the kinematic target for the appropriate body based on the weighted target position and orientation (and whether any were found) for any controls that are related to the body modifier. | PhysicsControlComponent.h | |
virtual void BeginDestroy() |
PhysicsControlComponent.h | ||
void CalculateControlTargetData
(
FTransform& OutTargetTM, |
Calculates the Target TM and velocities that will get passed to the constraint - so this is a target that is defined in the space of the parent body (or in world space, if it doesn't exist). | PhysicsControlComponent.h | |
bool DestroyBodyModifier
(
const FName Name, |
Destroys the modifier. It will optionally be removed from the array of records too | PhysicsControlComponent.h | |
bool DestroyControl
(
const FName Name, |
Destroys the control. It will optionally be removed from the array of records too | PhysicsControlComponent.h | |
void DestroyPhysicsState() |
Terminates everything we have made in physics. | PhysicsControlComponent.h | |
const FPhysicsBodyModifierRecord * FindBodyModifierRecord
(
const FName Name |
PhysicsControlComponent.h | ||
FPhysicsBodyModifierRecord * FindBodyModifierRecord
(
const FName Name |
Retrieves the body modifier for the name. | PhysicsControlComponent.h | |
const FPhysicsControl * FindControl
(
const FName Name |
PhysicsControlComponent.h | ||
FPhysicsControl * FindControl
(
const FName Name |
Retrieves the control for the name. Returns a null pointer if the name cannot be found | PhysicsControlComponent.h | |
FPhysicsControlRecord * FindControlRecord
(
const FName Name |
Retrieves the control record for the name. Returns a null pointer if the name cannot be found | PhysicsControlComponent.h | |
const FPhysicsControlRecord * FindControlRecord
(
const FName Name |
PhysicsControlComponent.h | ||
bool GetBoneData
(
UE::PhysicsControl::FBoneData& OutBoneData, |
Retrieves the bone data for the specified bone given the skeletal mesh component. | PhysicsControlComponent.h | |
bool GetModifiableBoneData
(
UE::PhysicsControl::FBoneData*& OutBoneData, |
Retrieves the bone data for the specified bone given the skeletal mesh component, for modification | PhysicsControlComponent.h | |
virtual void InitializeComponent() |
PhysicsControlComponent.h | ||
bool RemoveSkeletalMeshReferenceForCaching
(
USkeletalMeshComponent* SkeletalMeshComponent |
Stops caching skeletal mesh poses (if this is the last one), and deregisters for a tick pre-requisite. | PhysicsControlComponent.h | |
bool RemoveSkeletalMeshReferenceForModifier
(
USkeletalMeshComponent* SkeletalMeshComponent |
Records that a modifier has stopped working with the skeletal mesh and restores original data if necessary. | PhysicsControlComponent.h | |
void ResetControls
(
bool bKeepControlRecords |
Terminates the underlying physical constraints, resets our internal stored state for each control, and optionally deletes all record of the controls. | PhysicsControlComponent.h | |
void ResetToCachedTarget
(
const FPhysicsBodyModifierRecord& BodyModifier |
Sets the body (simulated or kinematic) to have the position/velocity etc state that has been cached. | PhysicsControlComponent.h | |
virtual void TickComponent
(
float DeltaTime, |
PhysicsControlComponent.h | ||
void UpdateCachedSkeletalBoneData
(
float DeltaTime |
Updates the world-space bone positions etc for each skeleton we're tracking | PhysicsControlComponent.h |