> For the complete documentation index, see [llms.txt](https://blkmsk.gitbook.io/cc4d-tools-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blkmsk.gitbook.io/cc4d-tools-manual/control-rig-overview.md).

# Control Rig Overview

{% embed url="<https://drive.google.com/file/d/14oUGtObF1CpKduatCwR0KVdgjYpTqEBw/view?usp=sharing>" %}
Control Rig Overview
{% endembed %}

### Structure <a href="#control-rig-structure" id="control-rig-structure"></a>

Once the Control Rig has been attached to the character exported from CC4 successfully,\
the hierarchy in the Object Manager will be restructured

* The root level group of the character is the **CC\_Character** Null object
* The characters geometry is stored inside the **CC\_GEO** Null Object
* The root joint of the characters joint hierarchy has been converted to a Null Object and \
  is stored inside the **CC\_JOINTS** Null Object wich also holds other rig elements and joints of the Control Rig
* The controls of the character can be found inside the **CC\_CTRL** Null Object together with some predefined Selection Objects &#x20;
* The geometry and all the other rig elements are also stored on different layers in the Layer Manager to make selecting, hiding or locking certain components easier
* By default the :blue\_square:**GEO** layer is locked and the layers that hold the rig elements are also hidden in the viewport and the object manager so only the control objects are selectable

{% hint style="warning" %}
**Important:** \
Do NOT delete or change the predefined Selection Objects inside the **\_SELECTIONS*****\_*** Null Object as the *Visual Selector* tag is depending on them. If you need custom selections feel free to create your own and if you dont want to see them in the *Object Manager* just add them to the **HIDE** layer in the *Layer Manager.*
{% endhint %}

<div data-full-width="false"><figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FRF7gTWZIKNBCsoDRnn91%2Fcc4d_doku_overview_01.png?alt=media&amp;token=9f2805ac-4694-49a2-87ee-a55d150f45bb" alt=""><figcaption><p>CC4D Control Rig Structure</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FZt4pDJzwS6NbXl8jBDXK%2Fcc4d_doku_overview_02.png?alt=media&amp;token=4da0d4e6-a313-4391-8fb9-059b94895cd8" alt=""><figcaption><p>Default Layer  Setup</p></figcaption></figure></div>

***

### Control Overview <a href="#control-rig-ctrl-overview" id="control-rig-ctrl-overview"></a>

* The control objects are stored in the **CC4\_CTRL** Null Object starting with the \
  :green\_circle: **MASTER\_CTRL+** wich holds all the other controls
* They are assigned to the :green\_square: **CTRL** layer in the *Layer Manager* and can be selected in the *Viewport* as well as in the *Object Manager*
* The transformation of all control objects has been frozen after the [*Control Rig setup*](/cc4d-tools-manual/quick-setup.md#cc4d-control-rig) \
  so they can easily be reset to their initial state with the *Reset Transform* command&#x20;
* Some of the control objects have additional parameters wich can be accessed in the *Attributes* tab or the *Viewport HUD* when the control object is selected
* The control objects with additional parameters also have a 'Reset Parameters' button to reset all parameters to their default value
* The :green\_circle: **MASTER\_CTRL+** has a 'Reset All Parameters' button to reset the parameters of all control objects to their default value at once
* All control objects have predefined Keyframe Selections on their keyable parameters and transformations to only record the necessary tracks when auto keying is enabled or when recording more than one control at once

<div data-full-width="true"><figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FcG48X1x52EfPReXAAGZr%2Fcc4d_doku_overview_04_1.png?alt=media&amp;token=c502401b-3757-41ca-b863-d874b7767955" alt=""><figcaption><p><mark style="background-color:orange;">Additional Parameters</mark> and <mark style="background-color:red;">Visual Selector</mark> tag on the MASTER_CTRL+</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FmDlgMvyNBEf39Q2OMREo%2Fcc4d_doku_overview_05_1.png?alt=media&amp;token=f5127f1b-6bad-48ab-9c54-9db0525f3587" alt=""><figcaption><p><mark style="color:red;">Keyframe Selections</mark> and <mark style="background-color:orange;">Reset All Parameters</mark> button of the MASTER_CTRL+</p></figcaption></figure></div>

* To make selecting control objects easier there is *Visual Selector* tag wich can be accessed through the :green\_circle: **MASTER\_CTRL+** or the *viewport HUD* when any of the control objects is selected
* Through the VS tag all of the control object can be selected as well as some predefined selection 'sets' with multiple controls for different parts of the body
* The visibility parameters of the :green\_circle: **MASTER\_CTRL+** can also be driven through the VS tag
* There are 3 groups of control objects each consisting a set of *primary controls* \
  as well as some *secondary controls*:&#x20;
  * :yellow\_circle: **Spine Controls**
  * **Arm Controls -** :orange\_circle:**left &** :blue\_circle:**right**
  * **Leg Controls -** :orange\_circle:**left &** :blue\_circle:**right**

<div data-full-width="true"><figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FmhPB4r5zAchxztUzLjD2%2Fcc4d_doku_overview_03.png?alt=media&amp;token=b5bb4637-9cec-40f7-b5fd-59c6834a8b78" alt="" width="563"><figcaption><p>CC4D Control Objects</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FosM5T3rsJfy5NkuN1JQI%2Fcc4d_doku_overview_03_1.png?alt=media&amp;token=da24f87b-188d-4f8f-8a9b-7d3f7cf47c48" alt="" width="563"><figcaption><p>Visual Selector tag of the CC4D Ctrl Rig</p></figcaption></figure></div>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e2">🟢</span> <strong>MASTER_CTRL+</strong> </summary>

**Type:** primary control

can be controlled in its *position* and *rotation*

**Additional Parameters (RESET)**

* **Reset All Parameters:** \
  Resets all additional parameters of all control objects at once

**Additional Parameters (SETUP)** :new:

* **Control Distance Factor:** \
  Controls the overall impact of the Fingers\_L/R\_CTRL+, Ball\_L/R\_CTRL+ and the control objects of the Face Rig. With a lower value the control objects need to travel a shorter distance to take effect and with a higher value the distance to travel gets longer

**Additional Parameters (CTRL VISIBILITY)**

* **ALL CTRL:** Toggles the visibility of all control objects
* **SECONDARY CTRL:** Toggles the visibility of all secondary control objects
* **spine CTRL:** Toggles the visibility of all 'spine' control objects when all controls are hidden with the **ALL CTRL** **parameter**
* **arm R CTRL:** Toggles the visibility of all 'arm R' control objects when all controls are hidden with the **ALL CTRL** **parameter**
* **arm L CTRL:** Toggles the visibility of all 'arm L' control objects when all controls are hidden with the **ALL CTRL** **parameter**
* **leg R CTRL:** Toggles the visibility of all 'leg R' control objects when all controls are hidden with the **ALL CTRL** **parameter**
* **leg L CTRL:** Toggles the visibility of all 'leg L' control objects when all controls are hidden with the **ALL CTRL** **parameter**

</details>

***

### Spine Controls <a href="#control-rig-spine" id="control-rig-spine"></a>

* The spine control objects can be found inside the **spine\_CTRL\_GRP** Null Object\
  starting with the :green\_circle: **Hip\_CTRL+**&#x20;
* It offers a set of *<mark style="color:orange;">FK Controls</mark>* as well as a set of *<mark style="color:blue;">IK Controls</mark>*
* with the **Spine FK/IK** parameter on the :green\_circle: **Hip\_CTRL+** you can blend between *FK* and *IK mode*
* by default it is set to *FK mode* (0%)

<div data-full-width="true"><figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2Fj2tcYaSSnFg9hCAyA9pD%2Fcc4d_doku_overview_06.png?alt=media&amp;token=1691fbbf-6965-416f-b584-18ef6ec67a24" alt=""><figcaption><p>Spine Control hierarchy</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FUO7aAZ4m7Yrkqmj09KUx%2Fcc4d_doku_overview_01.gif?alt=media&amp;token=a34b32ec-9a19-48a4-9d24-f9464548f929" alt=""><figcaption><p>Spine Controls in FK mode</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2Fvz3cfuGZ7zDZMjCbeaSz%2Fcc4d_doku_overview_02.gif?alt=media&amp;token=508bcee8-bf64-40dc-b48c-ae24c1974659" alt=""><figcaption><p>Spine Controls in IK mode</p></figcaption></figure></div>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e2">🟢</span> Hip_CTRL+  </summary>

**Type:** primary control

can be controlled in its *position* and *rotation*

**Additional Parameters (SPINE CTRL)**

* **Spine FK/IK:** 0 - 100% | Default: 0 %\
  blends between the spine FK and IK Controls
* **Overwrite Rotation Order:** \
  this will activate the overwrite value for the rotation order of the \
  :green\_circle: **Hip\_CTRL+,** :yellow\_circle: **Pelvis\_CTRL+,** :yellow\_circle: **Spine\_base\_FK\_CTRL+,**\
  :yellow\_circle: **Spine\_mid\_FK\_CTRL+,** :yellow\_circle: **Spine\_FK\_midshift\_CTRL+,** \
  :yellow\_circle: **Chest\_FK\_CTRL+,** :yellow\_circle: **Spine\_base\_IK\_CTRL+,** :yellow\_circle: **Chest\_IK\_CTRL+,** \
  :yellow\_circle: **Neck\_CTRL+** and the :yellow\_circle: **Head\_CTRL+**
* **Rotation Order:** \
  Overwrite value for the controls above
* **Reset Rotation Order:** \
  Resets the rotation order for the controls above to their default values, which can be found under the setup tab of the :green\_circle: **Hip\_CTRL+**

**Additional Parameters (SETUP)**

* **Rotation Order defaults:** \
  the default values for all the spine controls listed above\
  (if those values are changed they have to be 'initialized' by reseting the rotation order)

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e1">🟡</span> Pelvis_CTRL+</summary>

**Type:** primary control

can be controlled in its *rotation*

**Additional Parameters (PELVIS CTRL)**

* **Follow Hip:** 0 - 100% | Default: 0 %\
  Defines if the rotation of the :yellow\_circle: **Pelvis\_CTRL+** follows the rotation of the \
  :green\_circle: **Hip\_CTRL+** &#x20;

</details>

#### Spine FK Controls

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e1">🟡</span> <strong>Spine_base_FK_CTRL+</strong></summary>

**Type:** primary control

can be controlled in its *rotation*

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e1">🟡</span> <strong>Spine_mid_FK_CTRL+</strong></summary>

**Type:** primary control

can be controlled in its *rotation*

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e1">🟡</span> <strong>Chest_FK_CTRL+</strong></summary>

**Type:** primary control

can be controlled in its *rotation*

**Additional Parameters (SPINE FK SETUP)**

* **Spine Arc:** 0 - 10 | Default: 1\
  controls the size of the rotational arc of the spine FK Controls
* **Mid Auto Stretch:** 0 - 100% | Default: 0%\
  the amount the :orange\_circle: ***Spine\_FK\_MidShift\_CTRL+*** automatically stretches between the \
  :yellow\_circle: **Spine\_base\_FK\_CTRL+** and the :yellow\_circle: **Chest\_FK\_CTRL+**

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e1">🟡</span> <strong>Neck_CTRL+</strong></summary>

**Type:** primary control

can be controlled in its *rotation*

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e1">🟡</span> <strong>Head_CTRL+</strong></summary>

**Type:** primary control

can be controlled in its *position* and *rotation*

**Additional Parameters (RESET)**

* **Reset Parameters:** \
  Resets all additional parameters of the :yellow\_circle: **Head\_CTRL+**

**Additional Parameters (HEAD CTRL)**

* **Head follow Master:** 0 - 100% | Default: 0%\
  the amount the rotation of the :yellow\_circle: **Head\_CTRL+** follows the :green\_circle: **Master\_CTRL+**
* **Head follow Chest:** 0 - 100% | Default: 0%\
  the amount the rotation of the :yellow\_circle: **Head\_CTRL+** follows the :yellow\_circle: **Chest\_FK/IK\_CTRL+**

**Additional Parameters (HEAD SETUP)**

multipliers for the influence of the :yellow\_circle: **Head\_CTRL+** on the *Head* poseMorphs on the *CC\_base\_body mesh*

* **Head Turn L:** 0 - 2 | Default: 1
* **Head Turn R:** 0 - 2 | Default: 1
* **Head Turn Down:** 0 - 2 | Default: 1
* **Head Turn Up:** 0 - 2 | Default: 1
* **Head Tilt L:** 0 - 2 | Default: 1
* **Head Tilt R:** 0 - 2 | Default: 1
* **Head L:** 0 - 2 | Default: 1
* **Head R:** 0 - 2 | Default: 1
* **Head Forward:** 0 - 2 | Default: 1
* **Head Backward:** 0 - 2 | Default: 1

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>Spine_FK_MidShift_CTRL+</strong></summary>

**Type:** secondary control

can be controlled in its *position* and *rotation*

</details>

#### Spine IK Controls

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e1">🟡</span> <strong>Spine_base_IK_CTRL+</strong></summary>

**Type:** primary control

can be controlled in its *position* and *rotation*

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e1">🟡</span> <strong>Chest_IK_CTRL+</strong></summary>

**Type:** primary control

can be controlled in its *position* and *rotation*

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>Spine_IK_mid_CTRL+</strong></summary>

**Type:** secondary control

can be controlled in its *position* and *rotation*

</details>

<div><figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FItlRDGN3wIqkhbcZjzuy%2Fcc4d_doku_overview_03.gif?alt=media&amp;token=e2ea1496-e69b-479e-b0d8-2034588111e8" alt=""><figcaption><p>Spine Arc &#x26; Mid Auto Stretch Parameters of the Chest_FK_CTRL+</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FRFnNRsh2xH18LxWg12IC%2Fcc4d_doku_overview_04.gif?alt=media&amp;token=804d12b1-3f73-40e0-bf3d-ab446b64e1ca" alt=""><figcaption><p>Head follow Master &#x26; Chest Parameter of the Head_CTRL+</p></figcaption></figure></div>

The :yellow\_circle: **Head\_CTRL+** also offers some extra Setup parameters in the Attributes tab when the control is selected. By default a *CC3+ type* character has some correctional poseMorphs or blendShapes on its *base\_body* mesh, wich are driven by the transformation of the control object. \
\
Those parameters are a set of multipliers for those poseMorphs to be able to control the influence of the :yellow\_circle: **Head\_CTRL+** has on them.

<div data-full-width="true"><figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FOcucWcsPIDceLQcUemvj%2Fcc4d_doku_overview_07.png?alt=media&amp;token=6dbefc69-200d-4d5d-897a-232b35ddbb87" alt=""><figcaption><p>Head_CTRL+ Setup Parameters</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2F5MpwTHFFB1ZL5TnjD2MR%2Fcc4d_doku_overview_05.gif?alt=media&amp;token=854aa0b2-f4f5-41d8-b569-c973b41e30fe" alt="" width="563"><figcaption><p>Head_CTRL+ Setup Parameters</p></figcaption></figure></div>

***

### Arm Controls <a href="#control-rig-arm" id="control-rig-arm"></a>

* The arm control objects can be found inside the **arm\_L\_CTRL\_GRP / arm\_R\_CTRL\_GRP** Null Object with the :orange\_circle: **HAND\_L\_CTRL+ /** :blue\_circle: **HAND\_R\_CTRL+** as its main controller
* it offers a set of *<mark style="color:blue;">IK controls</mark>* as well as a set of *<mark style="color:orange;">FK controls</mark>*
* with the **IK/FK blend** parameter on the :orange\_circle: **HAND\_L\_CTRL+ /** :blue\_circle: **HAND\_R\_CTRL+** you can blend between IK mode & FK mode

<div data-full-width="true"><figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FbE39RqROMp2ePzyKoTut%2Fcc4d_doku_overview_08.png?alt=media&amp;token=51a39a40-2454-4b46-a5af-ea3fe16d1736" alt="" width="275"><figcaption><p>Arm Control hierarchy</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FoDDQxQNpo1sfAQX9dgcx%2Fcc4d_doku_overview_06.gif?alt=media&amp;token=ee6bf0f9-1315-4e26-9694-2c20214e6ae0" alt=""><figcaption><p>Arm Controls in IK mode</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FmhO226tGRl1FQnUO3PCo%2Fcc4d_doku_overview_07.gif?alt=media&amp;token=9e6659d4-99ba-4d03-a045-4e3c7cc2032e" alt=""><figcaption><p>Arm Controls in FK mode</p></figcaption></figure></div>

#### Arm IK Controls

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>HAND_L_CTRL+ /</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> <strong>HAND_R_CTRL+</strong> </summary>

**Type:** primary IK controller

can be controlled in its *position* and *rotation*

**Additional Parameters (RESET)**

* **Reset Parameters:** \
  Resets all additional parameters of the :orange\_circle: **HAND\_L\_CTRL+ /** :blue\_circle: **HAND\_R\_CTRL+**&#x20;

**Additional Parameters (ARM CTRL ->  IK/FK SETTINGS):**

* **snap FK to IK:** \
  snaps the FK controls to the position of the IK position of the arm
* **IK/FK blend:** 0 - 100% | Default: 0 %\
  blends between the arm IK and FK Controls
* **IK World/Local:** 0 - 100% | Default: 0%\
  blends between the world position (MASTER\_CTRL+)\
  and the local position (CHEST\_CTRL+) of the :orange\_circle: **HAND\_L\_CTRL+ /** :blue\_circle:**HAND\_R\_CTRL+**
* **FK follow Shoulder:** 0 - 100% | Default: 0%\
  defines if the FK arm controls follow the rotation of the :orange\_circle: **shoulder\_L\_CTRL+ /**\
  :blue\_circle: **shoulder\_R\_CTRL+** when the arm is in FK mode

**Additional Parameters (ARM CTRL ->  MAIN SETTINGS):**

* **Overwrite Rotation Order:** \
  this will activate the overwrite value for the rotation order of the \
  :orange\_circle: **FK\_L\_upperArm\_CTRL+,** :orange\_circle: **FK\_L\_lowerArm\_CTRL+,** :orange\_circle: **FK\_L\_hand\_CTRL+,**\
  :orange\_circle: **HAND\_L\_CTRL+,** :orange\_circle: **Elbow\_L\_CTRL+**\
  :blue\_circle:**FK\_L\_upperArm\_CTRL+,** :blue\_circle: **FK\_L\_lowerArm\_CTRL+,** :blue\_circle:**FK\_L\_hand\_CTRL+,**\
  :blue\_circle:**HAND\_L\_CTRL+,** :blue\_circle:**Elbow\_L\_CTRL+**
* **Rotation Order:** \
  Overwrite value for the controls above
* **Reset Rotation Order:** \
  Resets the rotation order for the controls above to their default values, which can be found under the setup tab of the :orange\_circle: **HAND\_L\_CTRL+ /** :blue\_circle: **HAND\_R\_CTRL+**
* **Elbow Lock:** 0 - 100% | Default: 0 %\
  Locks the secondary :orange\_circle: **elbow\_L\_CTRL+ /** :blue\_circle: **elbow\_R\_CTRL+** in place
* **Forearm Twist:** -100% - 100% | Default: 0 %\
  for manual adjustment of the forearm twisting
* **Auto align:** \
  when checked the :orange\_circle: **HAND\_L\_CTRL+ /** :blue\_circle:**HAND\_R\_CTRL+** will automatically align with the forearm when the arm is in IK mode

**Additional Parameters (ARM CTRL ->  ELBOW POLE SETTINGS):**

* **Elbow Auto Pole:** 0 - 100% | Default: 0 %\
  Activates the automatic elbow pole positioning based on the arm controls
* **Elbow Pole rotation:** -100% - 100% | Default: 0 %\
  Controls the elbow orientation when the **Elbow Auto Pole** is active

**Additional Parameters (SETUP ->  ROTATION ORDER DEFAULTS):**

* **Rotation Order defaults:** \
  the default values for all the arm controls listed under 'Overwrite Rotation Order'\
  (if those values are changed they have to be 'initialized' by reseting the rotation order)

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>shoulder_L_CTRL+ /</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> <strong>shoulder_R_CTRL+</strong></summary>

**Type:** primary control

can be controlled in its *rotation*

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>elbow_L_POLE /</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> <strong>elbow_R_POLE</strong></summary>

**Type:** primary control

can be controlled in its *position*

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>elbow_L_CTRL+ /</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> <strong>elbow_R_CTRL+</strong></summary>

**Type:** secondary control

can be controlled in its *position* and *rotation*

</details>

#### Arm FK Controls

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>FK_L_upperArm_CTRL+ /</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> <strong>FK_R_upperArm_CTRL+</strong></summary>

**Type:** primary control

can be controlled in its *rotation*

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>FK_L_lowerArm_CTRL+ /</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> <strong>FK_R_lowerArm_CTRL+</strong></summary>

**Type:** primary control

can be controlled in its *rotation*

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>FK_L_hand_CTRL+ /</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> <strong>FK_R_hand_CTRL+</strong></summary>

**Type:** primary control

can be controlled in its *rotation*

</details>

<div data-full-width="true"><figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FYvZj8gTfbCUGCc9IDI4V%2Fcc4d_doku_overview_08.gif?alt=media&amp;token=4512f454-cba2-4ccf-8fff-2a94b3a0c9b8" alt=""><figcaption><p><em>Snap FK to IK</em> parameter of the HAND_L_CTRL+</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FKGVK4oLm6o4rXfHzVkqK%2Fcc4d_doku_overview_09.gif?alt=media&amp;token=8c748cd3-e8a1-4f2f-80c0-965153d19e31" alt=""><figcaption><p><em>World/Local</em> parameter of the HAND_L_CTRL+</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2F5gp6qRgFWGTdfCk0Xv8G%2Fcc4d_doku_overview_10.gif?alt=media&amp;token=61bab6ea-8415-43ba-8e75-dc98387bc898" alt=""><figcaption><p><em>FK follow Shoulder</em> parameter of the HAND_L_CTRL+</p></figcaption></figure></div>

***

### Finger Controls <a href="#control-rig-finger" id="control-rig-finger"></a>

* The finger controls are also located inside the **arm\_L\_CTRL\_GRP / arm\_R\_CTRL\_GRP** Null&#x20;
* It offers a set of <mark style="background-color:orange;">FK controls</mark> and a set of <mark style="background-color:blue;">IK controls</mark> for each finger as well as a secondary <mark style="background-color:yellow;">'finger' control</mark> ( :orange\_circle: **fingers\_L\_CTRL+ /** :blue\_circle: **fingers\_R\_CTRL+** ) wich holds additional controls for creating quick gestures directly in the viewport
* The main :orange\_circle: **HAND\_L\_CTRL+ /** :blue\_circle: **HAND\_R\_CTRL+**  also holds a set of additional parameters under the **FINGER CTRL** tab in the *Attributes Manager* and as HUD elements in the viewport when the control is selected
* The **CC4D Control Rig** supports characters with up to 5 fingers

<div data-full-width="true"><figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2F2iEFUA5a9dAaFllROttS%2Fcc4d_doku_overview_09.png?alt=media&amp;token=1d191260-6866-43bf-9830-65bb8b44882b" alt=""><figcaption><p>Finger CTRL hierarchy</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FOFKqcdAnhn448SR0WEFi%2Fcc4d_doku_overview_10.png?alt=media&amp;token=01a12ac0-8fa4-4a67-9a95-94ddf68f5685" alt=""><figcaption><p>Additional Finger CTRL parameters on the HAND_L_CTRL+</p></figcaption></figure></div>

#### Finger FK Controls

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> thumb_L_01_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> thumb_L_02_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> thumb_L_03_CTRL+<br><span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> thumb_R_01_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> thumb_R_02_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> thumb_R_03_CTRL+</summary>

**Type:** primary control

a set of controls that can be controlled in their *rotation* forward from the root to the tip of the finger

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> index_L_01_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> index_L_02_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> index_L_03_CTRL+<br><span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> index_R_01_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> index_R_02_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> index_R_03_CTRL+</summary>

**Type:** primary control

a set of controls that can be controlled in their *rotation* forward from the root to the tip of the finger

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> mid_L_01_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> mid_L_02_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> mid_L_03_CTRL+<br><span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> mid_R_01_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> mid_R_02_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> mid_R_03_CTRL+</summary>

**Type:** primary control

a set of controls that can be controlled in their *rotation* forward from the root to the tip of the finger

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> ring_L_01_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> ring_L_02_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> ring_L_03_CTRL+<br><span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> ring_R_01_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> ring_R_02_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> ring_R_03_CTRL+</summary>

**Type:** primary control

a set of controls that can be controlled in their *rotation* forward from the root to the tip of the finger

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> pinky_L_01_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> pinky_L_02_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> pinky_L_03_CTRL+<br><span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> pinky_R_01_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> pinky_R_02_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> pinky_R_03_CTRL+</summary>

**Type:** primary control

a set of controls that can be controlled in their *rotation* forward from the root to the tip of the finger

</details>

#### Finger IK Controls

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> thumb_L_IK_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> thumb_R_IK_CTRL+</summary>

**Type:** primary control

can be controlled in its *position* and *rotation*

**Additional Parameters (RESET):**

* **Reset Parameters:** \
  Resets all additional parameters of the \
  :orange\_circle: **thumb\_L\_IK\_CTRL+ /** :blue\_circle: **thumb\_R\_IK\_CTRL+**

**Additional Parameters (FINGER CTRL):**

* **Lock:** 0 - 100% | Default: 0%\
  Locks the IK finger control in its place
* **Twist:** -90° - 90° | Default: 0°\
  controls the twisting of the finger (when in IK mode)<br>

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> index_L_IK_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> index_R_IK_CTRL+</summary>

**Type:** primary control

can be controlled in its *position* and *rotation*

**Additional Parameters (RESET):**

* **Reset Parameters:** \
  Resets all additional parameters of the \
  :orange\_circle: **index\_L\_IK\_CTRL+ /** :blue\_circle: **index\_R\_IK\_CTRL+**

**Additional Parameters (FINGER CTRL):**

* **Lock:** 0 - 100% | Default: 0%\
  Locks the IK finger control in its place
* **Twist:** -90° - 90° | Default: 0°\
  controls the twisting of the finger (when in IK mode)

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> mid_L_IK_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> mid_R_IK_CTRL+</summary>

**Type:** primary control

can be controlled in its *position* and *rotation*

**Additional Parameters (RESET):**

* **Reset Parameters:** \
  Resets all additional parameters of the \
  :orange\_circle: **mid\_L\_IK\_CTRL+ /** :blue\_circle: **mid\_R\_IK\_CTRL+**

**Additional Parameters (FINGER CTRL):**

* **Lock:** 0 - 100% | Default: 0%\
  Locks the IK finger control in its place
* **Twist:** -90° - 90° | Default: 0°\
  controls the twisting of the finger (when in IK mode)

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> ring_L_IK_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> ring_R_IK_CTRL+</summary>

**Type:** primary control

can be controlled in its *position* and *rotation*

**Additional Parameters (RESET):**

* **Reset Parameters:** \
  Resets all additional parameters of the \
  :orange\_circle: **ring\_L\_IK\_CTRL+ /** :blue\_circle: **ring\_R\_IK\_CTRL+**

**Additional Parameters (FINGER CTRL):**

* **Lock:** 0 - 100% | Default: 0%\
  Locks the IK finger control in its place
* **Twist:** -90° - 90° | Default: 0°\
  controls the twisting of the finger (when in IK mode)

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> pinky_L_IK_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> pinky_R_IK_CTRL+</summary>

**Type:** primary control

can be controlled in its *position* and *rotation*

**Additional Parameters (RESET):**

* **Reset Parameters:** \
  Resets all additional parameters of the \
  :orange\_circle: **pinky\_L\_IK\_CTRL+ /** :blue\_circle: **pinky\_R\_IK\_CTRL+**

**Additional Parameters (FINGER CTRL):**

* **Lock:** 0 - 100% | Default: 0%\
  Locks the IK finger control in its place
* **Twist:** -90° - 90° | Default: 0°\
  controls the twisting of the finger (when in IK mode)

</details>

<div><figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FSJrPbDWLSB1PC7cqi50T%2Fcc4d_doku_overview_11.gif?alt=media&amp;token=4384af6b-7890-47c5-933a-729753631a22" alt=""><figcaption><p>Finger controls in FK mode</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FyIOtjBE0i3JfSVZTlfTt%2Fcc4d_doku_overview_12.gif?alt=media&amp;token=db109456-3ef0-4de4-8687-3dd8fd67d9fc" alt=""><figcaption><p>Finger controls in IK mode</p></figcaption></figure></div>

#### Secondary Finger Controls

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>HAND_L_CTRL+ /</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> <strong>HAND_R_CTRL+</strong> </summary>

**Type:** secondary Control ( Additional Parameters )

**FINGER CTRL -> CTRL VISIBILITY:**

* **Finger CTRL:** Show/Hide the secondary :orange\_circle: **fingers\_L\_CTRL+ /** :blue\_circle: **fingers\_R\_CTRL+**
* **Thumb CTRL:** Show/Hide all the controls of the thumb
* **Index CTRL:** Show/Hide all the controls of the index finger
* **Mid CTRL:** Show/Hide all the controls of the mid finger
* **ring CTRL:** Show/Hide all the controls of the ring finger
* **pinky CTRL:** Show/Hide all the controls of the pinky finger

**FINGER CTRL -> THUMB CTRL:**

* **Thumb snap FK to IK:** \
  snaps the FK controls to the IK position of the thumb
* **Thumb FK/IK:** 0 - 100% | Default: 0 %\
  blends between the Thumb FK and IK Controls
* **Thumb Curl:** -100 - 100% | Default: 0 %\
  controls the curling of the thumb&#x20;
* **Thumb Bend:** -100 - 100% | Default: 0 %\
  controls the bending of the thumb&#x20;
* **Thumb Spread:** -100 - 100% | Default: 0 %\
  controls the spreading of the thumb&#x20;

**FINGER CTRL -> INDEX CTRL:**

* **Index snap FK to IK:** \
  snaps the FK controls to the IK position of the index finger
* **Index FK/IK:** 0 - 100% | Default: 0 %\
  blends between the index finger FK and IK Controls
* **Index Curl:** -100 - 100% | Default: 0 %\
  controls the curling of the index finger&#x20;
* **Index Bend:** -100 - 100% | Default: 0 %\
  controls the bending of the index finger&#x20;
* **Index Spread:** -100 - 100% | Default: 0 %\
  controls the spreading of the index finger

**FINGER CTRL -> MID CTRL:**

* **Mid snap FK to IK:** \
  snaps the FK controls to the IK position of the mid finger
* **Mid FK/IK:** 0 - 100% | Default: 0 %\
  blends between the mid finger FK and IK Controls
* **Mid Curl:** -100 - 100% | Default: 0 %\
  controls the curling of the mid finger&#x20;
* **Mid Bend:** -100 - 100% | Default: 0 %\
  controls the bending of the mid finger&#x20;
* **Mid Spread:** -100 - 100% | Default: 0 %\
  controls the spreading of the mid finger

**FINGER CTRL -> RING CTRL:**

* **Ring snap FK to IK:** \
  snaps the FK controls to the IK position of the ring finger
* **Ring FK/IK:** 0 - 100% | Default: 0 %\
  blends between the ring finger FK and IK Controls
* **Ring Curl:** -100 - 100% | Default: 0 %\
  controls the curling of the ring finger&#x20;
* **Ring Bend:** -100 - 100% | Default: 0 %\
  controls the bending of the ring finger&#x20;
* **Ring Spread:** -100 - 100% | Default: 0 %\
  controls the spreading of the ring finger

**FINGER CTRL -> PINKY CTRL:**

* **Pinky snap FK to IK:** \
  snaps the FK controls to the IK position of the pinky finger
* **Pinky FK/IK:** 0 - 100% | Default: 0 %\
  blends between the pinky finger FK and IK Controls
* **Pinky Curl:** -100 - 100% | Default: 0 %\
  controls the curling of the pinky finger&#x20;
* **Pinky Bend:** -100 - 100% | Default: 0 %\
  controls the bending of the pinky finger&#x20;
* **Pinky Spread:** -100 - 100% | Default: 0 %\
  controls the spreading of the pinky finger

**SETUP:**

* **Adjust IK Controls:** \
  Toggles the visibility of some helper Null Objects in the viewport when the fingers are in FK mode to adjust the position of the fingers IK Controls

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> fingers_L_CTRL+ <strong>/</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> fingers_R_CTRL+</summary>

**Type:** secondary Control&#x20;

can be controlled in its *position* and *scale (Z) to drive the* **curl, bend** and **spread** poses of all fingers directly in the viewport. It also holds individual viewport controls for each finger. The poses can also still be driven with the additional **curl, bend** and **spread** parameters on the :orange\_circle: **HAND\_L\_CTRL+ /** :blue\_circle: **HAND\_R\_CTRL+**&#x20;

* **X position:** controls the curl pose of the fingers
* **Y position:** controls the bend pose of the fingers
* **Z position:** directional multiplicator for the curl & bend poses of the fingers
* **Z Scale:** (Object Mode): controls the spread pose of the fingers

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> finger_L_thumb_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> finger_R_thumb_CTRL+</summary>

**Type:** secondary Control&#x20;

can be controlled in its *position (X,Y)* to drive the **curl** and **bend** poses of the thumb directly in the viewport

* **X position:** controls the curl pose of the thumb
* **Y position:** controls the bend pose of the thumb

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> finger_L_index_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> finger_R_index_CTRL+</summary>

**Type:** secondary Control&#x20;

can be controlled in its *position (X,Y)* to drive the **curl** and **bend** poses of the index finger directly in the viewport

* **X position:** controls the curl pose of the index finger
* **Y position:** controls the bend pose of the index finger

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> finger_L_mid_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> finger_R_mid_CTRL+</summary>

**Type:** secondary Control&#x20;

can be controlled in its *position (X,Y)* to drive the **curl** and **bend** poses of the mid finger directly in the viewport

* **X position:** controls the curl pose of the mid finger
* **Y position:** controls the bend pose of the mid finger

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> finger_L_ring_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> finger_R_ring_CTRL+</summary>

**Type:** secondary Control&#x20;

can be controlled in its *position (X,Y)* to drive the **curl** and **bend** poses of the ring finger directly in the viewport

* **X position:** controls the curl pose of the ring finger
* **Y position:** controls the bend pose of the ring finger

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> finger_L_pinky_CTRL+ / <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> finger_R_pinky_CTRL+</summary>

**Type:** secondary Control&#x20;

can be controlled in its *position (X,Y)* to drive the **curl** and **bend** poses of the pinky finger directly in the viewport

* **X position:** controls the curl pose of the pinky finger
* **Y position:** controls the bend pose of the pinky finger

</details>

<figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FHXBJV3ZbeqN4TdjJHME9%2Fcc4d_doku_overview_13.gif?alt=media&amp;token=3f7821fb-9af7-4f11-af16-228299219c43" alt=""><figcaption><p>secondary finger controls for quick gestures</p></figcaption></figure>

### Finger IK Control adjustment

The position of the finger IK controls can be adjusted to fit to the needs of your character.

* make sure the **FK/IK Mode** of the finger you want to adjust is set to **FK**
* select the :orange\_circle: **HAND\_L\_CTRL+ /** :blue\_circle: **HAND\_R\_CTRL+** and check the **Adjust IK Controls** checkbox under the **SETUP** tab in the *Attributes Manager*
* this will give you some helper null objects in the viewport
* adjust the position of those helpers to your liking and make sure to freeze its position after you are done
* select the :orange\_circle: **HAND\_L\_CTRL+ /** :blue\_circle: **HAND\_R\_CTRL+** and uncheck the **Adjust IK Controls** checkbox under the **SETUP** tab in the *Attributes Manager* to hide the positin helpers
* set the **FK/IK Mode** of the adjusted finger to **IK**&#x20;
* select the IK control of the finger and also freeze its position

<figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FpmDGezjIQvbTUOlKH5EM%2Fcc4d_doku_overview_22.gif?alt=media&amp;token=2f75bb34-2817-4b2c-a49c-68b138b8754e" alt=""><figcaption><p>Adjusting the position of the finger IK controls</p></figcaption></figure>

***

### Leg Controls <a href="#control-rig-leg" id="control-rig-leg"></a>

* The leg control objects can be found inside the **leg\_L\_CTRL\_GRP / leg\_R\_CTRL\_GRP** Null Object with the :orange\_circle: **FOOT\_L\_CTRL+ /** :blue\_circle: **FOOT\_R\_CTRL+** as its main controller
* it offers a set of *<mark style="color:blue;">IK controls</mark>* as well as a set of *<mark style="color:orange;">FK controls</mark>*
* with the **IK/FK blend** parameter on the :orange\_circle: **FOOT\_L\_CTRL+ /** :blue\_circle: **FOOT\_R\_CTRL+** you can blend between IK mode & FK mode

<div data-full-width="true"><figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2F5bsmwL0TaaSTvf0Lb0tT%2Fcc4d_doku_overview_11.png?alt=media&amp;token=cc70cb77-b606-4aae-a308-db6af62bd1cf" alt=""><figcaption><p>Leg Control hierarchy</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FtI7JPGMZLeNQveXzDZ2B%2Fcc4d_doku_overview_14.gif?alt=media&amp;token=935ee802-e3d6-40b0-88cf-1aefb62f6075" alt=""><figcaption><p>Leg Controls in IK mode</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FjPBaspGFpojjm1eRsgq0%2Fcc4d_doku_overview_15.gif?alt=media&amp;token=31e7cde4-d8cf-41c9-9e60-8a5fb577869e" alt=""><figcaption><p>Leg Controls in FK mode</p></figcaption></figure></div>

#### Leg IK Controls

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> FOOT_L_CTRL+ <strong>/</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> FOOT_R_CTRL+</summary>

**Type:** primary IK controler

can be controlled in its *position* and *rotation*

**Additional Parameters (RESET)**

* **Reset Parameters:** \
  Resets all additional parameters of the :orange\_circle: **FOOT\_L\_CTRL+ /** :blue\_circle: **FOOT\_R\_CTRL+**&#x20;

**Additional Parameters (LEG CTRL -> IK/FK SETTINGS):**

* **snap FK to IK:** \
  snaps the FK controls to the position of the IK position of the arm
* **IK/FK blend:** 0 - 100% | Default: 0 %\
  blends between the arm IK and FK Controls
* **IK World/Local:** 0 - 100% | Default: 0%\
  blends between the world position (MASTER\_CTRL+)\
  and the local position (HIP\_CTRL+) of the :orange\_circle: **FOOT\_L\_CTRL+ /** :blue\_circle:**FOOT\_R\_CTRL+**

**Additional Parameters (LEG CTRL -> MAIN SETTINGS):**

* **Overwrite Rotation Order:** \
  this will activate the overwrite value for the rotation order of the \
  :orange\_circle: **FK\_L\_upperLeg\_CTRL+,** :orange\_circle: **FK\_L\_lowerLeg\_CTRL+,** :orange\_circle: **FK\_L\_foot\_CTRL+,**\
  :orange\_circle: **FOOT\_L\_CTRL+,** :orange\_circle: **knee\_L\_CTRL+**\
  :blue\_circle:**FK\_L\_upperLeg\_CTRL+,** :blue\_circle: **FK\_L\_lowerLeg\_CTRL+,** :blue\_circle:**FK\_L\_foot\_CTRL+,**\
  :blue\_circle:**FOOT\_L\_CTRL+,** :blue\_circle:**knee\_L\_CTRL+**
* **Rotation Order:** \
  Overwrite value for the controls above
* **Reset Rotation Order:** \
  Resets the rotation order for the controls above to their default values, which can be found under the setup tab of the :orange\_circle: **FOOT\_L\_CTRL+ /** :blue\_circle: **FOOT\_R\_CTRL+**
* **Knee Lock:** 0 - 100% | Default: 0 %\
  Locks the secondary :orange\_circle: **knee\_L\_CTRL+ /** :blue\_circle: **knee\_L\_CTRL+** in place
* **Knee Rotation:** -180° - 180° | Default: 0°\
  for manual adjustment of the knee rotation

**Additional Parameters (LEG CTRL -> SETUP):**

* **Rotation Order defaults:** \
  the default values for all the leg controls listed under 'Overwrite Rotation Order'\
  (if those values are changed they have to be 'initialized' by reseting the rotation order)

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>knee</strong>_L_POLE <strong>/</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> <strong>knee_R_POLE</strong></summary>

**Type:** primary control

can be controlled in its *position*

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>knee_L_CTRL+ /</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> <strong>knee_R_CTRL+</strong></summary>

**Type:** secondary control

can be controlled in its *position* and *rotation*

</details>

#### Leg FK Controls

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>FK_L_upperLeg_CTRL+ /</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> <strong>FK_R_upperLeg_CTRL+</strong></summary>

**Type:** primary control

can be controlled in its *rotation*

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>FK_L_lowerLeg_CTRL+ /</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> <strong>FK_R_lowerLeg_CTRL+</strong></summary>

**Type:** primary control

can be controlled in its *rotation*

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> <strong>FK_L_foot_CTRL+ /</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> <strong>FK_R_foot_CTRL+</strong></summary>

**Type:** primary control

can be controlled in its *rotation*

</details>

<div data-full-width="true"><figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FVzwylHaEagNGqBCgOAEM%2Fcc4d_doku_overview_16.gif?alt=media&amp;token=8cb62a92-55b0-4c96-95c7-5718bb861169" alt=""><figcaption><p><em>Snap FK to IK</em> parameter of the FOOT_L_CTRL+</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FZ9AuRu1QtROElppbM1mC%2Fcc4d_doku_overview_17.gif?alt=media&amp;token=26bdad42-1da8-43df-991e-7f1f03c024cc" alt=""><figcaption><p><em>World/Local</em> parameter of the FOOT_L_CTRL+</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FbePAFDFYqxFQzMd9WI1E%2Fcc4d_doku_overview_18.gif?alt=media&amp;token=41128a86-d2f4-4849-8f5e-b731d2412cc9" alt=""><figcaption><p><em>Knee rotation</em> parameter of the FOOT_L_CTRL+</p></figcaption></figure></div>

***

### Foot Controls <a href="#control-rig-foot" id="control-rig-foot"></a>

* The foot control objects are also located inside the **leg\_L\_CTRL\_GRP / leg\_R\_CTRL\_GRP** Null
* They consist of the :orange\_circle: **TOE\_L\_CTRL+ /** :blue\_circle: **TOE\_R\_CTRL+** wich drives the rotation of the toes and the sideway rotation of the foot from its ball and the :orange\_circle:**BALL\_L\_CTRL+ /** :blue\_circle:**BALL\_R\_CTRL+**\
  driving the heel, ball & toe rotation as well as the inner & outer rock rotation of the foot
* The  :orange\_circle: **FOOT\_L\_CTRL+ /** :blue\_circle: **FOOT\_R\_CTRL+** also holds additional parameters to control those rotations individually

<div data-full-width="true"><figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FoUNUvfN3eSWPb5auIxeD%2Fcc4d_doku_overview_12.png?alt=media&amp;token=c09ef34c-a53e-4055-9b2c-fdbb8926a1e6" alt=""><figcaption><p>Foot Control hierarchy</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2FVdOaCxtDeoKmHfr3q8Y7%2Fcc4d_doku_overview_19.gif?alt=media&amp;token=0ee8aa8d-188c-4400-923d-d99345c3fa33" alt=""><figcaption><p>rotation of the TOE_L_CTRL+</p></figcaption></figure> <figure><img src="https://4247397058-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2F4rY7qfoEHOU90hT8C4vl%2Fcc4d_doku_overview_20.gif?alt=media&amp;token=05f40e94-2aad-4d86-8096-8f95102eb932" alt=""><figcaption><p>BALL_L_CTRL+ and additional parameters of the FOOT_L_CTRL+ </p></figcaption></figure></div>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> TOE_L_CTRL+ <strong>/</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> TOE_R_CTRL+</summary>

**Type:** primary Control&#x20;

can be controlled in its *rotation (H,P)*

* **H rotation:** controls the sideway rotation of the foot from its ball
* **P rotation:** controls the bending of the toes

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> BALL_L_CTRL+ <strong>/</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> BALL_R_CTRL+</summary>

**Type:** secondary Control&#x20;

can be controlled in its *position (X,Z)*

* **X position:** controls the inner & outer rock rotation of the foot
* **Z position:** controls the heel, ball & toe rotation&#x20;

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f7e0">🟠</span> FOOT_L_CTRL+ <strong>/</strong> <span data-gb-custom-inline data-tag="emoji" data-code="1f535">🔵</span> FOOT_R_CTRL+</summary>

**Type:** secondary Control (Additional Parameters)&#x20;

**LEG CTRL -> FOOT CTRL**

* **Individually:** when checked the rotations can be controlled with the sliders on the \
  :orange\_circle: **FOOT\_L\_CTRL+ /** :blue\_circle: **FOOT\_R\_CTRL+ otherwise the sliders will be driven by the** \
  :orange\_circle: **BALL\_L\_CTRL+ /** :blue\_circle: **BALL\_R\_CTRL+**
* **Heel Rotation:** 0 - 100% | Default: 0%\
  controls rotation of the foot from the heel
* **Ball Rotation:** 0 - 100% | Default: 0%\
  controls rotation of the foot from the ball
* **Toe Rotation:** 0 - 100% | Default: 0%\
  controls rotation of the foot from the toes
* **Ball Rock:** -100 - 100% | Default: 0%\
  controls the inner and outer ball rock rotations

**LEG CTRL -> LEG SETUP**

* **Auto Toe Bend**: 0 - 100% | Default: 0%\
  Enables the automatic rotation of the toe when the **Ball Rotation** is triggered
* **Auto Toe Angle**: 0° - 360° | Default: 4°\
  Defines the Angle of the **Auto Toe Bend**
* **Show CTRL frame:** \
  Toggles the visibility of a frame for the :orange\_circle: **BALL\_L\_CTRL+ /** :blue\_circle: **BALL\_R\_CTRL+**
* **Adjust Foot Pivots:** \
  Toggles the visibility of some helper Null Objects in the viewport to adjust the position of the foots rotational pivots in *Axis Mode*<br>

</details>

### Foot Control adjustment

The :orange\_circle: **FOOT\_L\_CTRL+ /** :blue\_circle: **FOOT\_R\_CTRL+** also holds some extra setup parameters for quick adjustment of the foot rotational pivots (heel, toe & ball rock) as well as an *Auto Toe bend* option for characters of wich the toe tip / shoe tip is not on the ground.&#x20;

#### Adjusting the heel, toe & ball rock pivots

* Select the :orange\_circle: **FOOT\_L\_CTRL+ /** :blue\_circle: **FOOT\_R\_CTRL+**
* under the **LEG SETUP** tab in the *Attributes Manager* check the **Adjust Foot Pivots** checkbox
* this will show the rotational pivots of the foot in the viewport
* select one of the pivots, activate the *Axis Modification Mode \[L]* and move the pivot in to the right spot
* disable the *Axis Modification Mode \[L]* to select the next pivot and activate *Axis Mode* again to move this pivot in the right spot
* Once all the pivots are in their correct position you can uncheck the **Adjust Foot Pivots** checkbox on the :orange\_circle: **FOOT\_L\_CTRL+ /** :blue\_circle: **FOOT\_R\_CTRL+** again to hide the pivots

#### Auto Toe Bend <a href="#auto-toe-bend" id="auto-toe-bend"></a>

* to enable the Auto Toe Bend option select the :orange\_circle: **FOOT\_L\_CTRL+ /** :blue\_circle: **FOOT\_R\_CTRL+**&#x20;
* in the *Attributes Manager* under the *LEG SETUP* tab set the **Auto Toe Bend** slider to 100%
* select the :orange\_circle: **BALL\_L\_CTRL+ /** :blue\_circle: **BALL\_R\_CTRL+** and move it on the Z axis right before the foot starts to rotate from the toe pivot
* select the :orange\_circle: **FOOT\_L\_CTRL+ /** :blue\_circle: **FOOT\_R\_CTRL+**&#x20;
* in the *Attributes Manager* under the *LEG SETUP* tab dial in the **Auto Toe Angle** until the toes are aligned with the ground

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEJ2tuWEwbI5z7m6uDYq6%2Fuploads%2Fxwf3WFa6WaBe1gyrvrUl%2Fcc4d_doku_overview_21.mp4?alt=media&token=f86940ab-9fea-4106-a119-48a87cd8fb10>" %}
Adjusting the rotational pivots of the foot and the *Auto Toe bend* option
{% endembed %}
