UxrArmIKSolver Class

IK component that implements basic Inverse Kinematics for an arm.

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
Namespace: UltimateXR.Animation.IK
Assembly: UltimateXR (in UltimateXR.dll) Version: 0.0.0.0

Syntax

C#

public class UxrArmIKSolver : UxrIKSolver


The UxrArmIKSolver type exposes the following members.

Constructors

NameDescription
Public methodUxrArmIKSolver

Properties

NameDescription
Public propertyArm Gets the arm bone.
Public propertyClavicle Gets the clavicle bone.
Public propertyForearm Gets the forearm bone.
Public propertyHand Gets the hand bone.
Public propertyOverExtendMode Gets or sets what happens when the real hand makes the VR arm to over-extend. This may happen if the user has a longer arm than the VR model, if the controller is placed far away or if the avatar is grabbing an object with constraints that lock the hand position.
Public propertyRelaxedElbowAperture Gets or sets how far [0.0, 1.0] the elbow will from the body when solving the IK. Lower values will bring the elbow closer to the body.
Public propertySide Gets whether it is the left or right arm.

Methods

NameDescription
Protected methodInternalSolveIK Solves the IK for the current frame. (Overrides UxrIKSolver.InternalSolveIK().)
Protected methodOnDisable Unsubscribes from events. (Overrides UxrIKSolver.OnDisable().)
Protected methodOnEnable Subscribe to events. (Overrides UxrIKSolver.OnEnable().)
Public methodSolveIKPass Solves a pass in the Inverse Kinematics.
Protected methodStart Computes internal IK parameters. (Overrides UxrComponent.Start().)

Fields

NameDescription
Public fieldStatic memberDefaultArmRangeOfMotionAngle
Public fieldStatic memberDefaultClavicleDeformation
Public fieldStatic memberDefaultClavicleRangeOfMotionAngle
Public fieldStatic memberDefaultElbowAperture
Public fieldStatic memberDefaultElbowApertureRotation

Extension Methods

NameDescription
Public Extension MethodCheckSetEnabled Enables/disabled the component if it isn’t enabled already. (Defined by MonoBehaviourExt.)
Public Extension MethodGetOrAddComponent<T> Gets the Component of a given type. If it doesn’t exist, it is added to the GameObject. (Defined by ComponentExt.)
Public Extension MethodGetPathUnderScene Gets the full path under current scene, including all parents, but scene name, for the given component. (Defined by ComponentExt.)
Public Extension MethodGetSceneUid Gets an unique identifier string for the given component. (Defined by ComponentExt.)
Public Extension MethodGetUniqueScenePath 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.)
Public Extension MethodLoopCoroutine Creates a coroutine that simplifies executing a loop during a certain amount of time. (Defined by MonoBehaviourExt.)
Public Extension MethodSafeGetComponentInParent<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.)
Public Extension MethodShowInInspector(Boolean)Overloaded.
Controls whether to show the current object in the inspector. (Defined by ObjectExt.)
Public Extension MethodShowInInspector(Boolean, Boolean)Overloaded.
Controls whether to show the current object in the inspector and whether it is editable. (Defined by ObjectExt.)
Public Extension MethodThrowIfNull Throws an exception if the object is null. (Defined by ObjectExt.)

See Also

Reference

UltimateXR.Animation.IK Namespace