Rotation based intersection of two circles inverse kinematics solver.
This [IKModifier3D] requires a pole target. It provides deterministic results by constructing a plane from each joint and pole target and finding the intersection of two circles (disks in 3D). This IK can handle twist by setting the pole direction. If there are more than one bone between each set bone, their rotations are ignored, and the straight line connecting the root-middle and middle-end joints are treated as virtual bones. [b]Note:[/b] All the methods in this class take an [code]index[/code] parameter. This parameter specifies which setting list entry to return if the IK has multiple entries (e.g. [code]settings/<index>/root_bone_name[/code]).
Returns the end bone index.
Returns the end bone's tail direction when [method is_end_bone_extended] is [code]true[/code].
Returns the end bone tail length of the bone chain when [method is_end_bone_extended] is [code]true[/code].
Returns the end bone name.
Returns the middle bone index.
Returns the middle bone name.
Returns the pole direction.
Returns the pole direction vector. If [method get_pole_direction] is [constant SkeletonModifier3D.SECONDARY_DIRECTION_NONE], this method returns [code]Vector3(0, 0, 0)[/code].
Returns the pole target node that constructs a plane which the joints are all on and the pole is trying to direct.
Returns the root bone index.
Returns the root bone name.
Returns the target node that the end bone is trying to reach.
Returns [code]true[/code] if the end bone is extended to have a tail.
Returns [code]true[/code] if the end bone is extended from the middle bone as a virtual bone.
Sets the end bone index.
Sets the end bone tail direction when [method is_end_bone_extended] is [code]true[/code].
Sets the end bone tail length when [method is_end_bone_extended] is [code]true[/code].
Sets the end bone name. [b]Note:[/b] The end bone must be a child of the middle bone.
If [param enabled] is [code]true[/code], the end bone is extended to have a tail.
Sets the middle bone index.
Sets the middle bone name. [b]Note:[/b] The middle bone must be a child of the root bone.
Sets the pole direction. The pole is on the middle bone and will direct to the pole target. The rotation axis is a vector that is orthogonal to this and the forward vector. [b]Note:[/b] The pole direction and the forward vector shouldn't be colinear to avoid unintended rotation.
Sets the pole direction vector. This vector is normalized by an internal process. If the vector length is [code]0[/code], it is considered synonymous with [constant SkeletonModifier3D.SECONDARY_DIRECTION_NONE].
Sets the pole target node that constructs a plane which the joints are all on and the pole is trying to direct.
Sets the root bone index.
Sets the root bone name.
Sets the target node that the end bone is trying to reach.
If [param enabled] is [code]true[/code], the end bone is extended from the middle bone as a virtual bone.
- The number of settings.