UIKRigSolver

This is the base class for creating your own solver type that integrates into the IK Rig framework/editor.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

IKRig

Header

/Engine/Plugins/Animation/IKRig/Source/IKRig/Public/IKRigSolver.h

Include

#include "IKRigSolver.h"

Syntax

UCLASS(Abstract, HideCategories=UObject)
class UIKRigSolver : public UObject

Remarks

This is the base class for creating your own solver type that integrates into the IK Rig framework/editor.

Constructors

Name Description

Public function

UIKRigSolver()

Functions

Name Description

Public function Virtual

void

 

AddBoneSetting

(
    const FName& BoneName
)

Override to support ADDING PER-BONE settings for this solver

Public function Virtual

void

 

AddGoal

(
    const UIKRigEffectorGoal& NewGoal
)

Override to support ADDING a new goal to custom solver

Public function Virtual Const

void

 

DrawBoneSettings

(
    const FName& BoneName,
    const FIKRigSkeleton& IKRigSkeleto...,
    FPrimitiveDrawInterface* PDI
)

Todo override to draw custom per-bone settings in the editor viewport

Public function Virtual Const

UObject *...

 

GetBoneSetting

(
    const FName& BoneName
)

Override to support supplying per-bone settings to outside systems for editing/UI NOTE: This must be overriden on solvers that use bone settings.

Public function Virtual Const

void

 

GetBonesWithSettings

(
    TSet< FName >& OutBonesWithSetting...
)

Override to support telling outside systems which bones this solver has setting for.

Public function Virtual Const

UObject *...

 

GetGoalSettings

(
    const FName& GoalName
)

Override to support supplying goals settings specific to this solver to outside systems for editing/UI

Public function Virtual Const

FText

 

GetNiceName()

Override to give your solver a nice name to display in the UI

Public function Virtual Const

FName

 

GetRootBone()

If solver requires a root bone, then override this to return it.

Public function Virtual Const

bool

 

GetWarningMessage

(
    FText& OutWarningMessage
)

Override to provide warning to user during setup of any missing components.

Public function Virtual

void

 

Initialize

(
    const FIKRigSkeleton& IKRigSkeleto...
)

Override to setup internal data based on ref pose

Public function Virtual Const

bool

 

IsBoneAffectedBySolver

(
    const FName& BoneName,
    const FIKRigSkeleton& IKRigSkeleto...
)

Return true if the supplied Bone is affected by this solver - this provides UI feedback for user

Public function Const

bool

 

IsEnabled()

Get if this solver is enabled

Public function Virtual Const

bool

 

IsGoalConnected

(
    const FName& GoalName
)

Override to support QUERY for a connected goal

Public function

FIKRigSolver...

 

OnSolverModified()

Public function Virtual

void

 

RemoveBoneSetting

(
    const FName& BoneName
)

Override to support ADDING PER-BONE settings for this solver

Public function Virtual

void

 

RemoveGoal

(
    const FName& GoalName
)

Override to support REMOVING a goal from custom solver

Public function Virtual

void

 

RenameGoal

(
    const FName& OldName,
    const FName& NewName
)

Override to support RENAMING an existing goal

Public function Virtual Const

bool

 

RequiresEndBone()

Public function Virtual Const

bool

 

RequiresRootBone()

Public function

void

 

SetEnabled

(
    const bool bEnabled
)

Turn solver on/off (will be skipped during execution if disabled)

Public function Virtual

void

 

SetEndBone

(
    const FName& EndBoneName
)

Override to support SETTING END BONE for the solver

Public function Virtual

void

 

SetGoalBone

(
    const FName& GoalName,
    const FName& NewBoneName
)

Override to support CHANGING BONE for an existing goal

Public function Virtual

void

 

SetRootBone

(
    const FName& RootBoneName
)

Override to support SETTING ROOT BONE for the solver

Public function Virtual

void

 

Solve

(
    FIKRigSkeleton& IKRigSkeleton,
    const FIKRigGoalContainer& Goals
)

Override Solve() to evaluate new output pose (InOutGlobalTransform)

Public function Virtual

void

 

UpdateSolverSettings

(
    UIKRigSolver* InSettings
)

Override to support RECEIVING modified solver settings from outside systems for editing/UI.

Public function Virtual Const

bool

 

UsesBoneSettings()

Override to tell systems if this solver supports per-bone settings

Overridden from UObject

Name Description

Public function Virtual

void

 

PostLoad()

UObject interface

Public function Virtual

void

 

PostTransacted

(
    const FTransactionObjectEvent& Tra...
)

Called after the object has been transacted in some way.

Classes

Name

Description

Public class

FIKRigSolverModified

Callback whenever this solver is edited