---

# Ep.0 — Why It Was Built · Squash & Stretch · The Reality of Rigging Pipelines

> slug: ep00-intro

https://youtu.be/QIkUKj2gXl0?si=WeA7K1R26MOcZbce

## Overview

This is an introductory video explaining **why BipedPlus was built**, what **rigging and pipeline problems** repeat themselves on the ground, and **in what direction** this tool aims to solve them.  
The focus is on understanding the **background and philosophy** rather than how to press tool buttons.

## Key Topics Covered in This Video

### 1. The Recurring Foundation Work of Rigging

Working as a Technical Artist or lead rigger across many productions, the same work repeats every time you move to a new studio.

- Rebuilding rigging guidelines, naming conventions, and bone systems **from scratch**
- Repeating the climb from **the very beginning (level 1–5)** to production level (video: level 30) at startups, mid-sized studios, and large companies alike
- The experience of a fundamentally similar foundation being **reset every project** due to different circumstances

BipedPlus aims to **reduce this repeated cost** and let you start working immediately on a shared foundation.

### 2. Squash & Stretch and Korean Games

**Squash & Stretch**, the first of the 12 principles of animation, is essential for exaggeration, rhythm, and liveliness.

- Even just watching in-game footage, **the presence or absence of Squash & Stretch** makes a huge difference in expressiveness
- Overseas and global titles like Genshin Impact and Overwatch make bold use of bone deformation
- In Korean in-game footage, there are many cases where the technique was not used because **the rigging system could not support it**
- **It is not impossible because of the game engine.** It is entirely possible with the right structure

BipedPlus aims to support **Stretch/Squash/Scale expression** at the rigging stage so animators can achieve the exaggeration they want.

### 3. The Fragmented Tool Environment

The 3ds Max rigging ecosystem has many useful scripts and plugins, but they are **scattered everywhere**.

- No common standard, so knowledge accumulates only as **individual know-how**
- Difficult to find out which tools are current or recommended

BipedPlus is **not an all-purpose tool.** The direction is to consolidate the functions needed for advanced Biped-based rigging builds and animation assistance into **one package**.

### 4. Rigging Is an Important Part That Is Often Invisible

- Modeling, animation, and effects are easy to give feedback on through **visuals**
- Rigging is about **data structure, efficiency, and pipeline**, which is hard for art directors and PDs to relate to
- Even so, respecting the opinions of **1–2 animation TAs and riggers** can prevent problems like those below

#### A Real Production Case: FBX Export Hell

- **Each character had its own export method** (presence of root, axis orientation, weapon inclusion, etc.)
- **Animators rigging on their own** without riggers/TAs → impossible to unify rules
- The more scenes and characters, the more **weeks spent on manual export**
- There are cases where **80 hours → 3 hours** after automation and rule unification

**Lesson:** Even if the visuals are great, the entire schedule falls apart if the **internal pipeline** breaks down.

### 5. The Unique Traps of Biped — The Clavicle Example

In Biped's default settings, the Clavicle is set to **4 bones**, and the connection to the Spine can also be **structurally awkward**.

- **Unintended influence** propagates to neck and shoulder movements
- Once the **bone connection structure (parent–child relationship)** is misaligned and animation accumulates on top of it, it is **hard to undo**

BipedPlus aims to reduce these bottlenecks by consistently providing **bone connection structures and skin bone placements suited to game engines**.

### 6. What BipedPlus Aims For

| Goal | Description |
|------|------|
| **Engine-appropriate bone structure** | Provides connection and axis orientations for Unreal, Unity, etc. |
| **Stretch/Squash/Scale** | Expands animator expressiveness |
| **Full package** | Build, Figure, Skin, Picker, Ani Utils, and more in one tool |
| **Guideline sharing** | Provides documents at the level of **common knowledge** for naming and bone rules |
| **Raising the middle baseline** | Pulling the gap in on-the-ground rigging up to a **minimum standard** |

Regardless of company size or infrastructure level (level 5–60), the goal is to help with **practical skills you can use immediately** and **pipeline organization**.

## BipedPlus UI Preview (End of Video)

The actual tool interface is **briefly** introduced in the latter part of the video.

- **Panel docking** — Using BipedPlus attached to the side of 3ds Max
- Various expression and assistance features like Stretch/Squash **after Build**
- From ep.1 onward, tutorials proceed in order starting from the **Build tab**

## Who This Is Especially Helpful For

- Those who need to **create rigging guidelines from scratch** at every new company
- Animators and TAs working with Biped who want to use **Squash & Stretch**
- Productions where **export and pipeline** differ per character
- Teams who want to establish a standard in an **early-stage project** with no infrastructure

## To Managers and Team Leads

- **Animation Technical Artists and riggers** play the role of **lubricant** for the art team. You don't need many
- Proposals for file structure, export rules, and reference structure are **realistically applied** only when team leads and art directors understand and make decisions
- Even though rigging doesn't directly show on screen, it **supports the quality of modeling, animation, and effects**

---

# Ep.1 — Preset · Biped Style · Build Tab

> slug: ep01-build-tab

https://youtu.be/d3HgGbj8TLM?si=7GT2egRDRg3KTW3N

## Overview

This is the process of setting up the basic rigging skeleton in the **Build tab** after launching BipedPlus for the first time and creating it with **Build**.  
Preset, Human/Beast type, and options such as Spine, Twist, Hip, and Prop are all configured at once.

## Prerequisites

- BipedPlus is **installed in 3ds Max and attached as a panel**
- Example character mesh (video: Mabel) or your own project character

> **Build tab** = The settings screen used **when first creating a rig**. Here you choose options and press the **Build** button to generate bones and controllers.

## Step-by-Step Guide

### 1. Preset

1. Check the **Preset** area at the top of the Build tab.
2. Save frequently used option combinations per production with **Save** or **Save As**.
3. When switching to another project, load the saved Preset to switch quickly.
4. The video proceeds with **default values**.

### 2. Biped Style (Human / Beast)

| Type | Use |
|------|------|
| **Human** | Standard humanoid character |
| **Beast** | Animal type — different structure with **4 Leg Links**, etc. |

1. Select **Human** or **Beast** according to the character type.
2. For Beast, preview in a new scene to verify the full structure (4 leg links, etc.), then choose the type that fits the target character.
3. The example character (Mabel) uses **Human** + height **170** (adjust as needed; can also be reset in Figure Mode).

### 3. Build Option Settings

#### Spine · Leg · Finger

- **Spine**: Number of Biped spine bones
- **Leg Link**: Default 3 (Thigh–Knee–Foot, etc.)
- **Finger**: 5, confirm link count

#### Twist

- Default **3** — 3 for Upper Arm and 3 for Forearm each, relative to the elbow
- **3 recommended** for subculture and console-level games (Wuthering Waves, Genshin Impact, etc.)
- When Leg Link is **4 (Beast)**, **Horse Link** also gets 3 added per side

#### Hip · Extra (6-Dart)

- When the **Hip** is raised, **6** small controllers that **correct the surrounding area** so the skirt and waist don't look awkward are created. (Called "6-Dart" in the video.)
- For skirt characters, simply enable the **skirt option**.

#### Corrective

- **Knee and elbow** Corrective bones — naturally corrects to about 45° when arms and legs bend 90°
- **Recommended to check by default**

#### Prop

| Count | Result |
|---------|------|
| 1 | One side |
| 2 | Both sides |
| 3 | Both sides + center |

Example character has no weapons → **uncheck all**

#### Rigging Info

- Whether to create a **configuration block** containing information needed for **mirror, default pose, and reset**.
- **Recommended to check (create)** — connects to the mirror and reset functions in Ep.9–14.

#### Engine

| Engine | "Up" direction |
|------|-------------|
| **Unreal** | Z-axis up |
| **Unity** | Y-axis up |

**Why it matters:** Set this to match **the game engine your team uses** so the character doesn't end up lying down or flipped **when exporting** via FBX, etc. (Example: Unreal)

#### Init Package

- An option that determines whether to **use previously saved joint placement** from Figure Mode (Ep.2–3) **as-is when Building**.
- For the **first Build**, there is no saved data yet, so **uncheck** — create without Init.

### 4. Running Build

1. Review the options **one more time**.
2. Press the **Build** button. (In the video, Build is done after confirming defaults.)
3. After completion, verify that **bones and controllers** have appeared in the viewport. — It is **normal if the position doesn't match the mesh yet**. You'll align them in Ep.2 Figure Mode.

## Concept Reinforcement

- **Tail Link** is planned to be added in a future update.
- Build options are the same as Biped Figure options, but BipedPlus has them organized in a **more readable layout**.
- Even though the UI may look like a lot, the actual flow is just **set options → Build** once.

## Notes

- When switching between Beast/Human, the **Leg Link and Horse Link** structure changes. Finalize the character type first.
- The Engine setting must match **the export axis**. Check your project's conventions.

---

# Ep.2 — Figure Mode 1 · Character Proportions & Bone Placement

> slug: ep02-figure-mode-1

https://youtu.be/_-NezYThaoA?si=WbMVpdem4V45f7Cd

## Overview

This is the step of aligning the **skeleton** created with Build to **visually overlap** the character mesh.  
In **Figure Mode**, you adjust the overall scale, leg and foot joints, left/right mirror, and Hip position.

> **Figure Mode** = A work mode for "placing this rig to fit **this character's body**." It is a **required** step immediately after Build.

## Prerequisites

- A rig with **Build completed** in Ep.1
- Character mesh present in the scene

## Step-by-Step Guide

### 1. Entering Figure Mode · Overall Scale

1. Navigate to the **Figure Mode** tab.
2. This is the **initial joint placement** phase right after Build — you can later save and reuse Init data in Figure Mode.
3. Adjust the overall character **scale** (e.g., **0.9**).
4. Use **wireframe** display to make it easier to compare mesh and bone positions.
5. Fine-tune to something like **1.03** if too small — **proceed to the next step once roughly aligned, even if not perfect**.

### 2. Default Figure Options

- When the **default Figure options** are checked, the **default position data** of Biped Figure is saved and applied.
- It is recommended to **keep them checked by default**.

### 3. Joint Placement (Hiding the Mesh)

1. **Hide the mesh** or use Figure Mode's default settings (hide mesh and layers) for working speed.
2. Toggle **wireframe and mesh display** from the **layer** area at the bottom as needed.
3. Use the **move joint** button to align each bone position to the mesh joints.

### 4. Thigh — Box Controller Placement

> **Important:** Place based on the **Thigh box controller**, not the Ankle.

1. Work on leg joints primarily in the **Front view**.
2. Align the **Thigh box controller** position to the mesh leg joint.
3. If the character is asymmetric, align **one side first** then use **Mirror** for the other side.

### 5. Foot Settings

1. Align the **Ankle Ball** position.
2. Set the **Toe height** to **0**.
3. Check **foot and leg alignment** from the Front view.

### 6. Align · Mirror · Update

1. Work in the **Front view**. (If the team has a set rule like T-Pose or A-Pose, align to that **default pose**.)
2. **Align** — check that left and right are **symmetrical**.
3. **Mirror** — if only one side has been aligned, copy the same placement to the **other side**.
4. Use 3ds Max **snap (90°/180°)** to verify joints are **standing straight**.
5. Press **Update** (or **Update from Init**) to **save and apply all adjustments made so far to the rig**.  
   → **If you skip this step**, when you exit Figure Mode it may look as though it has **reverted to the original**.
6. Verify that the placement is **maintained** even after **toggling Figure Mode off and on again**.

### 7. Hip Placement

1. The **Hip** is positioned at **the point where the Pelvis and Thigh meet**.
2. Use the Hip-specific view and adjustment in Figure Mode to check that the **connection with the leg** looks natural.
3. Test whether moving the Hip causes the Thigh to **move in sync**.

## Tips

- If there is a production pose rule like **A-Pose**, aligning it **precisely** is better for subsequent skinning and animation.
- The habit of **aligning one side first before mirroring** saves time.
- If you accidentally moved the **Thigh box instead of the Ankle**, re-align based on Thigh again, then Update.

## Notes

- Even one misaligned joint affects the **overall body shape and skinning** — align from the big picture **in order**: Pelvis → Spine → legs.
- Exiting Figure Mode **without Update** may result in **adjustments not being saved** — make step 6 above a habit.

---

# Ep.3 — Figure Mode 2 · Axes · Mirror · Init Save

> slug: ep03-figure-mode-2

https://youtu.be/yKzeD1wRNdg?si=4mqrqt62zYc_-ZRk

## Overview

The **latter half** of Figure Mode — changing the number of Spine and Twist bones, adding/removing Hip and Prop, **saving and loading the Init package**, and how to **Build** using the saved Init.

## Prerequisites

- Joint placement and Update in Ep.2 fully completed

## Step-by-Step Guide

### 1. Correcting Missing Joints Such as Head

1. If there are joints missing after placement, such as **Head**, adjust them again.
2. Confirm normal operation after **Update**.

### 2. Changing the Number of Spine Bones

1. If you need **4 or 5 Spine bones instead of 3**, change the count in the Build/Figure options (e.g., **5**).
2. Press the **Install Change** button.
3. After verifying the changed Spine structure, **Update the joint positions again**.
4. If Clavicle or other bones have shifted slightly forward, apply **manual correction** then Update.

### 3. Changing to 5 Twist Bones (Console Level)

1. If you need **5 Twist** bones for console games, etc., change the Twist option to **5**.
2. Even if an **error message** appears (related to forced file deletion), press **OK** — confirm that it has changed to 5 in Figure Mode.
3. **Picker** may still be based on 3 — if using 5 Twist bones, also set Picker to **5-bone mode** (planned for future update).
4. In the video, it is **restored back to 3** before proceeding.

### 4. Hip · Prop

| Item | Description |
|------|------|
| **Remove Hip** | Can be removed if Hip is unnecessary after aligning arms and legs |
| **Reinstall Hip** | Add back with Install, then **readjust position** |
| **Prop** | Add with Install (e.g., dual swords). Place **Init controller near the hand** |
| **Prop Mirror** | **Prop is not mirrored** — note this |

1. If multiple Props have been added, **delete** unnecessary ones.
2. After adjusting legs and Props, **Update** — confirm that the Prop positions are correct.

### 5. Display Options · Init Save

1. You can view the mesh in **default shape / transparent / wireframe**.
2. Once setup is complete, **Save the Init data**.
3. Saving it allows you to quickly load the same placement for **subsequent work or other characters**.

### 6. Building with Saved Init

**Init file** = A package containing **joint placement, finger positions, Prop locations**, etc. saved in Figure Mode.  
Greatly reduces time **when creating the same body type or similar characters again**.

#### Method A — Init-linked Build from the Build Tab

1. In the Build tab, **enable** the **Build with saved Init package** option.
2. Follow the prompts: **Yes** → **check all items** in the popup and proceed.
3. After Build completes, a rig is created with **the saved joint positions and finger placements applied as-is**.

#### Method B — Load

1. Specify the **saved file** from **Load** in the Build tab or Figure Mode.
2. Figure Mode **Load/Save** alone can reload **placement only**.

## Concept Reinforcement

- **Init** = A snapshot of **joint positions, proportions, and some options** set in Figure Mode. Useful for sharing **standard body types** within a team as files.
- **Knee and elbow Corrective bones**, etc. are planned to be added to Build options in the future.

## Notes

- After changing the number of Spine/Twist bones, **always re-place joints + Update**.
- Prop is **not mirrored** — for dual-hand weapons, place each individually or manage via Init.
- If Twist 5 and Picker 3 are mismatched, the Picker buttons and actual bone count may be out of sync.

---

# Ep.4 — Controller Creation · Biped Shape · Mirror & Naming

> slug: ep04-controller

https://youtu.be/cfZeKpSwXpM?si=nzL2Z8uPX414dXnW

## Overview

After Figure Mode, in the **Controller tab**: adjusting Biped controller **shape**, NURBS Curve scale, **left/right mirror**, **custom controller creation** (Origin/Selected/Offset), and setting **naming prefix and suffix**.

## Prerequisites

- Build + Figure Mode (Init) completed
- Joint positions re-aligned in Figure Mode if necessary

## Step-by-Step Guide

### 1. Controller Tab Overview

- This is the phase of refining **controller position and shape** after Build.
- If the **controller display (flags)** becomes misaligned after changing positions in Figure Mode, they can be **re-aligned in the Controller tab**.

### 2. Biped Shape Editing

1. Enter **Biped Shape** edit mode.
2. Move vertices to adjust the controller **size and form**.
3. Press **Update** to apply the changed shape.
4. For the **other side**: switch to **Flip mode** for editing → use the **R key** to find the **matching Left/Right name** and confirm that the **other side changes as well**.

### 3. NURBS Curve Bulk Scale

1. NURBS Curve controllers have their **source, curves, and points** bundled together, so scaling them only in Max can **slow things down**.
2. Adjust size using **bulk scale** in the Controller tab.
3. Apply the same to the other side **after Flip**.

### 4. Custom Controller Shape

- You can create a **custom shape** in any form you want (detailed in the latter part of the video).

### 5. Controller Creation Modes

| Mode | Description |
|------|------|
| **Origin** | Nothing selected — created at **world origin** |
| **Selected** | Created at the position of the selected bone/object |
| **Offset** | Created at an **offset** position relative to selection |

1. Hiding the character first and pressing the button allows testing like **creating in an empty scene**.
2. The **Selected + Offset** option combination also enables **group-level** placement and rotation.

### 6. Naming (Prefix · Suffix)

1. Use **Prefix / Suffix** to align controller naming conventions.
2. **Symmetric** option — both side names are automatically changed **according to rules** like Left/Right.
3. Changing **only the prefix** triggers a **bulk rename** on both sides.

#### Recommended Rules

- Things that animators **directly interact with** → add a prefix meaning "controller" **at the front** of the name (varies by team, e.g., `Ctrl_`).
- Check team guidelines to avoid **conflicts with Biped's default root names**.

## Concept Reinforcement

- The Controller tab is the **"polish visuals + team naming"** phase — the rigging functionality itself has already been determined in Build/Figure.
- It is common to alternate between **re-adjusting joint positions in Figure Mode** and **refining shapes in the Controller tab**.

## Notes

- Don't forget to **Update** after editing Biped Shape.
- Modifying only one side **without Flip mode** will cause left/right shapes to differ.
- Naming rules must match **production standards** for Picker, Mirror, and export to be consistent.

---

# Ep.5 — Skinning Preparation · Rig/Skin Layer Separation · SkinLayer Studio

> slug: ep05-skinning-prep

https://youtu.be/hGpNiXwD6FY?si=j3j_AbSRPGg0Yk2h

## Overview

This video explains, **before** starting serious skinning (weighting) work, **why BipedPlus separates** the **rigging layer** from the **skin layer**.  
It also covers why 3ds Max **default skinning** is challenging and what **SkinLayer Studio** offers.

## Core Concept: Two Layers

The BipedPlus rig is divided into **two layers with different roles**.

```
[ Rigging Layer ]   Controllers the animator moves, constraints, etc.
       ↕
[ Skin Bone Layer ] Bones that receive mesh weights and are exported to the game engine
```

**Remember:** When assigning weights, attach them to **"Skin Bones"**. Do not skin directly to controllers.

- The **method** of skinning (adding bones, entering values) is similar to standard Max workflow.
- What matters is **which layer's bones you select**.

## 3ds Max Default Skinning — Why It's Difficult

| Problem | In Plain Terms |
|---------|----------------|
| **Dated workflow** | UI and workflow feel **cumbersome** even by 2026 standards |
| **Many bones** | Hard to divide weights by zone for Twist, Corrective, etc. |
| **Higher quality bar** | More polys and bones than old mobile projects — **rough work no longer passes** |
| **Envelope** | Real-time zone editing — can get **complex and slow** |

### Recommendation for BipedPlus Rigs

- Instead of Envelopes, entering **values per vertex directly** is recommended (per the video).
- Rigs with **many bones** like BipedPlus can take **extremely long** if done entirely with the Max Skin Modifier alone.

## What Is SkinLayer Studio

**Layer-based skinning** — stack weights **region by region**, like Photoshop layers.

| Layer Example | Responsible Area |
|---------------|-----------------|
| Pelvis | Pelvis only |
| Spine | Back · Waist |
| Neck | Neck |
| Thigh · Knee | Thigh · Knee |

- Each layer has a **painted mask**, making **edits and left/right mirroring** convenient.
- Even with **complex bones**, work is divided **one region at a time**.
- **Linked to the Max viewport** — check motion in real time while playing back.
- Workflow speed is also **relatively fast** (team experience).

> SkinLayer Studio is a **separate tool from BipedPlus**, but it is being developed by the **same team** and is designed to work alongside skin work.

## Difference from Other Skinning Tools

- **Auto-skin-focused** tools: may be fine for the torso, but have limits for **facial or high-bone-count** characters.
- The approach of **managing zones with layers** (SkinLayer Studio, etc.) is considered **more manageable** by current standards.

## Pre-Practice Checklist

1. Ep.1–4 **Build · Figure · Controller** complete.
2. **Mesh** to skin prepared.
3. Think from **large regions first: pelvis → spine → legs…**
4. Rather than using the Max Skin Modifier **alone**, using **SkinLayer Studio** or the **team's designated skin tool** is recommended.

## Difference from Ep.6

| Ep.5 (This) | Ep.6 (Next) |
|-------------|-------------|
| **Why** to separate, and **which tool** to use for skinning | BipedPlus **Skin tab** for weight **save / load / disable** |

## Notes

- If your team **already has a good skin tool**, use that.
- The Ep.6 **Skin tab** is for **data management** — it is a different screen from **painting** skin.

---

# Ep.6 — Skin Function · Weight Work Preparation & Data Management

> slug: ep06-skin-function

https://youtu.be/Q4i9YjUF-5g?si=pSC7NxVi6aiGLm9I

## Overview

The **Skin tab** is not a screen for **painting** weights — it is a **management** screen for **bulk selecting, disabling, backing up, and restoring** already-skinned meshes.

> **Skin Modifier** = The **skin modifier** applied to a mesh in Max.  
> **SkinLayer Studio** = The **layer-based skin tool** from Ep.5 (similar name, but a **different thing**).

## Prerequisites

- Meshes must have **weights (skin) applied** — work in progress or partially complete using SkinLayer Studio or similar

## Skin Tab — Button by Button

### All Mesh

- Selects **all meshes in the scene that can be skin targets** **at once**.
- Convenient when there are **multiple pieces** of body, clothing, and accessories.

### All Skinned

- Selects only meshes that **already have a Skin Modifier attached**.
- Difference from All Mesh: meshes **not yet skinned** are excluded.

### Enable / Disable Skin

| Button | What It Does |
|--------|-------------|
| **Disable** | **Temporarily turns off** all skin modifiers — when you want to see only the rig and mesh |
| **Enable** | Turns them **back on** |

**When to use:** If you changed a pose and the mesh **looks strangely stretched** → Disable shows only the **raw mesh**, making it easy to tell **whether it's a skin issue**.

### Reset

1. Test after returning to the **default pose (T-Pose, etc.)**.
2. With skin **enabled**, moving only bones can make the mesh **look stretched** — this is **normal behavior**.
3. **Reset** — restores skin and pose-related data to the **initial state**.

### Delete Skin

- **Deletes weights and the Skin Modifier** from selected meshes.
- **All Skin Delete** — deletes **everything** with skin attached (**difficult to undo**).

### Save · Load (Backup & Restore)

1. **Save** — **saves current weights to a file** (backup, or for moving to another scene).
2. **Load** — **loads a saved file**. Usually **clears existing weights** and applies new ones.
3. On success, the mesh display may **change color** or show a UI indicator (varies by version).

#### Recommended Order

```
Save in between work sessions (backup)
    → If you make a mistake, Load (restore)
    → Save before Delete as well
```

## Rigging Info (Brief)

- You can access the **Rigging Info** panel via a nearby button on the Skin tab or a separate button.
- Mirror, reset, and custom controllers are linked to **registration and Update** here (Ep.10·13).

## Notes

- Always **Save** before **Delete All Skin**.
- Disable/Enable alone does **not erase weight values**. Reset and Delete **change the data**.
- If the **bone count or names** differ from when you saved, **Load may fail** → Skin after **Build/Figure is finalized**.

---

# Ep.7 — Edit Utils · Quick Connect · Bone Stretch/Squash

> slug: ep07-edit-utils

https://youtu.be/NveCoPYTWnc?si=8lRmeFFkgfdlrZbN

## Overview

The **Edit Utils** tab contains tools used during the **rig editing and connection** phase.  
Its **role differs from Ani Utils** (animation) — riggers and TAs primarily use Edit Utils when **modifying the rig**.

## Edit Utils vs Ani Utils

| Tab | Who · When | Examples |
|-----|-----------|----------|
| **Edit Utils** | When **creating or modifying** rigging | Bone connection, disabling Stretch |
| **Ani Utils** | When **animating** | Keys, pose mirror, reset |

## Quick Connect — Linking Controllers to Bones

Connects **"move this controller and that bone follows"** in one step.

### Steps (video order)

1. Open **Edit Utils** → Quick Connect area.
2. Add the **driver side** (controllers) to the **controller list**.
3. Add the **driven side** (skin bones, etc.) to the **bone list**.
4. **Find** — auto-selects **name-matched pairs** like Left Arm ↔ Left Arm.
5. Select **Local Matrix Auto Parent** as the connection method → click **Connect**.
6. Move the controller and verify that the **bone follows**.

**Why Local Matrix Auto Parent is recommended:** The structure is **simple**, and it tends to keep **position and rotation close to 0** after connection (also related to simulation tools and Spring Magic in Ep.11).

### Other Connection Methods

- Supports multiple methods such as Point Constraint and Wire Parameters.
- In most cases, **Local Matrix Auto Parent** alone is sufficient.

## Turning Off Stretch / Squash

BipedPlus supports **Stretch & Squash**, but not every bone needs it enabled at all times.

### Why Turn It Off

- When scale is applied to a bone with Stretch **enabled**, the **skinned mesh may stretch along with it**.
- Bones that **will not use Squash & Stretch animation** should have the **Stretch option set to OFF**.

### How To

1. Select the target **bone** in Edit Utils.
2. Turn **off** the **Stretch / Squash** related option.
3. Also check **Align** related options.
4. Test pose and scale → confirm that the **skin tears less**.

> This option may not be available in the Max default Skin Modifier alone, so it is managed in **BipedPlus Edit Utils**.

## Custom Bone Length (Bone Tip)

- Adjust the **bone tip length** in the viewport for a **cleaner appearance** (video second half).
- Using this with **Stretch OFF** cleans up the **display only** without affecting animation.

## Notes

- Matching **naming conventions** (Left/Right, Ctrl prefix, etc.) before connecting makes **Find** accurate.
- **Stacking multiple connection types** can cause conflicts → prioritize **Local Matrix Auto Parent**.
- **Decide in advance** which bones will have **Stretch ON** for animation effect and which will be **OFF**.

---

# Ep.8 — Picker · Custom Picker Setup

> slug: ep08-picker

https://youtu.be/sIaP6u_IDn4?si=YUSWCM3V558NzZZs

## Overview

**Picker** = A UI that lets you **quickly select** controllers via **buttons**, without hunting for them one by one in the viewport.  
The BipedPlus **Picker tab** handles everything from **creation, connection, to saving**.

## Prerequisites

- Build through Controller steps complete
- **Figure Mode is OFF** (animation / rigging work mode)
- The Picker window may **open large at first** — resize it to fit your monitor

## Step-by-Step Guide

### 1. Open Picker · Scan

1. Open the Picker window from the **Picker tab**.
2. **Scan** — reads the BipedPlus rig from the scene to **activate** the button areas.  
   → Without scanning, the window may be **empty** or buttons may **not respond**.
3. Drag the window **corner** to resize.

### 2. Connect / Disconnect — Link Buttons to Controllers

1. Turn on **Connect mode**.
2. **Drag** a **controller** from the viewport **onto a Picker button** to link them.
3. After connecting, **turn off** Connect and press the button to **select** that controller.
4. **Disconnect** — unlinks a button.

> If you press a button while Connect is **still on**, **selection may not work** — test after turning Connect **OFF**.

### 3. Template vs Edit Mode

| Mode | Description |
|------|-------------|
| **Template** | **Default provided** layout — adjust position only slightly |
| **Edit** | Freely **add/remove buttons, resize, set background** |

**To modify a template (important):**

1. **"Save As"** — **copy** the original.
2. Switch to **Edit mode**.
3. Save under a team/test name and then edit.

→ **Do not directly overwrite the original template.**

### 4. Adding Buttons · Aligning · Mirroring

1. Edit mode → add buttons via **Add Button**, etc.
2. Example of placing **3 buttons** vertically (video).
3. **Align** — spacing and line alignment.
4. **Mirror** — **symmetrical left/right placement** on the Picker UI.
5. **Save / Update** → press buttons in **animation mode** to confirm **selection works**.

### 5. Background Image

- Adding a character **silhouette image** as the background makes it easy to **intuitively place buttons** at shoulder, hand, and leg positions.

### 6. Using with Ani Utils

- Keeping Picker + **Ani Utils** **docked next to Max** creates a seamless flow of  
  **select via button → Key → Mirror**.

## Tips

- After **changing the rig structure** (adding custom controllers, changing Build options) → **Scan again**.
- If bone count changed (e.g., Twist to **5**), match the Picker **preset** to Ep.3 settings.

---

# Ep.9 — Ani Utils · Animation Assist Tools

> slug: ep09-ani-utils

https://youtu.be/RijqeciqCIA?si=5K39zeb9DrrSJh-9

## Overview

The **Ani Utils** tab is a collection of assist tools used **when animating**.  
It is often kept **side by side** with the Picker.

## Prerequisites

- Build complete, **Figure Mode OFF**
- **Rigging Info generation** checked during Build (Ep.1)

---

## Feature Breakdown

### Local / World — Which Space to Move In

| Mode | Meaning |
|------|---------|
| **Local** | Rotate/move relative to the **parent (shoulder, wrist, etc.)** |
| **World** | Relative to the **entire scene (world)** |

- To bend an arm **relative to the torso**, use Local; to rotate it **toward a direction in space**, use World — each team has its own habits **per part**.

### Selection · Key · Reset

| Button | What It Does |
|--------|-------------|
| **Selection** | Select an **entire part group** (Left Arm, Spine, etc.) at once |
| **Key** | Set a **keyframe** on selected objects |
| **Reset All** | Return the **entire rig** to the **default pose** |
| **Reset Selection** | Return **only selected items** to default pose (Ep.14) |

- When **custom controllers** are registered in Rigging Info in Ep.13, they are **included** in **Reset All** as well.

### Mirror Pose — Copy Left/Right Pose

1. Create a pose on **one side** (arm or leg).
2. **Copy** (select direction: Left → Right, etc.).
3. **Mirror** or **Flip Copy** — pastes the **mirrored pose** onto the **opposite side**.
4. For **custom** parts like twintails, mirroring works properly only **after registering Mirror Factor** in Ep.13.

### Slide Key · Free Key

- **Slide Key** — slide key **timing and values** (assists Max timeline).
- **Free Key** — unlock only specific axes for keying (to match team workflow).

### Scale

- Keys the **scale** of selected controllers — connects to **Squash & Stretch animation**.  
  → If skin tears, check whether the bone has **Stretch OFF** from Ep.7.

### Range · Play

- **Range** — specify a **playback range**.
- **Play** — **preview** that range only.

### Pose · Posture Copy

- **Pose** — **save and paste** the current frame's pose.
- **Posture** — Biped **Posture** format (familiar to Max Biped users).

### Transform Snap · Bake

- **Snap** — **match position/rotation** to another controller or object.
- **Bake** — **bake** constraint results into **keys and transforms** — may be needed when **exporting to a game engine**.

### Prop Snap — Attaching Weapons / Props

- **Quickly align** a **Prop (weapon)** controller to the **hand or Prop bone** position.
- Useful for setting an **equip pose** without IK.

---

## Recommended Workflow (Example)

```
Select Spine / Arm via Picker
  → Pose in Local space
  → Key
  → Mirror Copy to opposite side
  → Check range with Play
  → Snap weapon with Prop Snap
```

## Notes

- **Reset All** reverts **registered custom controllers** as well — confirm intent.
- **Mixing Local and World** can make key values **feel off**.
- Excessive Scale keys on bones with Stretch **enabled** → **skin problems** (Ep.7).

---

# Ep.10 — Seed · Node Rename · Layer

> slug: ep10-seed-layer

https://youtu.be/wCcFWZNft2c?si=QYRefXUb2xPVjsPj

## Overview

Covers **Seed·Rigging Info Update** and **Layer organization** that keep BipedPlus **Picker·Mirror·Reset** working even after renaming bones and controllers to match your team's **naming convention**.

## Seed — In Simple Terms

Think of it like a **phone book**.

- In Max, you can **rename** bones from **`LeftArm`** → **`Ctrl_L_Arm`** and so on.
- BipedPlus stores in the **Seed** "what this bone originally was."
- After renaming, simply hit **Update** and Picker·Mirror·Reset reconnect with the **new names**.

**If you skip Update:** Mirror·Reset·Picker may only work **partially** or show up in the **Missing** list.

## Free Node Rename — Renaming

1. Change **names only** to match team conventions (Left/Right, Ctrl prefix, etc.).
2. Keep the **parent–child hierarchy** intact.
3. In **Rigging Info**, do **Scan → Update** (or Picker **Scan**).

## Rigging Info — Update · Missing From Seed

### Steps

1. Open the **Rigging Info** panel (near the Skin tab, etc. — check location per UI version).
2. **Scan / Load** — read the current scene's **rig structure**.
3. **Update** — apply changed names and newly added controllers.
4. **Missing From Seed** — items in the Seed but missing from registration → resolve with **Add + Update**.

### When Update is Needed

| Situation | Action |
|------|--------|
| **Rename** bone/controller | Update |
| Add **custom controller** | Add → Update (Ep.13) |
| Change Build options and **rebuild** | Scan → Update |
| Picker / Mirror **not working** | Check Missing list |

## Layer — Layer Organization

BipedPlus uses **Max Layers** to categorize (names can be changed to match your team).

| Layer (example) | Contents |
|------------|---------|
| **Controller** | Controllers that animators **move** |
| **Skin** | Skin bones for **weighting and export** |
| **System** | Housekeeping nodes like Space Groups — **invisible** |

**Why it matters:** If you put controllers in the **Skin Layer**, unnecessary bones can end up exported via FBX (Ep.11).

## Tips

- **Naming and Layer organization** is half of rigging — do it incrementally to save time later.
- **Save the scene (backup)** before running Update.

---

# Ep.11 — Simu Bone · Spring Magic Integration

> slug: ep11-simu-bone

https://youtu.be/0yHhCZqgYZ4?si=YObinszdcfC3bhtr

## Overview

Describes how to properly attach **secondary simulations** like **Spring Magic** (hair, smartphone chains, chains) to a BipedPlus rig.  
The key is to **separate "skin bones" from "controllers"** and organize them with **Space Groups**.

## Spring Magic and BipedPlus — Why Be Careful

| Standard BipedPlus approach | Spring Magic-friendly approach |
|---------------------|------------------------------|
| **Offset + Controller** (empty node in between) | **Bones only** in a **simple chain** |
| Maintains **position·rotation at 0** after connection | Head → Bone → Bone **without intermediate nodes** |

- Spring Magic may **not work correctly** if there are **offsets (intermediate groups)**.
- Attaching bones directly under Head without offsets **works**, but conflicts with BipedPlus **Layer·Skin separation rules**.

> If you use a **different simulation tool**, **test yourself** whether it allows offsets. If it does, you can keep the standard BipedPlus approach.

---

## Recommended Structure (video — hair example)

### Step 1: Skin Bones (what gets sent to game)

- Create a **bone chain** like Hair1, Hair2… in the **Skin hierarchy** (extending from the head).
- **Weights** will be assigned here later.
- **Do not place in the Controller Layer.**

### Step 2: Controllers (what animators and sims operate)

1. **Clone** the same structure → **Unparent**.
2. **Name controllers** per team convention (e.g., Ctrl_Hair1, Ctrl_Hair2…).
3. Use **box display** etc. in viewport to **distinguish from bones**.
4. **Edit Utils → Quick Connect:**
   - **Controller list** ← Ctrl_Hair items
   - **Bone list** ← Skin Hair items
   - **Find** → **Local Matrix Auto Parent** → connect
5. Verify that moving the **head** causes the **entire Hair chain** to follow.

### Step 3: Space Group — Solving "Where to place it"

**What is a Space Group?**  
An **empty group** that has the **exact same position·rotation·scale** as the **reference bone** (video: **head skin bone**).  
(The video explains the concept using the **Pelvis**, then uses the **head** as the reference for the hair example.)

**Why it's needed**

- Placing sim controllers in the **Skin Layer** → they mix with game bones on **FBX export**.
- Using **Controller Layer** only → they may not move **with the head**.
- Placing only Ctrl under **Space Group** → they **follow the head** without **mixing into the export**.

**Creation steps (video)**

1. Select **Skin Head** (head skin bone).
2. **Create Space Group** (menu in Figure/Edit area — check location per version).
3. **Disable the Space Group's shape (curve)** — make it invisible (may already be off at 100% scale).
4. Verify the Space Group **moves exactly like the head**.
5. Make **Ctrl_Hair\*** children of the **Space Group** → place in **System Layer**, etc.

### Step 4: Layer Organization

| Contents | Layer |
|---------|--------|
| Ctrl_Hair* | **Controller** |
| Skin Hair* | **Skin** |
| Space Group | **System** |

---

## Running Spring Magic

- The video covers up to **structure** — Spring Magic **execution** can be done separately.
- With a **simple bone chain + Ctrl under Space Group**, the goal is to align with a **standard Spring Magic** workflow.

## Rigging Info Integration

1. **Scan** → custom **Ctrl_Hair\*** → **Rigging Info Add**.
2. **Update**.
3. **Ani Utils Reset All** — verify that Hair also returns to the **default pose**.

## Scale Warning

- Quick Connect + **Scale keys** → possible **skin distortion** (manage together with Ep.7 Stretch/Squash).

---

# Ep.12 — Bone Mirror

> slug: ep12-bone-mirror

https://youtu.be/dygdHA5scrQ?si=2bL6WV1jkEIouzTq

## Overview

Used to **copy additional bones** made on one side to the **opposite side**.  
Explains how to use BipedPlus **Edit Utils → Bone Mirror** instead of the 3ds Max **default Bone Mirror**, which tends to produce misaligned results.

> **Bone Mirror** = **bone placement/creation** stage. Left↔Right **pose** copying is done in **Ani Utils** (Ep.9·14).

## Max Default Bone Mirror — What's Inconvenient

- Mirrors based on the selected bone's **pivot (origin)**, which often results in **misalignment** rather than a true reflection across the **character's center (X=0)**.
- Fixing it requires **manually calculating world X coordinates** — which is tedious.

## BipedPlus Bone Mirror — How to Use

Open **Bone Mirror** in the **Edit Utils** area.

### Options (simplified)

| Option | Meaning |
|------|------|
| **Mirror Plane** | **Mirror plane** — usually the **YZ plane** (= left↔right flip from the **character's front**) |
| **X Flip** | **Flip** along the **X axis** |
| **Headless Axis** | Which axis to rotate around during mirror — usually **Z** for Biped. **Keep default** recommended |

```
        │ Mirror Plane (YZ)
   Left │ Right
   ────┼────
        │
```

### Steps

1. **Select all bones** that will be the mirror source (usually the **Left** side chain).
2. **Hierarchy** → **Parent** — to preserve the **child bone structure** (may need to lock Parent manually at first).
3. Execute **Mirror**.
4. Verify that **Left / Right** names changed **per convention**.
5. Move them and test that the **Z-axis rotation** etc. is **symmetrical**.

## When to Use

- When creating **custom Hair/prop bones** on one side (like Ep.11) and **cloning to the opposite side**.
- For **front-based symmetry** instead of the Max default Mirror.

## Notes

- If **Hierarchy Parent** is not set correctly, the **parent may detach** or the tree can break.
- **Do not casually change Headless Axis**.
- **Rigging Info Update** after mirroring (Ep.10).

---

# Ep.13 — Custom Mirror Factor

> slug: ep13-custom-mirror-factor

https://youtu.be/-VY-RPIP9nA?si=KLZLoIZOhb5No8LG

## Overview

Settings that allow **manually added controllers** (like twin tails or hair) to support **Copy · Mirror · Reset** just like Biped **arms and legs**.  
**Rigging Info registration** + **Mirror Factor** are the key.

## Prerequisites

- Complete **Space Group + Skin Bone + Ctrl + Quick Connect** as in Ep.11

## Why It's Needed — Example (Twin Tails)

- **Left Arm** mirrors correctly with Ani Utils **Copy · Mirror**.
- **Twin1 extending from the head** follows the mirror at a **strange angle** on the opposite side.

**Reason:** Left-right symmetry requires changing **"+angle → -angle" per axis**, but the rule differs **per custom bone**.  
This **per-axis ±1 rule** is the **Mirror Factor**.

A rigger can set it manually, but it's **too complex for animators** → use **Auto Calculation Mirror Factor** to compute it automatically.

---

## Step-by-Step Guide

### 1. Register **Controllers** in Rigging Info

> Register **Ctrl (controllers)**, not Skin bones — the side that animators **move**.

1. **Select all** Twin1, Twin2… (custom Ctrl).
2. **Rigging Info** → **Add**.
3. If **New Controller** etc. appears in the list, you're good.
4. **If not visible:** do **Scan → Load** then Add again.

### 2. Update

1. Click **Update**.
2. Check if **custom names** like **Twin1** appear in the **Settings** list.  
   → They may **not appear before Update**.

### 3. Auto Calculation Mirror Factor

1. Open the relevant controller's **Settings**.
2. Run **Auto Calculation Mirror Factor**.
3. **Automatic values** like "X reversed, Y·Z retained" fill in.
4. **Freely rotate/move** the **Left** Twin → **Copy · Mirror to Right**.
5. If it's **symmetrical like a mirror reflection** — **success**.

### 4. Verify Reset · Flip Also Work

| Function | Expected Result |
|------|-----------|
| **Reset All** | **Default pose** including Twin |
| **Flip Copy** | Left-right **flip** works |
| **Selection Flip Copy** | Only **selected items** flip |

→ Can be used with the **same feel as Biped bones**.

---

## Rigging Info — Other Uses (Reference)

- **Reference·animation support** — pose saving, etc.
- BipedPlus **Mirror / Reset / Picker** — **mirror·default pose** data

(Details in a dedicated Rigging Info tutorial — mentioned in the video)

## Routine (Memorize This)

```
Add custom Ctrl
  → Rigging Info Add
  → Update
  → Auto Calculation Mirror Factor
  → Copy/Mirror test
```

## Notes

- Adding Ctrl without **Connect·Space Group** → Reset may work but **Mirror may feel off**.
- Only **manually adjust** Factor when Auto **doesn't match**.
- After Picker **Scan**, connect **custom buttons**.

---

# Ep.14 — Pose Mirror · Flip · Reset Selection

> slug: ep14-pose-mirror

https://youtu.be/0wKVNBRbovs?si=ZpoWdyJUmLkTOJfR

## Overview

Covers cases where BipedPlus provides **better results than standard Biped** when doing **Copy · Flip (mirror)** in Ani Utils, and how to do **partial selection and reset**.  
Focuses on common confusing situations in **action poses** — **COM (Center of Mass)**, **Clavicle**, **Pelvis**, **Twist**, etc.

> **Where to do it:** **Ani Utils** tab → Copy / Flip / Reset Selection

---

## COM (Center of Mass) Tilt + Flip

### With Standard Biped

- Flipping while the body is **tilted** often results in **legs and feet pointing the wrong way**.
- This is especially true for **action/weight-shift poses** that use a **tilted COM**.

### BipedPlus

1. **Copy** → **Flip** (Ani Utils).
2. Even with a **tilted COM**, symmetry tends to come out **naturally**.
3. Useful for **left-right reversals of reference poses**.

---

## Clavicle-Only Mirror

### Problem

- Selecting only **Clavicle** for Copy · Mirror → **shoulder angle differs from intent**.

### BipedPlus

1. Select only **Clavicle** in the same pose.
2. Copy · Mirror.
3. Mirrors relative to **Chest (upper body)** → **shoulder line aligns**.
4. Same result when **Flip**-only Clavicle is selected.

**Use case:** When you only need to adjust **shoulders** without affecting the full body.

---

## Pelvis Rotation + Flip

### Behavior

- Quickly applying **multi-axis rotations** to **Pelvis** then Flipping can make **legs appear inverted**.

### How to Check

- If **Copy → Left/Right** makes the legs change **naturally** — it's a **correct mirror**.
- If it looks wrong:
  1. **Preview with Copy** before Flip.
  2. Adjust **Pelvis rotation order**.
  3. Or select **only legs/arms** and Mirror (see below).

> BipedPlus is designed to mirror **without forcibly separating the Pelvis** (explained in video).

---

## Body Twist · Partial Mirror

When doing a **full-body Mirror**:

| Body Part | Behavior |
|------|------|
| **Arms · Legs** | Left → Right **direct** symmetry |
| **Body tilt** | **Tilt preserved** |
| **Twist (single bone)** | Left × Right → **0** (twist **cancelled**) |

- **Body twist zeroed out** — to prevent **double twist** accumulation during full-body mirror.
- **To preserve Twist** → select **only arms/legs** then Copy · Mirror.

---

## Reset Selection — Upper Body Only Reset

**Keep lower body pose**, reset **only upper body** to default:

1. Select only **upper body**: Spine, Arm, Head, etc.
2. Ani Utils → **Reset Selection**.
3. **Only selected parts** return to T-Pose etc. — **leg pose stays**.

**Use case:** When fixing blocking/reference while **keeping lower body**, reset only upper body.

---

## Checklist

```
□ Tilted COM pose → Check Flip result
□ Clavicle-only Mirror → Shoulder symmetry?
□ Strong Pelvis rotation → Preview with Copy first
□ Don't want Twist=0 → Mirror arms/legs only
□ Reset upper body only → Reset Selection
□ Custom (twin tails) → Registered in Ep.13?
```

## Notes

- Unregistered (Ep.13) custom items may be **outside Flip·Reset scope**.
- May need to **re-key** after partial Mirror.

## Series Wrap-Up

Watching Ep.0–14 in order covers the **entire workflow**: **Build → Figure → Controller → Skin → Edit → Picker → Ani → Seed → Simulation → Mirror**.  
Apply alongside your team's **naming conventions, Layer rules, and export rules**.

→ [README — Table of Contents](README.md)

---

# Ep.15 — Player License (Animator Edition)

> slug: ep15-player-license

https://youtu.be/9bXxrnpclU8


This document helps animators and studios immediately understand "how many licenses do we need?"

## 1. Bottom Line

**10 animators does NOT mean you need 10 Full licenses.**

| Role | Edition | Price | Expiry · Devices | Features |
|------|---------|-------|-----------------|----------|
| Rigger | **Full** | Early Access **$349** / Release **$399** | Lifetime · **3 devices** | Edit + Ani (Build, Skin, Figure, INFO, Picker…) |
| Animator | **Player** (Animator / Companion) | **$0** | Lifetime · **3 devices** | **Ani only** (Picker, Mirror, Reset, Flip, etc.) |

> **One installer** (same MZP). Only the license type changes the UI.
> Full = rig **creation**. Player = **animation** on top of that rig.

## 2. UI Differences

### Full
**Edit** + **Ani** tabs both visible in the left tree.

| Edit (Rigger) | Ani (Common) |
|---------------|--------------|
| Figure Mode | Picker |
| Ctrl Shape | Ani Utils |
| Skin | |
| Build | |
| Info_Node | |
| Edit_Utils | |

### Player
- **Edit category completely hidden**, **Ani only** remains (Picker · Ani Utils)
- **Animator Edition** label shown on the window

Why Edit is hidden: ① Remove irrelevant UI ② Prevent accidental edits to rig internals

## 3. Requirements for Player to Work

| Scene | Player |
|-------|--------|
| Regular Biped rig | ❌ |
| **BipedPlus Full-built rig** (with INFO node) | ✅ |

Building with Full creates an **INFO node** in the scene.
Picker / Mirror / Reset all read from this **rigging data**. Do not delete or modify INFO.

## 4. Team Workflow

```
① Rigger (Full) → Build / Custom / Save INFO
        ↓ Save .max to shared folder (NAS, etc.)
② Animators × N (Player) → Open same file → Work with Picker / Ani Utils
```

### Cost Example (Early Access $349, 10 animators)

| Approach | Cost |
|----------|------|
| ❌ All Full | 10 × $349 = **$3,490** |
| ✅ 1–2 Riggers Full + Animators Player | **$349 – $698** |

### FAQ — Team Scale

| Question | Answer |
|----------|--------|
| 20-person team, 1 Full? | **Yes.** 1 Rigger Full + 19 Animator Player |
| 50-person team, 1 Full? | License-wise fine, but 1 rigger may become a bottleneck |
| 100-person team, 1 Full? | Recommended: **2–3 riggers** sharing Full licenses |

## 5. Why Player is Free

When a rigger purchases Full and shares the BipedPlus-built file, charging animators full price for Edit features they never use would be too much.
Studios invest in production (Full), while animation seats are issued as a **free Companion license**.

## 6. Getting Started

1. Apply for **Player (Animator) Edition / Companion** on the OtakuSolutions website
2. Email verification → License issued
3. Install **the same BipedPlus** (3ds Max **2022–2027** supported)
4. Authenticate with Player license → Confirm only the Ani tab is visible
5. Open a `.max` built with BipedPlus and use Picker / Ani Utils

**3 Rules to Remember**
1. **One** installer
2. Rigger = **Full**, Animator = **Player (free)** · **3 devices** each
3. Rig **must be built with BipedPlus** (INFO node required)

---

# Ep.16 — Customizing 01: Hierarchy Structure

> slug: ep16-customizing-hierarchy

https://youtu.be/joFROh0jGag


This document helps you understand the Hierarchy of a BipedPlus Build result, and know **where to attach** customizations (capes, bracelets, etc.).

> **Hierarchy View is the foundation.** Layer View is for organization and visibility — not the basis of rigging.

## 1. Why This Document

BipedPlus quickly creates the structure via Auto Rigging.
But every studio has different naming, props, and additional controllers.
**Understanding the structure reveals where to customize.**

## 2. Four Key Groups After Build

```
Scene
├── Grp_Mod          (Modeling Group)    ← Original mesh
├── Grp_Sys          (System Group)      ← Helpers / INFO that just need to exist in scene
├── Grp_RigModule    (Rig Module Group)  ← Arm/Leg/Head modules + Space
└── Root / Skin tree (Skin Bones)        ← Bones for engine export
```

| Group | Role | What to do |
|-------|------|-----------|
| **Modeling (`Grp_Mod`)** | Character mesh | Place all mesh here |
| **System (`Grp_Sys`)** | Nodes that just need to exist in scene | INFO, helpers, system nodes — animators must not touch |
| **Rig Module (`Grp_RigModule`)** | Arm/leg/head modules + Space | **Main area for customization** |
| **Skin Bones** | Final bones for engine export | Skinning and export reference |

## 3. Two Spaces Inside RigModule

| Group | Meaning | Used by |
|-------|---------|---------|
| **`Grp_Admin_Space`** | BipedPlus internal calculation space | Rarely touched in normal work |
| **`Grp_Custom_Space`** | Spaces aligned to final bone positions | **Where to place capes, bracelets, props** |

**What is a Space?** A group that follows a specific node's position, rotation, and scale.

### Practical Example — Create Space by Selection

1. Select the target bone (e.g., `Skin_Hand`)
2. Run **Edit_Utils → Create Space by Selection**
3. Move the created Space into **`Grp_Custom_Space`**
4. Place bracelets, extra bones, or controllers **under** that Space

## 4. Customization Rules

| Type | Content |
|------|---------|
| ✅ Allowed | Modeling → modeling group, create Space, place custom nodes, add control Ctrl |
| ❌ Do not touch | **INFO node** (stores rigging data), **Admin Space branches** (internal calculation) |

### Why Use Parent Skin Bone Instead of Seg Bone

| | Example | Recommended |
|--|---------|-------------|
| Parent Skin bone | `Skin_Spine1` | **✅** — basis for Space and custom |
| Seg bone | `Skin_Spine1_Seg` | **❌** — may be affected by Stretch scale |

## 5. Checklist

- [ ] Can identify the 4 major groups in Hierarchy View
- [ ] All modeling goes into the modeling group only
- [ ] Customs go under `Grp_Custom_Space` + target bone Space
- [ ] Don't stop at Skin Parent — also create a control Ctrl
- [ ] INFO node is never touched
- [ ] Do not judge structure from Layer view alone

---

# Ep.17 — Customizing 02: Layer System

> slug: ep17-customizing-layer

https://youtu.be/G5sRWu0EGRk


This document explains the BipedPlus default layers and what belongs in each one.

## 1. Hierarchy is Core, Layer is for Organization

| | Hierarchy | Layer |
|--|-----------|-------|
| Role | Parent/child, Space, constraint relationships | Node grouping, show/hide, workflow convenience |
| Importance | **Foundation** | Organization convenience |

Layer defines "where things are grouped," not "how they are connected."
Always understand structure in **Hierarchy → Layer** order.

## 2. BipedPlus Default Layer Map

| Layer (Role) | Contents | Notes |
|-------------|---------|-------|
| **Biped** | Biped bones (`Bip001…`) | Biped system only |
| **Ctrl** | Main controllers for animators | Custom Ctrl (bracelet, cape, etc.) goes here too |
| **Ctrl_Seg** | Twist / Seg detail controllers | Fine-tuning |
| **Ctrl_Seg_Pin** | Stretch / Squash Pin / Shape | Pin-style controllers |
| **Init_Ctrl** | Figure mode Init controllers | Setup phase — usually hidden during animation |
| **Modeling** | Mesh / props | Matches modeling group in Hierarchy |
| **Skin** | Skin bones | **Key** for engine export |
| **Sys** | System nodes | See Sys rules below |

## 3. Skin vs Ctrl — Role Separation

| | Skin | Ctrl |
|--|------|------|
| Purpose | Mesh deformation · Engine bones | Animator interaction |
| Role | Export reference | Animation UI |

Player users mainly interact with **Ctrl (+ Picker)** only.

### Ctrl vs Ctrl_Seg Criteria

- **Whether scale is applied**, **main controller or fine-detail element**
- Adjust to your team's preference. The key is making sure **what animators grab and what they don't** is clear.

## 4. Sys Layer Rules

A node belongs in Sys if either (or both) apply:

1. **Does not need to be in any Hierarchy — just needs to exist in scene**
2. **Animators never need to touch it**

Examples: INFO data node, Offset (Ctrl in Ctrl layer, Offset in Sys recommended), Shadow helpers

## 5. Quick Guide — Where to Place Customizations

| Addition | Hierarchy | Layer |
|----------|-----------|-------|
| Mesh (hat, pocket) | Modeling group | Modeling |
| Animator controller | Under Custom Space | **Ctrl** |
| Twist / detail | Follow module rules | Ctrl_Seg |
| Must not touch | System group | **Sys** |
| Engine bone | Skin tree | **Skin** |

## 6. One Line for Player (Animators)

Edit UI is already hidden. It is best **not to touch Init_Ctrl or Sys**.
If modification is needed, **contact your internal rigger**.

---

# Ep.18 — Customizing 03: Naming & Team Template

> slug: ep18-customizing-naming

https://youtu.be/pwvMbO_Y36k


This document explains how to adapt BipedPlus naming to your studio conventions and **save it as a reusable common template**.

## 1. Why It's Needed

When BipedPlus default naming (`Skin_*`, `Ctrl_*`, `Bip001`) doesn't match your team's rules, workflows get blocked.
You can rename them — the key is **saving the result as a template so you never repeat the rename process**.

## 2. Full Pipeline

![BipedPlus Naming & Template Pipeline](ep18-customizing-naming/pipeline.png)

## 3. Naming — Allowed Range and Cautions

| Type | Content |
|------|---------|
| ✅ Can change | Biped name, Skin bone name (to match engine bone names), Controller prefix, Layer display name |
| ⚠️ Caution | Use a **consistent batch rule** to avoid breaking Hierarchy / Constraint / Space |
| ❌ Do not skip Fix Missing | Skipping Fix Missing after rename breaks Mirror / Picker / Reset |

## 4. Fix Missing — Keeping the System in Sync After Rename

When names change, INFO records get out of sync, causing **Missing** errors.

| Concept | Description |
|---------|-------------|
| **Seed** | A unique address value that identifies a node even after it's renamed |
| **Fix Missing** | Uses Seed to re-link the renamed node |

**Procedure**: Rig Info → Load → Check Missing → Run Fix Missing → Confirm Mirror updated → Verify with Ani Utils

## 5. Layer Name Customization

Layer settings → **Edit Name** → New preset (team/product name) → Add prefix/suffix → **Apply to Rename**
Keep the role classification in Hierarchy — only change the **display label** to match your team.

## 6. Save as common Template

| Step | Content |
|------|---------|
| 1 | Open modeling scene (or New File) |
| 2 | **Merge** — all nodes from `common/BP_Human_Template.max` |
| 3 | BipedPlus **Scan** — confirm INFO / mirror is retained |
| 4 | Adjust Figure / proportions per character |
| 5 | Save to character folder → distribute to animation team (work with Player) |

```
shared_rigging/
├── character_A/
├── character_B/
└── common/
    └── BP_Human_Template.max   ← Master with naming, layers, and INFO configured
```

## 7. Picker Exception

| | INFO / Ani Utils (after Fix Missing) | Picker |
|--|--------------------------------------|--------|
| After rename | Recoverable | **Name-based** — layout may break |

**Recommended**: After naming and template are finalized, rebuild Picker with the new naming and distribute with the template `.max`.
Check the Picker file location in BipedPlus **Settings**.

## 8. Checklist

- [ ] Team bone / Ctrl / Layer naming rules are documented
- [ ] Batch rename using the example script (or team script)
- [ ] After rename: Fix Missing + Mirror / Reset verified
- [ ] `common/` template `.max` exists in shared folder
- [ ] New characters use Merge → Scan workflow
- [ ] Picker rebuilt based on final naming
- [ ] Animation team uses Player with the **same installer**


### Example Rename Script (handle 2-pass)

Edit `NODE_RENAME_MAP` to match your team's rules. Run in Max Script Editor after Build.

```python
# -*- coding: utf-8 -*-
"""BipedPlus naming example (handle 2-pass, short version)"""

import pymxs
rt = pymxs.runtime

NODE_RENAME_MAP = [
    ("Bip001",          "Bip009"),
    ("Bip001 Pelvis",   "Bip009 Pelvis"),
    ("Ctrl_Head",       "CTL_Head"),
    ("Skin_Spine1",     "Bip001_Spine1"),
    ("Skin_L_Hand",     "Bip001_L_Hand"),
]

def rename_nodes_by_handle(rename_map=None):
    mapping = rename_map if rename_map is not None else NODE_RENAME_MAP
    if not mapping:
        raise ValueError("NODE_RENAME_MAP is empty.")

    # Phase 1 — collect handles
    collected = []
    for src, dst in mapping:
        node = rt.getNodeByName(src)
        if node is None:
            print(f"[SKIP] {src}")
            continue
        collected.append((int(node.handle), src, dst))

    if not collected:
        raise ValueError("No rename targets found in scene.")

    # Phase 2 — apply
    for handle, src, dst in collected:
        node = rt.maxOps.getNodeByHandle(handle)
        if node is None:
            raise RuntimeError(f"handle={handle} restore failed ({src} → {dst})")
        node.name = dst
        print(f"[OK] {src} → {dst}")

    print(f"Done ({len(collected)} ok). Next: Rig Info → Fix Missing")

if __name__ == "__main__":
    rename_nodes_by_handle()
```

> After running: Rig Info → Fix Missing → verify Mirror / Reset.

---

# Ep.15 — Skin Bones Node Reference (`Skin_*`)

> slug: ep19-skin-bones-reference

This document shares the naming guidelines for `Skin_*` bones generated by BipedPlus as default values.
It reflects the naming conventions OtakuSolutions follows for 3dsMax rigging.

If your team does not have internal rigging naming guidelines, feel free to use this document as a reference.
When customizing the rig, maintaining these node names and structural conventions ensures full compatibility.

BipedPlus uses a **dual-bone structure** for certain joints, separating the main bone from segment bones (`_Seg`).
This design enables joint stretching and prevents scale errors.


| | |
|---|---|
| Pattern | `Skin_*` |
| Left + Center nodes | **85** |
| Right nodes (mirror) | 63 |
| Total nodes | **148** |


### Skinning Structure Design

| Role | Description |
|------|-------------|
| Main bone (`is_skinned=X`) | Primary axis/rotation for joint motion. No skinning needed. |
| `_Seg` bone (`is_skinned=O`) | Child of main bone; handles per-segment mesh deformation. |
| `_Twist` bone (`is_skinned=O`) | Distributes twist rotation along the limb. |
| `_Cor` bone (`is_skinned=O`) | Corrective bone for bilateral symmetry correction. |
| Bones with no Seg/Twist (`is_skinned=O`) | Skinned directly to main bone (e.g., Finger, Hand, Foot). |
| `Nub` bone (`is_skinned=X`) | Chain endpoint marker. No skinning needed. |

### Field Descriptions

| Field | Description |
|-------|-------------|
| `direction` | left / center |
| `is_skinned` | Whether the bone receives skin weights (O = yes, X = no) |
| `parent` | Parent node (`{LAST}` = last-numbered bone in the chain) |
| `part` | Rig module part ID |


### Node List (85 — Left + Center)

| node | part | direction | parent | is_skinned |
| --- | --- | --- | --- | --- |
| Skin_Com | spine | center | Root | O |
| Skin_Pelvis | spine | center | Root | X |
| Skin_Spine | spine | center | Skin_Pelvis | X |
| Skin_Spine1 | spine | center | Skin_Spine | X |
| Skin_Spine2 | spine | center | Skin_Spine1 | X |
| Skin_Spine3 | spine | center | Skin_Spine2 | X |
| Skin_Spine4 | spine | center | Skin_Spine3 | X |
| Skin_Pelvis_Seg | spine | center | Skin_Pelvis | O |
| Skin_Spine1_Seg | spine | center | Skin_Spine1 | O |
| Skin_Spine2_Seg | spine | center | Skin_Spine2 | O |
| Skin_Spine3_Seg | spine | center | Skin_Spine3 | O |
| Skin_Spine4_Seg | spine | center | Skin_Spine4 | O |
| Skin_Spine_Seg | spine | center | Skin_Spine | O |
| Skin_Head | neck-head | center | Skin_Neck | X |
| Skin_Neck | neck-head | center | Skin_Spine{LAST} | X |
| Skin_HeadNub | neck-head | center | Skin_Head | X |
| Skin_Head_Seg | neck-head | center | Skin_Head | O |
| Skin_Neck_Seg | neck-head | center | Skin_Neck | O |
| Skin_Neck_Twist | neck-head | center | Skin_Neck | O |
| Skin_L_Clavicle | arm | left | Skin_Spine{LAST} | O |
| Skin_L_ForeArm | arm | left | Skin_L_UpperArm | X |
| Skin_L_Hand | arm | left | Skin_L_ForeArm | O |
| Skin_L_UpperArm | arm | left | Skin_L_Clavicle | X |
| Skin_L_ForeArm_Seg1 | arm | left | Skin_L_ForeArm | O |
| Skin_L_ForeArm_Seg2 | arm | left | Skin_L_ForeArm | O |
| Skin_L_ForeArm_Seg3 | arm | left | Skin_L_ForeArm | O |
| Skin_L_ForeArm_Seg4 | arm | left | Skin_L_ForeArm | O |
| Skin_L_ForeArm_Seg5 | arm | left | Skin_L_ForeArm | O |
| Skin_L_UpperArm_Seg1 | arm | left | Skin_L_UpperArm | O |
| Skin_L_UpperArm_Seg2 | arm | left | Skin_L_UpperArm | O |
| Skin_L_UpperArm_Seg3 | arm | left | Skin_L_UpperArm | O |
| Skin_L_UpperArm_Seg4 | arm | left | Skin_L_UpperArm | O |
| Skin_L_UpperArm_Seg5 | arm | left | Skin_L_UpperArm | O |
| Skin_L_Finger0 | finger0 | left | Skin_L_Hand | O |
| Skin_L_Finger01 | finger0 | left | Skin_L_Finger0 | O |
| Skin_L_Finger02 | finger0 | left | Skin_L_Finger01 | O |
| Skin_L_Finger1 | finger1 | left | Skin_L_Hand | O |
| Skin_L_Finger11 | finger1 | left | Skin_L_Finger1 | O |
| Skin_L_Finger12 | finger1 | left | Skin_L_Finger11 | O |
| Skin_L_Finger2 | finger2 | left | Skin_L_Hand | O |
| Skin_L_Finger21 | finger2 | left | Skin_L_Finger2 | O |
| Skin_L_Finger22 | finger2 | left | Skin_L_Finger21 | O |
| Skin_L_Finger3 | finger3 | left | Skin_L_Hand | O |
| Skin_L_Finger31 | finger3 | left | Skin_L_Finger3 | O |
| Skin_L_Finger32 | finger3 | left | Skin_L_Finger31 | O |
| Skin_L_Finger4 | finger4 | left | Skin_L_Hand | O |
| Skin_L_Finger41 | finger4 | left | Skin_L_Finger4 | O |
| Skin_L_Finger42 | finger4 | left | Skin_L_Finger41 | O |
| Skin_L_Calf | leg | left | Skin_L_Thigh | X |
| Skin_L_Foot | leg | left | Skin_L_Calf | O |
| Skin_L_HorseLink | leg | left | Skin_L_Calf | X |
| Skin_L_Thigh | leg | left | Skin_Pelvis | X |
| Skin_L_Toe0 | leg | left | Skin_L_Foot | O |
| Skin_L_Calf_Seg1 | leg | left | Skin_L_Calf | O |
| Skin_L_Calf_Seg2 | leg | left | Skin_L_Calf | O |
| Skin_L_Calf_Seg3 | leg | left | Skin_L_Calf | O |
| Skin_L_Calf_Seg4 | leg | left | Skin_L_Calf | O |
| Skin_L_Calf_Seg5 | leg | left | Skin_L_Calf | O |
| Skin_L_HorseLink_Seg1 | leg | left | Skin_L_HorseLink | O |
| Skin_L_HorseLink_Seg2 | leg | left | Skin_L_HorseLink | O |
| Skin_L_HorseLink_Seg3 | leg | left | Skin_L_HorseLink | O |
| Skin_L_HorseLink_Seg4 | leg | left | Skin_L_HorseLink | O |
| Skin_L_HorseLink_Seg5 | leg | left | Skin_L_HorseLink | O |
| Skin_L_Thigh_Seg1 | leg | left | Skin_L_Thigh | O |
| Skin_L_Thigh_Seg2 | leg | left | Skin_L_Thigh | O |
| Skin_L_Thigh_Seg3 | leg | left | Skin_L_Thigh | O |
| Skin_L_Thigh_Seg4 | leg | left | Skin_L_Thigh | O |
| Skin_L_Thigh_Seg5 | leg | left | Skin_L_Thigh | O |
| Skin_Prop1 | prop1 | center | Root | O |
| Skin_Prop2 | prop2 | center | Root | O |
| Skin_Prop3 | prop3 | center | Root | O |
| Skin_L_BackA_Skirt1 | extra_skirt | left | Skin_Pelvis | O |
| Skin_L_BackA_Skirt2 | extra_skirt | left | Skin_L_BackA_Skirt1 | O |
| Skin_L_BackA_Skirt3 | extra_skirt | left | Skin_L_BackA_Skirt2 | O |
| Skin_L_FrontA_Skirt1 | extra_skirt | left | Skin_Pelvis | O |
| Skin_L_FrontA_Skirt2 | extra_skirt | left | Skin_L_FrontA_Skirt1 | O |
| Skin_L_FrontA_Skirt3 | extra_skirt | left | Skin_L_FrontA_Skirt2 | O |
| Skin_L_Side_Skirt1 | extra_skirt | left | Skin_Pelvis | O |
| Skin_L_Side_Skirt2 | extra_skirt | left | Skin_L_Side_Skirt1 | O |
| Skin_L_Side_Skirt3 | extra_skirt | left | Skin_L_Side_Skirt2 | O |
| Skin_L_Back_Hip | extra_hip | left | Skin_Pelvis | O |
| Skin_L_Front_Hip | extra_hip | left | Skin_Pelvis | O |
| Skin_L_Side_Hip | extra_hip | left | Skin_Pelvis | O |
| Skin_L_ForeArm_Cor | extra_forearm | left | Skin_L_UpperArm | O |
| Skin_L_Calf_Cor | extra_calf | left | Skin_L_Thigh | O |

> **Right Side** — Replace `_L_` with `_R_` to get the mirrored node.
> e.g. `Skin_L_UpperArm` → `Skin_R_UpperArm`

---

# Ep.16 — Controllers Node Reference (`Ctrl_*`)

> slug: ep20-controller-reference

This document shares the naming guidelines for `Ctrl_*` controller nodes generated by BipedPlus as default values.
It reflects the controller naming conventions OtakuSolutions follows for 3dsMax rigging.

If your team does not have internal rigging naming guidelines, feel free to use this document as a reference.
When customizing the rig, maintaining these node names ensures full compatibility with BipedPlus.


| | |
|---|---|
| Pattern | `Ctrl_*` |
| Left + Center nodes | **82** |
| Right nodes (mirror) | 72 |
| Total nodes | **154** |


### Field Descriptions

| Field | Description |
|-------|-------------|
| `direction` | left / center |
| `part` | Rig module part ID |


### Node List (82 — Left + Center)

| node | part | direction |
| --- | --- | --- |
| Ctrl_Move | sys | center |
| Ctrl_World | sys | center |
| Ctrl_Pelvis | spine | center |
| Ctrl_Spine | spine | center |
| Ctrl_Spine1 | spine | center |
| Ctrl_Spine2 | spine | center |
| Ctrl_Spine3 | spine | center |
| Ctrl_Spine4 | spine | center |
| Ctrl_Head | neck-head | center |
| Ctrl_Neck | neck-head | center |
| Ctrl_L_Clavicle_Main | arm | left |
| Ctrl_L_ForeArm_Arc | arm | left |
| Ctrl_L_ForeArm_Main | arm | left |
| Ctrl_L_Hand_Main | arm | left |
| Ctrl_L_UpperArm_Arc | arm | left |
| Ctrl_L_UpperArm_Main | arm | left |
| Ctrl_L_ForeArm_Seg1 | arm | left |
| Ctrl_L_ForeArm_Seg2 | arm | left |
| Ctrl_L_ForeArm_Seg3 | arm | left |
| Ctrl_L_ForeArm_Seg4 | arm | left |
| Ctrl_L_ForeArm_Seg5 | arm | left |
| Ctrl_L_UpperArm_Seg1 | arm | left |
| Ctrl_L_UpperArm_Seg2 | arm | left |
| Ctrl_L_UpperArm_Seg3 | arm | left |
| Ctrl_L_UpperArm_Seg4 | arm | left |
| Ctrl_L_UpperArm_Seg5 | arm | left |
| Ctrl_L_Finger0 | finger0 | left |
| Ctrl_L_Finger01 | finger0 | left |
| Ctrl_L_Finger02 | finger0 | left |
| Ctrl_L_Finger1 | finger1 | left |
| Ctrl_L_Finger11 | finger1 | left |
| Ctrl_L_Finger12 | finger1 | left |
| Ctrl_L_Finger2 | finger2 | left |
| Ctrl_L_Finger21 | finger2 | left |
| Ctrl_L_Finger22 | finger2 | left |
| Ctrl_L_Finger3 | finger3 | left |
| Ctrl_L_Finger31 | finger3 | left |
| Ctrl_L_Finger32 | finger3 | left |
| Ctrl_L_Finger4 | finger4 | left |
| Ctrl_L_Finger41 | finger4 | left |
| Ctrl_L_Finger42 | finger4 | left |
| Ctrl_L_Calf_Arc | leg | left |
| Ctrl_L_Calf_Main | leg | left |
| Ctrl_L_Foot_Main | leg | left |
| Ctrl_L_HorseLink_Arc | leg | left |
| Ctrl_L_HorseLink_Main | leg | left |
| Ctrl_L_Thigh_Arc | leg | left |
| Ctrl_L_Thigh_Main | leg | left |
| Ctrl_L_Toe0 | leg | left |
| Ctrl_L_Calf_Seg1 | leg | left |
| Ctrl_L_Calf_Seg2 | leg | left |
| Ctrl_L_Calf_Seg3 | leg | left |
| Ctrl_L_Calf_Seg4 | leg | left |
| Ctrl_L_Calf_Seg5 | leg | left |
| Ctrl_L_HorseLink_Seg1 | leg | left |
| Ctrl_L_HorseLink_Seg2 | leg | left |
| Ctrl_L_HorseLink_Seg3 | leg | left |
| Ctrl_L_HorseLink_Seg4 | leg | left |
| Ctrl_L_HorseLink_Seg5 | leg | left |
| Ctrl_L_Thigh_Seg1 | leg | left |
| Ctrl_L_Thigh_Seg2 | leg | left |
| Ctrl_L_Thigh_Seg3 | leg | left |
| Ctrl_L_Thigh_Seg4 | leg | left |
| Ctrl_L_Thigh_Seg5 | leg | left |
| Ctrl_L_BackA_Skirt1 | extra_skirt | left |
| Ctrl_L_BackA_Skirt2 | extra_skirt | left |
| Ctrl_L_BackA_Skirt3 | extra_skirt | left |
| Ctrl_L_BackA_Skirt4 | extra_skirt | left |
| Ctrl_L_FrontA_Skirt1 | extra_skirt | left |
| Ctrl_L_FrontA_Skirt2 | extra_skirt | left |
| Ctrl_L_FrontA_Skirt3 | extra_skirt | left |
| Ctrl_L_FrontA_Skirt4 | extra_skirt | left |
| Ctrl_L_Side_Skirt1 | extra_skirt | left |
| Ctrl_L_Side_Skirt2 | extra_skirt | left |
| Ctrl_L_Side_Skirt3 | extra_skirt | left |
| Ctrl_L_Side_Skirt4 | extra_skirt | left |
| Ctrl_L_Skirt_DP_Set | extra_skirt | left |
| Ctrl_L_Back_Hip | extra_hip | left |
| Ctrl_L_Front_Hip | extra_hip | left |
| Ctrl_L_Side_Hip | extra_hip | left |
| Ctrl_L_ForeArm_Cor | extra_forearm | left |
| Ctrl_L_Calf_Cor | extra_calf | left |

> **Right Side** — Replace `_L_` with `_R_` to get the mirrored node.
> e.g. `Ctrl_L_UpperArm_Main` → `Ctrl_R_UpperArm_Main`

---

# Ep.17 — Biped Bones Node Reference (`Bip001*`)

> slug: ep21-biped-bones-reference

This document shares the naming reference for internal 3ds Max Biped bones (`Bip001*`) used as the foundation of the BipedPlus rig.
It reflects the actual Biped bone structure adopted in OtakuSolutions' 3dsMax rigging workflow.

If your team does not have internal rigging naming guidelines, feel free to use this document as a reference.
It can also serve as a helpful guide when customizing the rig.


| | |
|---|---|
| Pattern | `Bip001*` |
| Left + Center nodes | **39** |
| Right nodes (mirror) | 30 |
| Total nodes | **69** |
| Common (biped + beast) | 31 |
| Human only | 36 |
| Beast only | 2 |


### Field Descriptions

| Field | Description |
|-------|-------------|
| `direction` | left / center |
| `parent` | Parent node (`{LAST}` = last-numbered bone in the chain) |
| `part` | Rig module part ID |


### Node List (39 — Left + Center)

| node | part | direction | parent |
| --- | --- | --- | --- |
| Bip001 | sys | center | Ctrl_Move |
| Bip001 Footsteps | sys | center | Bip001 |
| Bip001 Pelvis | spine | center | Bip001 |
| Bip001 Spine | spine | center | Bip001 Pelvis |
| Bip001 Spine1 | spine | center | Bip001 Spine |
| Bip001 Spine2 | spine | center | Bip001 Spine1 |
| Bip001 Head | neck-head | center | Bip001 Neck |
| Bip001 Neck | neck-head | center | Bip001 Spine2 |
| Bip001 HeadNub | neck-head | center | Bip001 Head |
| Bip001 L Clavicle | arm | left | Bip001 Spine2 |
| Bip001 L Forearm | arm | left | Bip001 L UpperArm |
| Bip001 L Hand | arm | left | Bip001 L Forearm |
| Bip001 L UpperArm | arm | left | Bip001 L Clavicle |
| Bip001 L Finger0 | finger0 | left | Bip001 L Hand |
| Bip001 L Finger01 | finger0 | left | Bip001 L Finger0 |
| Bip001 L Finger02 | finger0 | left | Bip001 L Finger01 |
| Bip001 L Finger0Nub | finger0 | left | Bip001 L Finger02 |
| Bip001 L Finger1 | finger1 | left | Bip001 L Hand |
| Bip001 L Finger11 | finger1 | left | Bip001 L Finger1 |
| Bip001 L Finger12 | finger1 | left | Bip001 L Finger11 |
| Bip001 L Finger1Nub | finger1 | left | Bip001 L Finger12 |
| Bip001 L Finger2 | finger2 | left | Bip001 L Hand |
| Bip001 L Finger21 | finger2 | left | Bip001 L Finger2 |
| Bip001 L Finger22 | finger2 | left | Bip001 L Finger21 |
| Bip001 L Finger2Nub | finger2 | left | Bip001 L Finger22 |
| Bip001 L Finger3 | finger3 | left | Bip001 L Hand |
| Bip001 L Finger31 | finger3 | left | Bip001 L Finger3 |
| Bip001 L Finger32 | finger3 | left | Bip001 L Finger31 |
| Bip001 L Finger3Nub | finger3 | left | Bip001 L Finger32 |
| Bip001 L Finger4 | finger4 | left | Bip001 L Hand |
| Bip001 L Finger41 | finger4 | left | Bip001 L Finger4 |
| Bip001 L Finger42 | finger4 | left | Bip001 L Finger41 |
| Bip001 L Finger4Nub | finger4 | left | Bip001 L Finger42 |
| Bip001 L Calf | leg | left | Bip001 L Thigh |
| Bip001 L Foot | leg | left | Bip001 L Calf |
| Bip001 L HorseLink | leg | — | Bip001 L Calf |
| Bip001 L Thigh | leg | left | Bip001 Pelvis |
| Bip001 L Toe0 | leg | left | Bip001 L Foot |
| Bip001 L Toe0Nub | leg | left | Bip001 L Toe0 |

> **Right Side** — Replace `Bip001 L ...` with `Bip001 R ...` to get the mirrored node.
> e.g. `Bip001 L Thigh` → `Bip001 R Thigh`