Navigation
API > API/Plugins > API/Plugins/IKRigEditor
A home for cross-widget communication to synchronize state across all tabs and viewport
| Name | FIKRetargetEditorController |
| Type | class |
| Header File | /Engine/Plugins/Animation/IKRig/Source/IKRigEditor/Public/RetargetEditor/IKRetargetEditorController.h |
| Include Path | #include "RetargetEditor/IKRetargetEditorController.h" |
Syntax
class FIKRetargetEditorController :
public TSharedFromThis< FIKRetargetEditorController > ,
public FSelfRegisteringEditorUndoClient,
private FGCObject
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → FIKRetargetEditorController
- FEditorUndoClient → FSelfRegisteringEditorUndoClient → FIKRetargetEditorController
- FGCObject → FIKRetargetEditorController
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FIKRetargetEditorController() |
RetargetEditor/IKRetargetEditorController.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AssetController | TObjectPtr< UIKRetargeterController > | All modifications to the data model should go through this controller | RetargetEditor/IKRetargetEditorController.h | |
| CurrentPoseAlignmentMode | ERetargetAutoAlignMethod | RetargetEditor/IKRetargetEditorController.h | ||
| Editor | TWeakPtr< FIKRetargetEditor > | The persona toolkit | RetargetEditor/IKRetargetEditorController.h | |
| IKRigReplacedDelegateHandle | FDelegateHandle | RetargetEditor/IKRetargetEditorController.h | ||
| NewNameEditableText | TSharedPtr< SEditableTextBox > | RetargetEditor/IKRetargetEditorController.h | ||
| NewPoseEditableText | TSharedPtr< SEditableTextBox > | RetargetEditor/IKRetargetEditorController.h | ||
| NewPoseWindow | TSharedPtr< SWindow > | RetargetEditor/IKRetargetEditorController.h | ||
| OpStackModifiedDelegateHandle | FDelegateHandle | Refresh op stack whenever it's modified | RetargetEditor/IKRetargetEditorController.h | |
| PlaybackManager | TUniquePtr< FRetargetPlaybackManager > | Manage playback of animation in the editor | RetargetEditor/IKRetargetEditorController.h | |
| PoseExporter | TSharedPtr< FIKRetargetPoseExporter > | Import / export retarget poses | RetargetEditor/IKRetargetEditorController.h | |
| PoseNames | TArray< TSharedPtr< FName > > | Toggle current retarget pose | RetargetEditor/IKRetargetEditorController.h | |
| PreviewMeshReplacedDelegateHandle | FDelegateHandle | RetargetEditor/IKRetargetEditorController.h | ||
| RenamePoseWindow | TSharedPtr< SWindow > | RetargetEditor/IKRetargetEditorController.h | ||
| RetargeterInitializedDelegateHandle | FDelegateHandle | RetargetEditor/IKRetargetEditorController.h | ||
| RetargeterReInitDelegateHandle | FDelegateHandle | RetargetEditor/IKRetargetEditorController.h | ||
| SourceAnimInstance | TObjectPtr< UIKRetargetAnimInstance > | RetargetEditor/IKRetargetEditorController.h |
|
|
| SourceRootComponent | USceneComponent * | This root component is used as a parent of the source skeletal mesh to allow us to translate the source. | RetargetEditor/IKRetargetEditorController.h | |
| SourceSkelMeshComponent | UDebugSkelMeshComponent * | RetargetEditor/IKRetargetEditorController.h | ||
| TargetAnimInstance | TObjectPtr< UIKRetargetAnimInstance > | RetargetEditor/IKRetargetEditorController.h |
|
|
| TargetSkelMeshComponent | UDebugSkelMeshComponent * | RetargetEditor/IKRetargetEditorController.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AllBoneDetails | TMap< FName, TObjectPtr< UIKRetargetBoneDetails > > | RetargetEditor/IKRetargetEditorController.h | ||
| AssetBrowserView | TSharedPtr< SIKRetargetAssetBrowser > | Asset browser view | RetargetEditor/IKRetargetEditorController.h | |
| bAskedToFixRoot | bool | RetargetEditor/IKRetargetEditorController.h | ||
| BoundIKRigs | TArray< FBoundIKRig > | Ik rigs bound to this editor (will receive callbacks when requiring reinitialization | RetargetEditor/IKRetargetEditorController.h | |
| CurrentlyEditingSourceOrTarget | ERetargetSourceOrTarget | Which skeleton are we editing / viewing? | RetargetEditor/IKRetargetEditorController.h | |
| DetailsView | TSharedPtr< IDetailsView > | Asset properties tab | RetargetEditor/IKRetargetEditorController.h | |
| HierarchyView | TSharedPtr< SIKRetargetHierarchy > | Hierarchy view | RetargetEditor/IKRetargetEditorController.h | |
| IKRigPickerWindow | TSharedPtr< SWindow > | When prompting user to assign an IK Rig | RetargetEditor/IKRetargetEditorController.h | |
| OpStackView | TSharedPtr< SRetargetOpStack > | Op stack widget | RetargetEditor/IKRetargetEditorController.h | |
| OutputLogView | TSharedPtr< SIKRigOutputLog > | Output log view | RetargetEditor/IKRetargetEditorController.h | |
| OutputMode | ERetargeterOutputMode | The current output mode of the retargeter | RetargetEditor/IKRetargetEditorController.h | |
| PreviousMode | ERetargeterOutputMode | RetargetEditor/IKRetargetEditorController.h | ||
| RetargetPosePreviewBlend | float | Slider value to blend between reference pose and retarget pose | RetargetEditor/IKRetargetEditorController.h | |
| Selection | FIKRetargetDebugDrawState | Current selection set | RetargetEditor/IKRetargetEditorController.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddReferencedObjects
(
FReferenceCollector& Collector |
RetargetEditor/IKRetargetEditorController.h | ||
void BindToIKRigAssets () |
Bind callbacks to this IK Rig. | RetargetEditor/IKRetargetEditorController.h | |
bool CanCreatePose() |
RetargetEditor/IKRetargetEditorController.h | ||
bool CanDeletePose() |
RetargetEditor/IKRetargetEditorController.h | ||
bool CanRenamePose() |
RetargetEditor/IKRetargetEditorController.h | ||
void CleanSelection
(
ERetargetSourceOrTarget SourceOrTarget |
RetargetEditor/IKRetargetEditorController.h | ||
void ClearOutputLog() |
Clear the output log | RetargetEditor/IKRetargetEditorController.h | |
void ClearSelection
(
const bool bKeepBoneSelection |
RetargetEditor/IKRetargetEditorController.h | ||
void Close() |
Close the editor. | RetargetEditor/IKRetargetEditorController.h | |
FReply CreateDuplicatePose() |
RetargetEditor/IKRetargetEditorController.h | ||
FReply CreateNewPose() |
RetargetEditor/IKRetargetEditorController.h | ||
void EditBoneSelection
(
const TArray< FName >& InBoneNames, |
SELECTION - BONES (viewport or hierarchy view) | RetargetEditor/IKRetargetEditorController.h | |
void EditChainSelection
(
const TArray< FName >& InChainNames, |
SELECTION - CHAINS (viewport or chains view) | RetargetEditor/IKRetargetEditorController.h | |
void FixZeroHeightRetargetRoot
(
ERetargetSourceOrTarget SourceOrTarget |
Detect and auto-fix retarget pose that causes root height to be on the ground | RetargetEditor/IKRetargetEditorController.h | |
UIKRetargetAnimInstance * GetAnimInstance
(
const ERetargetSourceOrTarget SourceOrTarget |
Viewport anim instance | RetargetEditor/IKRetargetEditorController.h | |
bool GetCameraTargetForSelection
(
FSphere& OutTarget |
To frame selection when pressing "f" in viewport | RetargetEditor/IKRetargetEditorController.h | |
| Get the name of the chain that contains this bone | RetargetEditor/IKRetargetEditorController.h | ||
const FRetargetSkeleton & GetCurrentlyEditedSkeleton
(
const FIKRetargetProcessor& Processor |
Get the currently edited retarget skeleton | RetargetEditor/IKRetargetEditorController.h | |
FText GetCurrentPoseName() |
RetargetEditor/IKRetargetEditorController.h | ||
FSlateIcon GetCurrentRetargetModeIcon() |
RetargetEditor/IKRetargetEditorController.h | ||
UDebugSkelMeshComponent * GetEditedSkeletalMesh() |
Get currently edited debug skeletal mesh | RetargetEditor/IKRetargetEditorController.h | |
FTransform GetGlobalRetargetPoseOfBone
(
const ERetargetSourceOrTarget SourceOrTarget, |
Get world space pose of a bone (with component scale / offset applied) | RetargetEditor/IKRetargetEditorController.h | |
TObjectPtr< UIKRetargetBoneDetails > GetOrCreateBoneDetailsObject
(
const FName& BoneName |
Factory to get/create bone details UObject | RetargetEditor/IKRetargetEditorController.h | |
virtual FString GetReferencerName() |
RetargetEditor/IKRetargetEditorController.h | ||
ERetargeterOutputMode GetRetargeterMode() |
RetargetEditor/IKRetargetEditorController.h | ||
FSlateIcon GetRetargeterModeIcon
(
ERetargeterOutputMode Mode |
RetargetEditor/IKRetargetEditorController.h | ||
FText GetRetargeterModeLabel() |
RetargetEditor/IKRetargetEditorController.h | ||
float GetRetargetPoseAmount() |
RetargetEditor/IKRetargetEditorController.h | ||
FIKRetargetProcessor * GetRetargetProcessor() |
Get the retargeter that is running in the viewport (which is a duplicate of the source asset) | RetargetEditor/IKRetargetEditorController.h | |
bool GetRootSelected() |
RetargetEditor/IKRetargetEditorController.h | ||
| RetargetEditor/IKRetargetEditorController.h | |||
| RetargetEditor/IKRetargetEditorController.h | |||
| RetargetEditor/IKRetargetEditorController.h | |||
FIKRetargetOpBase * GetSelectedOp() |
RetargetEditor/IKRetargetEditorController.h | ||
int32 GetSelectedOpIndex() |
RetargetEditor/IKRetargetEditorController.h | ||
FName GetSelectedOpName() |
RetargetEditor/IKRetargetEditorController.h | ||
const FIKRetargetDebugDrawState & GetSelectionState() |
GENERAL SELECTIONaccess to all selection state for the editor | RetargetEditor/IKRetargetEditorController.h | |
USkeletalMesh * GetSkeletalMesh
(
const ERetargetSourceOrTarget SourceOrTarget |
Get the USkeletalMesh we are transferring animation between (either source or target) | RetargetEditor/IKRetargetEditorController.h | |
UDebugSkelMeshComponent * GetSkeletalMeshComponent
(
const ERetargetSourceOrTarget SourceOrTarget |
Viewport skeletal mesh | RetargetEditor/IKRetargetEditorController.h | |
const USkeleton * GetSkeleton
(
const ERetargetSourceOrTarget SourceOrTarget |
Get the USkeleton we are transferring animation between (either source or target) | RetargetEditor/IKRetargetEditorController.h | |
ERetargetSourceOrTarget GetSourceOrTarget() |
General editor mode can be either viewing/editing source or target | RetargetEditor/IKRetargetEditorController.h | |
void HandleAlignBones
(
const bool bIncludeChildren, |
Auto generate retarget pose | RetargetEditor/IKRetargetEditorController.h | |
void HandleDeletePose() |
Delete retarget pose | RetargetEditor/IKRetargetEditorController.h | |
void HandleDuplicatePose() |
Duplicate current retarget pose | RetargetEditor/IKRetargetEditorController.h | |
void HandleIKRigNeedsInitialized
(
UIKRigDefinition* ModifiedIKRig |
Callback when IK Rig asset requires reinitialization | RetargetEditor/IKRetargetEditorController.h | |
void HandleIKRigReplaced
(
ERetargetSourceOrTarget SourceOrTarget |
Callback when IK Rig asset has been swapped out | RetargetEditor/IKRetargetEditorController.h | |
void HandleNewPose() |
Create new retarget pose | RetargetEditor/IKRetargetEditorController.h | |
void HandlePreviewMeshReplaced
(
ERetargetSourceOrTarget SourceOrTarget |
Callback when Preview Mesh asset has been swapped out | RetargetEditor/IKRetargetEditorController.h | |
void HandleRenamePose() |
Rename retarget pose | RetargetEditor/IKRetargetEditorController.h | |
void HandleResetAllBones() |
Reset retarget pose | RetargetEditor/IKRetargetEditorController.h | |
void HandleResetSelectedAndChildrenBones() |
RetargetEditor/IKRetargetEditorController.h | ||
void HandleResetSelectedBones() |
RetargetEditor/IKRetargetEditorController.h | ||
void HandleRetargetChainAdded
(
UIKRigDefinition* ModifiedIKRig |
Callback when IK Rig asset's retarget chain's have been added or removed | RetargetEditor/IKRetargetEditorController.h | |
void HandleRetargetChainRemoved
(
UIKRigDefinition* ModifiedIKRig, |
Callback when IK Rig asset's retarget chain has been removed | RetargetEditor/IKRetargetEditorController.h | |
| Callback when IK Rig asset's retarget chain has been renamed | RetargetEditor/IKRetargetEditorController.h | ||
void HandleRetargeterNeedsInitialized() |
Callback when IK Retargeter asset requires reinitialization | RetargetEditor/IKRetargetEditorController.h | |
void HandleSnapToGround() |
RetargetEditor/IKRetargetEditorController.h | ||
void Initialize
(
TSharedPtr< FIKRetargetEditor > InEditor, |
Initialize the editor. | RetargetEditor/IKRetargetEditorController.h | |
bool IsBoneRetargeted
(
const FName& BoneName, |
Determine if bone in the specified skeleton is part of the retarget (in a mapped chain) | RetargetEditor/IKRetargetEditorController.h | |
bool IsCurrentMeshLoaded() |
RetargetEditor/IKRetargetEditorController.h | ||
bool IsEditingPose() |
RetargetEditor/IKRetargetEditorController.h | ||
bool IsEditingPoseWithAnyBoneSelected() |
RetargetEditor/IKRetargetEditorController.h | ||
bool IsObjectInDetailsView
(
const UObject* Object |
RetargetEditor/IKRetargetEditorController.h | ||
bool IsReadyToRetarget() |
Retargeter state | RetargetEditor/IKRetargetEditorController.h | |
void OnPlaybackReset() |
Reset the planting state of the IK (when scrubbing or animation loops over) | RetargetEditor/IKRetargetEditorController.h | |
void OnPoseSelected
(
TSharedPtr< FName > InPoseName, |
RetargetEditor/IKRetargetEditorController.h | ||
virtual void PostRedo
(
bool bSuccess |
RetargetEditor/IKRetargetEditorController.h | ||
virtual void PostUndo
(
bool bSuccess |
FSelfRegisteringEditorUndoClient interface | RetargetEditor/IKRetargetEditorController.h | |
void RefreshAllViews() |
Force refresh all views in the editor | RetargetEditor/IKRetargetEditorController.h | |
void RefreshAssetBrowserView() |
RetargetEditor/IKRetargetEditorController.h | ||
void RefreshDetailsView() |
RetargetEditor/IKRetargetEditorController.h | ||
void RefreshHierarchyView() |
RetargetEditor/IKRetargetEditorController.h | ||
void RefreshOpStackView() |
RetargetEditor/IKRetargetEditorController.h | ||
void RefreshPoseList() |
RetargetEditor/IKRetargetEditorController.h | ||
void ReinitializeRetargeterNoUIRefresh() |
Reinitialize retargeter without refreshing UI | RetargetEditor/IKRetargetEditorController.h | |
FReply RenamePose() |
RetargetEditor/IKRetargetEditorController.h | ||
void RenderSkeleton
(
FPrimitiveDrawInterface* PDI, |
Render the skeleton's in the viewport (either source or target) | RetargetEditor/IKRetargetEditorController.h | |
void SetAssetBrowserView
(
const TSharedPtr< SIKRetargetAssetBrowser >& InAssetBrowserView |
RetargetEditor/IKRetargetEditorController.h | ||
void SetDetailsObject
(
UObject* DetailsObject |
RetargetEditor/IKRetargetEditorController.h | ||
void SetDetailsObjects
(
const TArray< UObject* >& DetailsObjects |
RetargetEditor/IKRetargetEditorController.h | ||
void SetDetailsView
(
const TSharedPtr< IDetailsView >& InDetailsView |
Store pointers to various tabs of UI, have to manage access to these because they can be null if the tabs are closed | RetargetEditor/IKRetargetEditorController.h | |
void SetHierarchyView
(
const TSharedPtr< SIKRetargetHierarchy >& InHierarchyView |
RetargetEditor/IKRetargetEditorController.h | ||
void SetOpSelected
(
const int32 InOpIndex |
SELECTION - OP STACK. | RetargetEditor/IKRetargetEditorController.h | |
void SetOpStackView
(
const TSharedPtr< SRetargetOpStack >& InOpStackView |
RetargetEditor/IKRetargetEditorController.h | ||
void SetOutputLogView
(
const TSharedPtr< SIKRigOutputLog >& InOutputLogView |
RetargetEditor/IKRetargetEditorController.h | ||
void SetRetargeterMode
(
ERetargeterOutputMode Mode |
Set viewport / editor tool mode. | RetargetEditor/IKRetargetEditorController.h | |
void SetRetargetModeToPreviousMode() |
RetargetEditor/IKRetargetEditorController.h | ||
void SetRetargetPoseAmount
(
float InValue |
RetargetEditor/IKRetargetEditorController.h | ||
void SetRootSelected
(
const bool bIsSelected |
RetargetEditor/IKRetargetEditorController.h | ||
void SetSourceOrTargetMode
(
ERetargetSourceOrTarget SourceOrTarget |
RetargetEditor/IKRetargetEditorController.h | ||
void ShowDetailsForOp
(
const int32 OpIndex |
RetargetEditor/IKRetargetEditorController.h | ||
void UpdateSkeletalMeshComponents() |
RetargetEditor/IKRetargetEditorController.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Get world space positions of all immediate children of bone (with component scale / offset applied) | RetargetEditor/IKRetargetEditorController.h |