Navigation
API > API/Plugins > API/Plugins/IKRigEditor > API/Plugins/IKRigEditor/RigEditor
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UIKRigController
References
| Module | IKRigEditor |
| Header | /Engine/Plugins/Animation/IKRig/Source/IKRigEditor/Public/RigEditor/IKRigController.h |
| Include | #include "RigEditor/IKRigController.h" |
Syntax
UCLASS&40;Config&61;Engine, HideCategories&61;UObject&41;
class UIKRigController : public UObject
Remarks
A singleton (per-asset) class used to make modifications to a UIKRigDefinition asset
All modifications to an IKRigDefinition must go through this controller.
Editors can subscribe to the callbacks on this controller to be notified of changes that require reinitialization of a running IK Rig processor instance. The API here is split into public/scripting sections which are accessible from Blueprint/Python and sections that are only relevant to editors in C++.
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | AddBoneSetting
(
const FName BoneName, |
Add settings to the given Bone/Solver. Does nothing if Bone already has settings in this Solver. | |
| FName | AddNewGoal
(
const FName GoalName, |
Add a new Goal associated with the given Bone. GoalName must be unique. Bones can have multiple Goals (rare). | |
| FName | AddRetargetChain
(
const FBoneChain& BoneChain |
Add a Chain with the given BoneChain settings. Returns newly created chain name. | |
| FName | AddRetargetChain
(
const FName ChainName, |
RETARGETING PUBLIC/SCRIPTING APIAdd a new chain with the given Chain and Bone names. | |
| int32 | AddSolver
(
TSubclassOf< UIKRigSolver > InSolverClass |
Add a new solver of the given type to the bottom of the stack. Returns the stack index. | |
| void | Force all currently connected processors to reinitialize using latest asset state | ||
| bool | CanAddBoneSetting
(
const FName BoneName, |
Returns true if this Bone can have settings in the given Solver. | |
| bool | CanRemoveBoneSetting
(
const FName BoneName, |
Returns true if settings for this Bone can be removed from the given Solver. | |
| bool | ConnectGoalToSolver
(
const FName GoalName, |
Connect the given Goal to the given Solver. This creates an "Effector" with settings specific to this Solver. | |
| bool | DisconnectGoalFromSolver
(
const FName GoalToRemove, |
Disconnect the given Goal from the given Solver. This removes the Effector that associates the Goal with the Solver. | |
| bool | DoesBoneHaveSettings
(
const FName BoneName |
Returns true if the given Bone has any settings in any Solver. | |
| const TArray< UIKRigEffectorGoal * > & | GetAllGoals () |
Get access to the list of Goals. | |
| UIKRigDefinition * | GetAsset () |
GENERAL C++ ONLY APIGet the asset this controller controls. | |
| TObjectPtr< UIKRigDefinition > & | GetAssetPtr () |
GENERAL C++ ONLY APIGet the asset this controller controls. | |
| bool | GetBoneExcluded
(
const FName BoneName |
Returns true if the given Bone is excluded, false otherwise. | |
| FName | GetBoneForGoal
(
const FName GoalName |
The the Bone associated with the given Goal. | |
| UObject * | GetBoneSettings
(
const FName BoneName, |
Get the generic (Solver-specific) Bone settings UObject for this Bone in the given Solver. | |
| UIKRigController * | GetController
(
const UIKRigDefinition* InIKRigDefinition |
Use this to get the controller for the given IKRig. | |
| FName | GetEndBone
(
int32 SolverIndex |
Get the name of the end bone on a given solver. (not all solvers require extra end bones, checks CanSetEndBone() first) | |
| UIKRigEffectorGoal * | Get read-write access to the Goal with the given name. | ||
| FTransform | GetGoalCurrentTransform
(
const FName GoalName |
Get the global-space transform of the given Goal. This may be set by the user in the editor, or at runtime. | |
| int32 | GetGoalIndex
(
const FName InGoalName, |
Get the index of the given Goal in the list of Goals. | |
| FName | GetGoalNameForBone
(
const FName BoneName |
Get the Goal associated with the given Bone (may be NAME_None) | |
| UObject * | GetGoalSettingsForSolver
(
const FName GoalName, |
Get the UObject for the settings associated with the given Goal in the given Solver. | |
| const FIKRigSkeleton & | Get read-access to the IKRig skeleton representation. | ||
| int32 | GetIndexOfSolver
(
UIKRigSolver* Solver |
Get access to the given solver. | |
| int32 | Get the number of solvers in the stack. | ||
| FTransform | GetRefPoseTransformOfBone
(
const FName BoneName |
Get the global-space retarget pose transform of the given Bone. | |
| const FBoneChain * | GetRetargetChainByName
(
const FName ChainName |
Get read-only access to a single retarget chain with the given name. | |
| FName | GetRetargetChainEndBone
(
const FName ChainName |
Get the Start Bone name for the given Chain. | |
| FName | GetRetargetChainFromBone
(
const FName BoneName, |
Get the name of the retarget chain that contains the given Bone. Returns NAME_None if Bone not in a Chain. | |
| FName | GetRetargetChainFromGoal
(
const FName GoalName |
Get the name of the retarget chain that contains the given Goal. Returns NAME_None if Goal not in a Chain. | |
| FName | GetRetargetChainGoal
(
const FName ChainName |
Get the Goal name for the given Chain. | |
| const TArray< FBoneChain > & | Get read-only access to the list of Chains. | ||
| FName | GetRetargetChainStartBone
(
const FName ChainName |
Get the End Bone name for the given Chain. | |
| FName | Get the name of the Root Bone of the retargeting (can only be one). | ||
| FName | GetRootBone
(
int32 SolverIndex |
Get the name of the root bone on a given solver. (not all solvers support root bones, checks CanSetRootBone() first) | |
| USkeletalMesh * | Get the skeletal mesh this asset is initialized with. | ||
| const TArray< UIKRigSolver * > & | Get read-only access to the array of solvers. | ||
| UIKRigSolver * | GetSolverAtIndex
(
int32 Index |
Get access to the given solver. | |
| bool | GetSolverEnabled
(
int32 SolverIndex |
Get enabled status of the given solver. | |
| FString | GetSolverUniqueName
(
int32 SolverIndex |
Get unique label for a given solver. Returns dash separated index and name like so, "0 - SolverName". | |
| FName | GetUniqueGoalName
(
const FName NameToMakeUnique |
Add a suffix as needed to ensure the Goal name is unique. | |
| FName | GetUniqueRetargetChainName
(
const FName NameToMakeUnique |
Make unique name for a retargeting bone chain. Adds a numbered suffix to make it unique. | |
| bool | IsGoalConnectedToAnySolver
(
const FName GoalName |
Returns true if the given Goal is connected to ANY solver. False otherwise. | |
| bool | IsGoalConnectedToSolver
(
const FName GoalName, |
Returns true if the given Goal is connected to the given Solver. False otherwise. | |
| bool | IsSkeletalMeshCompatible
(
USkeletalMesh* SkeletalMeshToCheck |
Returns true if the provided skeletal mesh could be used with this IK Rig. | |
| bool | ModifyGoal
(
const FName GoalName |
Modify a Goal for a transaction. Returns true if Goal found. | |
| bool | MoveSolverInStack
(
int32 SolverToMoveIndex, |
Move the solver at the given index to the target index. | |
| FOnIKRigNeedsInitialized & | |||
| FOnRetargetChainAdded & | |||
| FOnRetargetChainRemoved & | |||
| FOnRetargetChainRenamed & | |||
| bool | RemoveBoneSetting
(
const FName BoneName, |
Remove settings for the given Bone/Solver. Does nothing if Bone doesn't have setting in this Solver. | |
| bool | RemoveGoal
(
const FName GoalName |
Remove the Goal by name. | |
| bool | RemoveRetargetChain
(
const FName ChainName |
Remove a Chain with the given name. Returns true if a Chain was removed. | |
| bool | RemoveSolver
(
const int32 SolverIndex |
Remove the solver at the given stack index. | |
| FName | RenameGoal
(
const FName OldName, |
Rename a Goal. Returns new name, which may be different after being sanitized. Returns NAME_None if this fails. | |
| FName | RenameRetargetChain
(
const FName ChainName, |
Renamed the given Chain. Returns the new name (same as old if unsuccessful). | |
| void | Reset all Goals back to their initial transforms. | ||
| void | Reset initial goal transform. | ||
| void | SanitizeGoalName
(
FString& InOutName |
Ensure that the given name adheres to required standards for Goal names (no special characters etc..) | |
| bool | SetBoneExcluded
(
const FName BoneName, |
Include/exclude a bone from all the solvers. All bones are included by default. | |
| bool | SetEndBone
(
const FName EndBoneName, |
Set the end bone on a given solver. (not all solvers require extra end bones, checks CanSetEndBone() first) | |
| bool | SetGoalBone
(
const FName GoalName, |
The the Bone that the given Goal should be parented to / associated with. | |
| void | SetGoalCurrentTransform
(
const FName GoalName, |
Set the Goal to the given transform. | |
| bool | SetRetargetChainEndBone
(
const FName ChainName, |
Set the End Bone for the given Chain. Returns true if operation was successful. | |
| bool | SetRetargetChainGoal
(
const FName ChainName, |
Set the Goal for the given Chain. Returns true if operation was successful. | |
| bool | SetRetargetChainStartBone
(
const FName ChainName, |
Set the Start Bone for the given Chain. Returns true if operation was successful. | |
| bool | SetRetargetRoot
(
const FName RootBoneName |
Set the Root Bone of the retargeting (can only be one). | |
| bool | SetRootBone
(
const FName RootBoneName, |
Set the root bone on a given solver. (not all solvers support root bones, checks CanSetRootBone() first) | |
| bool | SetSkeletalMesh
(
USkeletalMesh* SkeletalMesh, |
Sets the preview mesh to use. | |
| bool | SetSolverEnabled
(
int32 SolverIndex, |
Set enabled/disabled status of the given solver. | |
| void | Sorts the Chains from Root to tip based on the Start Bone of each Chain. | ||
| bool | ValidateChain
(
const FName ChainName, |
Returns true if this is a valid chain. |
Typedefs
| Name | Description |
|---|---|
| FOnIKRigNeedsInitialized | Called whenever the rig is modified in such a way that would require re-initialization by dependent systems. |
| FOnRetargetChainAdded | Called whenever a retarget chain is added. |
| FOnRetargetChainRemoved | Called whenever a retarget chain is removed. |
| FOnRetargetChainRenamed | Called whenever a retarget chain is renamed. |
Constants
| Name | Description |
|---|---|
| Controllers | Static global map of assets to their associated controller. |