Navigation
API > API/Plugins > API/Plugins/IKRigEditor
A stateless singleton (1-per-asset) class used to make modifications to a UIKRetargeter asset. Use UIKRetargeter.GetController() to get the controller for the asset you want to modify.
| Name | UIKRetargeterController |
| Type | class |
| Header File | /Engine/Plugins/Animation/IKRig/Source/IKRigEditor/Public/RetargetEditor/IKRetargeterController.h |
| Include Path | #include "RetargetEditor/IKRetargeterController.h" |
Syntax
UCLASS (BlueprintType, HideCategories=UObject)
class UIKRetargeterController : public UObject
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UIKRetargeterController
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UIKRetargeterController() |
RetargetEditor/IKRetargeterController.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnIKRigReplaced | TMulticastDelegate_OneParam< void, ERetargetSourceOrTarget > | RetargetEditor/IKRetargeterController.h | |
| FOnOpStackModified | TMulticastDelegate_NoParams< void > | RetargetEditor/IKRetargeterController.h | |
| FOnPreviewMeshReplaced | TMulticastDelegate_OneParam< void, ERetargetSourceOrTarget > | RetargetEditor/IKRetargeterController.h | |
| FOnRetargeterNeedsInitialized | TMulticastDelegate_NoParams< void > | END DEPRECATED PUBLIC API DELEGATE CALLBACKS FOR OUTSIDE SYSTEMS | RetargetEditor/IKRetargeterController.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Asset | TObjectPtr< UIKRetargeter > | The actual asset that this Controller modifies. This is the only field this class should have. | RetargetEditor/IKRetargeterController.h | |
| AutoPoseGenerator | TUniquePtr< FRetargetAutoPoseGenerator > | Auto pose generator | RetargetEditor/IKRetargeterController.h | |
| ControllerLock | FCriticalSection | Only allow modifications to data model from one thread at a time | RetargetEditor/IKRetargeterController.h | |
| IKRigReplaced | FOnIKRigReplaced | RetargetEditor/IKRetargeterController.h | ||
| OpStackModified | FOnOpStackModified | RetargetEditor/IKRetargeterController.h | ||
| PreviewMeshReplaced | FOnPreviewMeshReplaced | RetargetEditor/IKRetargeterController.h | ||
| ReinitializeScopeCounter | int32 | Prevent reinitializing from inner operations | RetargetEditor/IKRetargeterController.h | |
| RetargeterNeedsInitialized | FOnRetargeterNeedsInitialized | RetargetEditor/IKRetargeterController.h | ||
| StructViewer | TObjectPtr< UIKRigStructViewer > | A dummy UObject to wrap UStructs for the details panel | RetargetEditor/IKRetargeterController.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddDefaultOps() |
Automatically add basic retargeting operations Adds these ops in the following order: Pelvis Motion, FK Chains, IK Chains, IK Solve and Root Motion If any of these ops are already present, they will not be re-added. | RetargetEditor/IKRetargeterController.h |
|
int32 AddRetargetOp
(
const FString InIKRetargetOpType |
RETARGET OPS PUBLIC/SCRIPTING API Add a new retarget op of the given type to the bottom of the stack. | RetargetEditor/IKRetargeterController.h |
|
int32 AddRetargetOp
(
const UScriptStruct* InRetargetOpType, |
Add a new retarget op to the stack | RetargetEditor/IKRetargeterController.h | |
| Ask if the given op has settings for the given chain that are not at the default. | RetargetEditor/IKRetargeterController.h | ||
void AutoAlignAllBones
(
ERetargetSourceOrTarget SourceOrTarget, |
Automatically align all bones in mapped chains and store in the current retarget pose. | RetargetEditor/IKRetargeterController.h |
|
void AutoAlignBones
(
const TArray< FName >& BonesToAlign, |
Automatically align an array of bones and store in the current retarget pose. | RetargetEditor/IKRetargeterController.h |
|
void AutoMapChains
(
const EAutoMapChainType AutoMapType, |
RETARGET CHAIN MAPPING PUBLIC/SCRIPTING API Use string comparision to find "best" Source chain to map to each Target chain or clear the mappings | RetargetEditor/IKRetargeterController.h |
|
void CleanAsset () |
GENERAL C++ ONLY API Ensures all internal data is compatible with assigned meshes and ready to edit. | RetargetEditor/IKRetargeterController.h | |
void CleanChainMaps
(
const FName InOpName |
Clean all chain mappings in all ops, or if InOpName is specified, just that op. | RetargetEditor/IKRetargeterController.h | |
| RETARGET POSE PUBLIC/SCRIPTING API Add new retarget pose. | RetargetEditor/IKRetargeterController.h |
|
|
| Duplicate a retarget pose. | RetargetEditor/IKRetargeterController.h |
|
|
const TArray< URetargetChainSettings * > & GetAllChainSettings() |
Get read-only access to the list of settings for each target chain | RetargetEditor/IKRetargeterController.h |
|
TArray< UIKRigDefinition * > GetAllTargetIKRigs() |
Get all target IK Rigs referenced by all ops | RetargetEditor/IKRetargeterController.h |
|
bool GetAskedToFixRootHeightForMesh
(
USkeletalMesh* Mesh |
Get if we've already asked to fix the root height for the given skeletal mesh. | RetargetEditor/IKRetargeterController.h | |
UIKRetargeter * GetAsset () |
Get access to the retargeter asset. | RetargetEditor/IKRetargeterController.h | |
bool GetCanOpHaveChildren
(
const int32 InOpIndex |
Returns true if this op type can contain child ops (ops forced to be ordered before the parent) | RetargetEditor/IKRetargeterController.h | |
const FRetargetChainMapping & GetChainMapping () |
BEGIN DEPRECATED PUBLIC API get access to the mapping between source/target chains | RetargetEditor/IKRetargeterController.h | |
const FRetargetChainMapping * GetChainMapping
(
const FName InOpName |
RETARGET CHAIN MAPPING C++ ONLY API Get access to the mapping between source/target chains for the particular op (may be null) If no op name is specified, it returns the first chain mapping it finds | RetargetEditor/IKRetargeterController.h | |
URetargetChainSettings * GetChainSettings
(
const FName& TargetChainName |
Convenience to get chain settings UObject by name | RetargetEditor/IKRetargeterController.h | |
TArray< int32 > GetChildOpIndices
(
const int32 InOpIndex |
Gather up all the ops that are children of this op. | RetargetEditor/IKRetargeterController.h | |
FIKRetargetPose & GetCurrentRetargetPose
(
const ERetargetSourceOrTarget SourceOrTarget |
Get the current retarget pose. | RetargetEditor/IKRetargeterController.h |
|
FName GetCurrentRetargetPoseName
(
const ERetargetSourceOrTarget SourceOrTarget |
Get the name of the current retarget pose. | RetargetEditor/IKRetargeterController.h |
|
T * GetFirstRetargetOpOfType() |
Get access to the first retarget operation of the given type. | RetargetEditor/IKRetargeterController.h | |
FRetargetGlobalSettings GetGlobalSettings() |
Get a copy of the global settings for this asset. | RetargetEditor/IKRetargeterController.h |
|
const UIKRigDefinition * GetIKRig
(
const ERetargetSourceOrTarget SourceOrTarget |
Get either source or target IK Rig | RetargetEditor/IKRetargeterController.h |
|
UIKRigDefinition * GetIKRigWriteable
(
const ERetargetSourceOrTarget SourceOrTarget |
Get either source or target IK Rig. | RetargetEditor/IKRetargeterController.h | |
int32 GetIndexOfOpByName
(
const FName InOpName |
Get the index of an op. | RetargetEditor/IKRetargeterController.h |
|
int32 GetIndexOfRetargetOp
(
FIKRetargetOpBase* RetargetOp |
Get the index of a given retarget operation. | RetargetEditor/IKRetargeterController.h | |
int32 GetNumRetargetOps() |
Get the number of Ops in the stack. | RetargetEditor/IKRetargeterController.h |
|
UIKRetargetOpControllerBase * GetOpController
(
int32 InOpIndex |
Get a controller to get/set the settings for a given op in the stack NOTE: the returned UIKRetargetOpControllerBase* should be cast to the type specific to your op to get full functionality for that op. | RetargetEditor/IKRetargeterController.h |
|
FName GetOpName
(
const int32 InOpIndex |
Get the name of the op at the given index in the stack. | RetargetEditor/IKRetargeterController.h |
|
| Get the name of the parent op for the given op. | RetargetEditor/IKRetargeterController.h |
|
|
int32 GetParentOpIndex
(
const int32 InOpIndex |
Get the index of the parent op or INDEX_NONE if it's root level. | RetargetEditor/IKRetargeterController.h | |
FName GetPelvisBone
(
const ERetargetSourceOrTarget SourceOrTarget |
Get name of the Root bone used for retargeting. | RetargetEditor/IKRetargeterController.h | |
USkeletalMesh * GetPreviewMesh
(
const ERetargetSourceOrTarget SourceOrTarget |
Get the preview skeletal mesh | RetargetEditor/IKRetargeterController.h |
|
FTargetChainSettings GetRetargetChainSettings
(
const FName& TargetChainName |
Get a copy of the settings for the target chain by name. | RetargetEditor/IKRetargeterController.h |
|
FIKRetargetOpBase * GetRetargetOpByIndex
(
const int32 InOpIndex |
Get access to the given retarget operation by index. | RetargetEditor/IKRetargeterController.h | |
FIKRetargetOpBase * GetRetargetOpByName
(
const FName InOpName |
Get access to the given retarget operation by name. | RetargetEditor/IKRetargeterController.h | |
bool GetRetargetOpEnabled
(
int32 InRetargetOpIndex |
Get enabled status of the given Op. | RetargetEditor/IKRetargeterController.h |
|
FInstancedStruct * GetRetargetOpStructAtIndex
(
int32 Index |
Get access to the given retarget operation. | RetargetEditor/IKRetargeterController.h | |
| Get access to array of retarget poses. | RetargetEditor/IKRetargeterController.h |
|
|
FVector GetRootOffsetInRetargetPose
(
const ERetargetSourceOrTarget SourceOrTarget |
Get the translation offset on the retarget pelvis bone for the current retarget pose. | RetargetEditor/IKRetargeterController.h |
|
FTargetRootSettings GetRootSettings() |
Get a copy of the retarget root settings for this asset. | RetargetEditor/IKRetargeterController.h |
|
FQuat GetRotationOffsetForRetargetPoseBone
(
const FName& BoneName, |
Get a delta rotation for a given bone in the current retarget pose. | RetargetEditor/IKRetargeterController.h |
|
| Get the name of the source chain mapped to a given target chain (the chain animation is copied FROM). | RetargetEditor/IKRetargeterController.h |
|
|
UIKRigStructViewer * GetStructViewer() |
Get the singleton struct viewer for editing structs belonging to the asset this controller controls | RetargetEditor/IKRetargeterController.h | |
const UIKRigDefinition * GetTargetIKRigForOp
(
const FName InOpName |
Get the target IK Rig associated with the given Op. | RetargetEditor/IKRetargeterController.h |
|
| Return NameToMakeUnique with a numbered suffix that makes it unique in the stack. | RetargetEditor/IKRetargeterController.h | ||
void HandleRetargetChainAdded
(
UIKRigDefinition* IKRig |
Call this when IK Rig chain is added or removed. | RetargetEditor/IKRetargeterController.h | |
void HandleRetargetChainRemoved
(
UIKRigDefinition* IKRig, |
Call this when IK Rig chain is removed. | RetargetEditor/IKRetargeterController.h | |
| Call this when IK Rig chain is renamed. Retains existing mappings using the new name. | RetargetEditor/IKRetargeterController.h | ||
bool IsChainGoalConnectedToASolver
(
const FName& GoalName |
Get whether the given chain's IK goal is connected to a solver. | RetargetEditor/IKRetargeterController.h | |
FName MakePoseNameUnique
(
const FString& PoseName, |
Add a numbered suffix to the given pose name to make it unique. | RetargetEditor/IKRetargeterController.h | |
bool MoveRetargetOpInStack
(
int32 InOpToMoveIndex, |
Move the retarget op at the given index to the target index. | RetargetEditor/IKRetargeterController.h |
|
FOnIKRigReplaced & OnIKRigReplaced() |
Attach a delegate to be notified whenever either the source or target IK Rig asset's are swapped out. | RetargetEditor/IKRetargeterController.h | |
void OnOpPropertyChanged
(
const FName& InOpName, |
A callback whenever the property of an op is modified. | RetargetEditor/IKRetargeterController.h | |
FOnOpStackModified & OnOpStackModified() |
Attach a delegate to be notified whenever the op stack is modified. | RetargetEditor/IKRetargeterController.h | |
FOnPreviewMeshReplaced & OnPreviewMeshReplaced() |
Attach a delegate to be notified whenever either the source or target Preview Mesh asset's are swapped out. | RetargetEditor/IKRetargeterController.h | |
FOnRetargeterNeedsInitialized & OnRetargeterNeedsInitialized() |
Attach a delegate to be notified whenever the retargeter is modified in such a way that would require re-initialization of the processor. | RetargetEditor/IKRetargeterController.h | |
virtual void PostInitProperties() |
UObject. | RetargetEditor/IKRetargeterController.h | |
bool RemoveAllOps() |
Remove all ops in the stack. | RetargetEditor/IKRetargeterController.h |
|
bool RemoveRetargetOp
(
const int32 InOpIndex |
Remove the retarget op at the given stack index NOTE: if this op is a parent, all it's children will be removed as well | RetargetEditor/IKRetargeterController.h |
|
bool RemoveRetargetPose
(
const FName& PoseToRemove, |
Remove a retarget pose. | RetargetEditor/IKRetargeterController.h |
|
| Rename current retarget pose. | RetargetEditor/IKRetargeterController.h |
|
|
void ResetChainSettingsInAllOps
(
const FName InTargetChainName |
Tell each op to reset any settings associated with this chain. | RetargetEditor/IKRetargeterController.h |
|
| Reset the settings for the given chain in the given op back to the defaults. | RetargetEditor/IKRetargeterController.h |
|
|
| Reset a retarget pose for the specified bones. | RetargetEditor/IKRetargeterController.h |
|
|
void RunOpInitialSetup
(
const int32 InOpIndex |
Force the op to run the initial setup. | RetargetEditor/IKRetargeterController.h |
|
void SetAskedToFixRootHeightForMesh
(
USkeletalMesh* Mesh, |
Set if we've asked to fix the root height for the given skeletal mesh. | RetargetEditor/IKRetargeterController.h | |
bool SetCurrentRetargetPose
(
FName CurrentPose, |
Change which retarget pose is used by the retargeter at runtime. | RetargetEditor/IKRetargeterController.h |
|
void SetGlobalSettings
(
const FRetargetGlobalSettings& GlobalSettings |
Get a copy of the global settings for this asset. | RetargetEditor/IKRetargeterController.h |
|
void SetIKRig
(
const ERetargetSourceOrTarget SourceOrTarget, |
Set the IK Rig to use as the source or target (to copy animation FROM/TO) | RetargetEditor/IKRetargeterController.h |
|
| Set the name of the op at the given index in the stack. | RetargetEditor/IKRetargeterController.h |
|
|
| Set the name of the op to parent this op to Children ops are forced to execute before their parent | RetargetEditor/IKRetargeterController.h |
|
|
void SetPreviewMesh
(
const ERetargetSourceOrTarget SourceOrTarget, |
Set the preview skeletal mesh for either source or target | RetargetEditor/IKRetargeterController.h |
|
bool SetRetargetChainSettings
(
const FName& TargetChainName, |
Set the settings for the target chain by name. | RetargetEditor/IKRetargeterController.h |
|
bool SetRetargetOpEnabled
(
int32 InRetargetOpIndex, |
Toggle an op on/off. | RetargetEditor/IKRetargeterController.h |
|
void SetRootOffsetInRetargetPose
(
const FVector& TranslationOffset, |
Set the translation offset on the retarget pelvis bone for the current retarget pose. | RetargetEditor/IKRetargeterController.h |
|
void SetRootSettings
(
const FTargetRootSettings& RootSettings |
Set the retarget root settings for this asset. | RetargetEditor/IKRetargeterController.h |
|
void SetRotationOffsetForRetargetPoseBone
(
const FName& BoneName, |
Set a delta rotation for a given bone in the current retarget pose. | RetargetEditor/IKRetargeterController.h |
|
bool SetSourceChain
(
FName InSourceChainName, |
Assign a source chain to the given target chain. | RetargetEditor/IKRetargeterController.h |
|
void SnapBoneToGround
(
FName ReferenceBone, |
Moves the entire skeleton vertically until the specified bone is the same height off the ground as in the reference pose. | RetargetEditor/IKRetargeterController.h |
|
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static UIKRetargeterController * GetController
(
const UIKRetargeter* InRetargeterAsset |
GENERAL PUBLIC/SCRIPTING API Get the controller for the given retargeter asset | RetargetEditor/IKRetargeterController.h |
|