UxrIKSolver Class
Base IK Solver class. IK solvers should inherit from it and override the InternalSolveIK() method. Not all solvers need to be part of an avatar, but the UxrAvatarComponent<T> inheritance is used to be able to enumerate all the solvers that are part of an avatar.
Inheritance Hierarchy
System.Object
Object
Component
Behaviour
MonoBehaviour
UltimateXR.Core.Components.UxrComponent
UltimateXR.Core.Components.UxrComponent(UxrIKSolver)
UltimateXR.Core.Components.Composite.UxrAvatarComponent(UxrIKSolver)
UltimateXR.Animation.IK.UxrIKSolver
UltimateXR.Animation.IK.UxrArmIKSolver
UltimateXR.Animation.IK.UxrCcdIKSolver
UltimateXR.Animation.IK.UxrWristTorsionIKSolver
Namespace: UltimateXR.Animation.IK
Assembly: UltimateXR (in UltimateXR.dll) Version: 0.0.0.0
Syntax
C#
public abstract class UxrIKSolver : UxrAvatarComponent<UxrIKSolver>
The UxrIKSolver type exposes the following members.
Constructors
Name | Description | |
---|---|---|
UxrIKSolver |
Properties
Name | Description | |
---|---|---|
ManualUpdate | Gets if the IK solver will update itself. Otherwise the user will be responsible of calling SolveIK(). | |
NeedsAutoUpdate | Gets if the solver needs to be updated automatically. | |
SolverEnabled | Gets or sets the IK solver enabled state? |
Methods
Name | Description | |
---|---|---|
InternalSolveIK | To be implemented in child classes to execute the actual IK solving algorithm for the current frame | |
OnDisable | Unsubscribes from events (Overrides UxrComponent<T>.OnDisable().) | |
OnEnable | Subscribes to events (Overrides UxrComponent<T>.OnEnable().) | |
SolveIK | Solves the IK. Calls InternalSolveIK(),which is implemented in child classes, but calls the appropriate Solving and Solved events. |
Events
Name | Description | |
---|---|---|
Solved | Called right after the IK was solved during the current frame | |
Solving | Called right before the IK is about to be solved during the current frame |
Extension Methods
Name | Description | |
---|---|---|
CheckSetEnabled | Enables/disabled the component if it isn’t enabled already. (Defined by MonoBehaviourExt.) | |
GetOrAddComponent<T> | Gets the Component of a given type. If it doesn’t exist, it is added to the GameObject. (Defined by ComponentExt.) | |
GetPathUnderScene | Gets the full path under current scene, including all parents, but scene name, for the given component. (Defined by ComponentExt.) | |
GetSceneUid | Gets an unique identifier string for the given component. (Defined by ComponentExt.) | |
GetUniqueScenePath | Gets an unique path in the scene for the given component. It will include scene name, sibling and component indices to make it unique. (Defined by ComponentExt.) | |
LoopCoroutine | Creates a coroutine that simplifies executing a loop during a certain amount of time. (Defined by MonoBehaviourExt.) | |
SafeGetComponentInParent<T> | Gets the Component of a given type in the GameObject or any of its parents. It also works on prefabs, where regular GetComponentInParent(Type, Boolean) will not work: https://issuetracker.unity3d.com/issues/getcomponentinparent-is-returning-null-when-the-gameobject-is-a-prefab (Defined by ComponentExt.) | |
ShowInInspector(Boolean) | Overloaded. Controls whether to show the current object in the inspector. (Defined by ObjectExt.) | |
ShowInInspector(Boolean, Boolean) | Overloaded. Controls whether to show the current object in the inspector and whether it is editable. (Defined by ObjectExt.) | |
ThrowIfNull | Throws an exception if the object is null. (Defined by ObjectExt.) |