---
title: Two Joints IK
description: "![](https://ariserigging.com/wp-content/uploads/2026/05/image-251.png) Creates two joints that always aim at each other. ![](https://ariserigging.com/wp-content/uploads/2026/05/TwoJointsIK_top_gif.gif) Guides: - **'Root Guide' **- Position of the root joint. - **'Tip Guide'** - Position of the tip joint. Attributes: 1. **'Ctrls Scale'** - Scale all the node ctrls. Note that the…"
url: "https://ariserigging.com/docs/basic-nodes/two-joints-ik/"
updated: "2026-05-13"
category: Basic Nodes
---

# Two Joints IK

![](https://ariserigging.com/wp-content/uploads/2026/05/image-251.png)

Creates two joints that always aim at each other.

![](https://ariserigging.com/wp-content/uploads/2026/05/TwoJointsIK_top_gif.gif)

Guides:

- **'Root Guide' **- Position of the root joint.
- **'Tip Guide'** - Position of the tip joint.

Attributes:

1. **'Ctrls Scale'** - Scale all the node ctrls. Note that the attachments [**'Ctrls Settings'**](https://ariserigging.com/docs/attachments/ctrlssettings/) and [**'CtrlsShape'**](https://ariserigging.com/docs/attachments/ctrlsshape/) will override this.
   *[As of version 1.06.03]*  'Update' button to change the ctrls size without requiring a rebuild. [**[Video]**](https://youtu.be/-1fpRw6oJME?t=31) 
2. **'Clean Transformations'** -  If checked, the [**zeroed pose**](https://ariserigging.com/docs/elements/poses/) will be the same as the [**b**](https://newaccount1619350932681.freshdesk.com/a/solutions/articles/69000433385)**[i](https://ariserigging.com/docs/elements/poses/)**[**nd pose**](https://ariserigging.com/docs/elements/poses/); if unchecked, when zeroing the ctrls, they will align with a world axis specified in the following two attributes. **[[Video]](https://youtu.be/-1fpRw6oJME?t=61)**
3. **'World Orientation'** - The world axis the ctrls will align with when zeroed. Usually, this attribute's default value is the correct value. **[[Video]](https://youtu.be/-1fpRw6oJME?t=61)**
4. **'World Orient Twist'** - Along with 'World Orientation', defines the ctrls zeroed pose. Usually, the default value of 0 is the correct value. **[[Video]](https://youtu.be/-1fpRw6oJME?t=61)**
5. **'Expose RotateOrder'** - Exposes all the ctrls 'RotateOrder' attribute in the Channel Box. [**[Video]**](https://youtu.be/-1fpRw6oJME?t=149)
6. **'Secondary Ctrls'** - Secondary ctrls are added under some ctrls to help prevent gimbal lock.
   A visibility attribute is added to the parent ctrl. [**[Video]**](https://youtu.be/-1fpRw6oJME?t=157)
7. **'Joint Length'** - Defines whether the joints will expand, shrink, or both expand and shrink.
   ![](https://ariserigging.com/wp-content/uploads/2026/05/TwoJointsIK_A1_gif.gif)![](https://ariserigging.com/wp-content/uploads/2026/05/TwoJointsIK_A2_gif.gif)![](https://ariserigging.com/wp-content/uploads/2026/05/TwoJointsIK_A3_gif.gif)
   (Left to right: Expandable, Shrinkable, Both)
8. **'Volume'** - Adds a 'volume' attribute to 'root_ctrl' that enables squashing and stretching when joint lengths expand or shrink.

Connections:

- **'Root Input'** - Drives the 'root_ctrl'.
- **'Tip Input'** - Drives the 'tip_ctrl'.
- **'Root Output'** - An output at 'root_jnt'.
- **'Tip Output'** - An output at 'tip_jnt'.

_____________________________________________
Get Arise at: [https://www.ariserigging.com](https://www.ariserigging.com/)
