class in UnityEngine.Animations
/
Inherits from:Behaviour
/
Implemented in:UnityEngine.AnimationModule
Implements interfaces:IKBase, SingleGoalIKBase, THeuristicChainIK
IK solver for chained bones using the CCDIK algorithm.
This class implements an IK solver based on the CCDIK (Cyclic Coordinate Descent Inverse Kinematics) algorithm,
which is commonly used for manipulating chains of bones in character animation.
See Also: IKBase,SingleGoalIKBase,THeuristicChainIK.
| boneCount | Gets the total number of bones currently in the chain. |
| endBone | Gets or sets the end bone of the IK chain. |
| endRotationWeight | Gets or sets the influence weight (0-1 range) of the IK goal's rotation on the end bone of the chain. A weight of 0.0 ignores the goal's rotation; a weight of 1.0 makes the end bone's rotation fully match the goal. Values between 0.0 and 1.0 blend the end bone's rotation between its original state and the goal's rotation. |
| goal | Gets or sets the IK goal that the solver aims to reach. |
| initialized | Indicates whether the IK solver has been initialized. |
| iterations | Gets or sets the maximum number of iterations allowed for the IK calculations. |
| maxAngle | Gets or sets the maximum allowed rotation angle (in degrees) per bone per IK iteration. Only takes effect if _useRotationLimit is enabled. Prevents excessive bone rotation that could cause unnatural poses. |
| rootBone | Gets or sets the root bone of the IK chain. |
| tolerance | Gets or sets the distance threshold between the root bone and the IK goal. If the distance is below this value, the IK iteration will terminate. |
| useRotationLimit | Gets or sets a value indicating whether to enforce rotation limits on bones during IK calculations. When enabled, bones will not rotate beyond the constraint defined by _maxAngle. |
| weight | Gets or sets the overall influence weight (0-1 range) of the CCDIK solver on the bone chain. A weight of 0.0 disables the solver; a weight of 1.0 applies full solver influence. Values between 0.0 and 1.0 blend the solver's result with the original bone transforms. |
| AddBone | Adds a bone transform to the end of the chain. |
| AddWeightedBone | Adds a bone transform with a custom influence weight to the end of the IK chain. |
| ClearBones | Clears all bones from the IK chain. |
| FixTransforms | Resets the transforms of all bones before performing IK calculations. |
| GetBone | Retrieves the bone transform at the specified index in the IK chain. |
| GetBoneWeight | Retrieves the current influence weight of the bone at the specified index in the IK chain. |
| Initialize | Initializes the IK solver. |
| InsertBone | Inserts a bone transform at the specified index in the IK chain, using a default influence weight of 1.0. Shifts existing bones at and beyond the index to the right. |
| InsertWeightedBone | Inserts a bone transform with a custom influence weight at the specified index in the IK chain. Shifts existing bones at and beyond the index to the right. |
| IsValid | Checks if the solver has been properly initialized. |
| RemoveBone | Removes the specified bone from the chain. |
| SetBone | Replaces the bone transform at the specified index in the IK chain while preserving the existing influence weight of that position. |
| SetBoneWeight | Updates the influence weight of the bone at the specified index in the IK chain, affecting its contribution to IK calculations. |
| enabled | Enabled Behaviours are Updated, disabled Behaviours are not. |
| isActiveAndEnabled | Reports whether a GameObject and its associated Behaviour is active and enabled. |
| gameObject | The game object this component is attached to. A component is always attached to a game object. |
| tag | The tag of this game object. |
| transform | The Transform attached to this GameObject. |
| hideFlags | Should the object be hidden, saved with the Scene or modifiable by the user? |
| name | The name of the object. |
| BroadcastMessage | Calls the method named methodName on every MonoBehaviour in this game object or any of its children. |
| CompareTag | Checks the GameObject's tag against the defined tag. |
| GetComponent | Gets a reference to a component of type T on the same GameObject as the component specified. |
| GetComponentInChildren | Gets a reference to a component of type T on the same GameObject as the component specified, or any child of the GameObject. |
| GetComponentIndex | Gets the index of the component on its parent GameObject. |
| GetComponentInParent | Gets a reference to a component of type T on the same GameObject as the component specified, or any parent of the GameObject. |
| GetComponents | Gets references to all components of type T on the same GameObject as the component specified. |
| GetComponentsInChildren | Gets references to all components of type T on the same GameObject as the component specified, and any child of the GameObject. |
| GetComponentsInParent | Gets references to all components of type T on the same GameObject as the component specified, and any parent of the GameObject. |
| SendMessage | Calls the method named methodName on every MonoBehaviour in this game object. |
| SendMessageUpwards | Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour. |
| TryGetComponent | Gets the component of the specified type, if it exists. |
| GetInstanceID | Gets the instance ID of the object. |
| ToString | Returns the name of the object. |
| Destroy | Removes a GameObject, component or asset. |
| DestroyImmediate | Destroys the object obj immediately. You are strongly recommended to use Destroy instead. |
| DontDestroyOnLoad | Do not destroy the target Object when loading a new Scene. |
| FindAnyObjectByType | Retrieves any active loaded object of Type type. |
| FindFirstObjectByType | Retrieves the first active loaded object of Type type. |
| FindObjectOfType | Returns the first active loaded object of Type type. |
| FindObjectsByType | Retrieves a list of all loaded objects of Type type. |
| FindObjectsOfType | Gets a list of all loaded objects of Type type. |
| Instantiate | Clones the object original and returns the clone. |
| InstantiateAsync | Captures a snapshot of the original object (that must be related to some GameObject) and returns the AsyncInstantiateOperation. |
| bool | Does the object exist? |
| operator != | Compares if two objects refer to a different object. |
| operator == | Compares two object references to see if they refer to the same object. |