# naming-convention-guide

在绑定与动画流水线中，统一的命名规则不仅仅是约定俗成，更是决定项目稳定性的核心要素。

## 1. 命名规则的重要性

为了实现自动化系统和高效协作，遵守项目专属规则至关重要。例如，引擎团队基于`Root`骨骼构建了系统，但传入的数据使用了`root`或`world`等随意名称，就可能导致整个流水线严重受阻。

## 2. 命名的基本组成

- **前缀（Prefix）：** 添加在名称前面，定义对象的性质（Control、Skin等）。
- **后缀（Suffix）：** 添加在名称后面，表示方向（L、R）或状态。

## 3. 主要命名规范（Naming Case）

根据项目特点选择合适的命名风格。

- **帕斯卡命名法：** `RootNode`（每个单词首字母大写）
- **蛇形命名法：** `root_node`（单词之间用下划线`_`连接）
- **驼峰命名法：** `rootNode`（第一个单词全小写，后续单词首字母大写）

## 4. 理解与分析3ds Max Biped结构

仔细观察3ds Max标准的Biped（`Bip001 L Foot`），我们可以发现一个重要规律。

> **"原来如此！3ds Max基本上采用帕斯卡命名法，并使用空格（" "）来分隔单词！"**

熟练的工作者应能从现有数据中推断出**{类型} {方向} {部位}**这样的规则。即使加入新项目，也需要有尊重现有工作流程、灵活适应的能力。

## 5. 实务建议：避免空格，使用下划线（`_`）

现有Biped数据中常包含空格，但在现代流水线中，强烈推荐使用**下划线（`_`）**。

- **原因：** 空格会导致与Maya的兼容性问题、引擎迁移时的特殊字符替换错误，以及脚本运行时的语法错误。
- **解决方案：** 保持现有Biped骨骼名称不变，对于额外的设置（Control等），请明确使用下划线，例如`Ctrl_L_Prop1`。

---

## 💡 结论：3ds Max绑定命名的黄金法则

在3ds Max绑定环境中，以最广泛使用的**Biped为基础**最为合适。

1. **基本语法：** 以帕斯卡命名法为基础，单词之间为防止错误使用**下划线（`_`）**而非空格。
2. **Biped骨骼：** 现有Biped系统的骨骼名称为标准，保持不变。
3. **扩展节点：** 新增的控制器或辅助骨骼，最好与Biped的部位名称保持统一。

---

## 📌 常用命名列表

以下是实务中常用名称的整理，供团队参考。

### **前缀（类型列表）**

- **`Ctrl_`**: 动画师实际打关键帧的控制器元素
- **`Off_`**: 控制器的上级偏移组（用于修改和管理）
- **`Skin_`**: 分配为网格蒙皮节点的实际骨骼
- **`Pt_`**: 点（Points），主要在绑定系统内使用的辅助节点

### **中间部分（方向与位置）**

- **`L` / `R`**: 左（Left）/ 右（Right）
- **`C` / `M`**: 中央（Center/Middle）— 通常可省略。

### **后缀（部位名称）**

部位名称尽量与**Biped的名称保持统一**最为理想。

- **推荐示例：** `Ctrl_L_Calf`（○）/ `Ctrl_L_Knee`（×）
- **原因：** 即使是膝盖部位，如果Biped的实际骨骼名称是`Bip001 L Calf`，为减少混淆，以`Calf`为基础命名更为高效。
- **主要名称：** `Thigh`、`Calf`、`Foot`、`Spine`、`Neck`、`Clavicle`等
@@