# naming-convention-guide

In rigging and animation pipelines, consistent naming conventions go beyond simple agreements — they are a core factor that determines the stability of a project.

## 1. The Importance of Naming Rules

Adherence to project-specific rules is essential for automation systems and efficient collaboration. For example, if the engine team builds a system based on a `Root` bone but receives data with arbitrary names like `root` or `world`, it can cause significant disruption to the entire pipeline.

## 2. Basic Components of Naming

- **Prefix:** Placed at the beginning of a name to define the nature of the object (Control, Skin, etc.).
- **Suffix:** Placed at the end of a name to indicate direction (L, R) or state.

## 3. Major Naming Cases

Choose the appropriate convention based on the nature of the project.

- **Pascal Case:** `RootNode` (capitalize the first letter of each word)
- **Snake Case:** `root_node` (connect words with an underscore `_`)
- **Camel Case:** `rootNode` (first word in lowercase, subsequent words capitalized)

## 4. Understanding and Analyzing the 3ds Max Biped Structure

If you look closely at 3ds Max's standard Biped (`Bip001 L Foot`), you can discover an important rule.

> **"Aha! 3ds Max basically uses Pascal Case and uses a space (' ') to separate words!"**

A skilled artist should be able to infer rules like **{Type} {Direction} {Part}** from existing data. Even when joining a new project, you need the flexibility to respect and work within the existing workflow.

## 5. Practical Recommendation: Avoid Spaces, Use Underscores (`_`)

While existing Biped data often includes spaces, modern pipelines strongly recommend using **underscores (`_`)**.

- **Reason:** Spaces cause compatibility issues with Maya, character substitution errors when migrating to engines, and are a major cause of syntax errors when running scripts.
- **Solution:** Keep the names of existing Biped bones as-is, but for additional setups (Controls, etc.), use underscores clearly, like `Ctrl_L_Prop1`.

---

## 💡 Conclusion: The Gold Standard for 3ds Max Rigging Naming

In the 3ds Max rigging environment, use **Biped as your base** — it's the most widely used standard.

1. **Basic Grammar:** Use Pascal Case as a foundation, but use **underscores (`_`)** instead of spaces between words to prevent errors.
2. **Biped Bones:** Keep the bone names of the existing Biped system as-is, as they are the standard.
3. **Extended Nodes:** It's best to give added controllers or auxiliary bones a sense of unity with Biped's part names.

---

## 📌 Frequently Used Naming List

Here is a list of names commonly used in production for your team's reference.

### **Prefix (Type List)**

- **`Ctrl_`**: Controller elements that animators actually key
- **`Off_`**: The parent Offset group of a controller (for modification and management)
- **`Skin_`**: Actual bones assigned as skin nodes to a mesh
- **`Pt_`**: Points, auxiliary nodes mainly used within the rigging system

### **Middle (Direction and Position)**

- **`L` / `R`**: Left / Right
- **`C` / `M`**: Center / Middle — can usually be omitted.

### **Suffix (Part Names)**

It is best to **unify part names with Biped's naming** as much as possible.

- **Recommended Example:** `Ctrl_L_Calf` (O) / `Ctrl_L_Knee` (X)
- **Reason:** Even for the knee area, if the actual Biped bone name is `Bip001 L Calf`, it is more efficient to base the name on `Calf` to reduce confusion.
- **Key Names:** `Thigh`, `Calf`, `Foot`, `Spine`, `Neck`, `Clavicle`, etc.
@@