# EP02 — 工作流程（Cross DCC 概念）

https://youtu.be/MmlTDULtD38?si=i3BDftkFo79UBoJA

## 1. 什么是 Cross DCC？

**无论使用哪款DCC，都能以相同方式**编辑蒙皮权重的**独立 .exe 专用工具**。

**为什么不做成插件？**
- DCC是多合一软件，**体量庞大** — 难以内置专门的蒙皮UI和算法。
- **独立进程：** 稳定性更高，工具专属功能更易扩展。
- **图层蒙皮**在Maya等软件中已有验证，但移植到Max/Blender存在障碍 → SLS提供统一解决方案。

---

## 2. 核心工作流程

```
DCC  ── Pick（拉取） ──►  SkinLayer Studio  ── Apply to Skin（推送） ──►  DCC
          TCP 连接器          .sls SSOT
```

| 步骤 | 术语 | 内容 |
|------|------|------|
| 导入 | **Pick** | 网格、骨骼、权重、（可选）BoneAniCache |
| 编辑 | 图层、笔刷… | LayerStack，**File → Save**（`.sls`） |
| 导出 | **`> Apply to Skin`** | 应用到DCC蒙皮 |

---

## 3. 工作环境

- **推荐双显示器：** 左侧DCC，右侧SLS。
- **仅在Pick/Re-Pick/Push时需要连接DCC** — 编辑过程中只使用SLS即可。

---

## 4. Skin Archive（多网格管理）

- 每次Pick都会在 **Skin Archive** 中新增一个槽位。
- **Skin Desk** = 当前显示的工作网格。
- **Get All from DCC** = 批量Pick（参见ep09）。

---

## 5. 职责划分

| DCC | SkinLayer Studio |
|-----|------------------|
| 骨骼添加/删除/层级管理 | 权重 · 图层 · 遮罩 |
| 修改绑定后 **Re-Pick** | 通过 **Push** 仅返回蒙皮数据 |

**骨骼的唯一数据源 = DCC。权重的唯一数据源 = `.sls`。**

> 在绑定中添加或删除骨骼后，请先在DCC中完成操作，再执行 **Re-Pick**，这是标准流程。

---

## 6. 图层堆栈的意义

- 编辑时可叠加多个图层，但Push到DCC时只发送**合并后的最终权重**。
- 内部是非破坏性图层，外部（DCC）只需要**最终蒙皮数据**。

---

## 7. 质量规范（引擎限制）

| 规范 | 说明 |
|------|------|
| **影响骨骼上限** | PC/主机通常每顶点 **8个以下**（移动端通常 **4个**） |
| **归一化** | 每顶点权重之和必须等于 **1.0** — 否则网格会发生拉伸或收缩形变 |
| **撤销** | 与DCC的撤销**相互独立** — **Ctrl+Z** / **Ctrl+Shift+Z** 仅撤销SLS内的权重操作 |

---

## 8. 连接问题与备份

| 问题 | 应对方法 |
|------|----------|
| 连接断开 / DCC版本更新 | 联系技术支持 · 重新安装连接器 |
| 防火墙 | 允许localhost TCP例外 |
| 最坏情况 | **Tools → Export Weights (.json)** → 在DCC中应用 |

**日常备份：** **File → Save** — `.sls` 文件是槽位、图层、权重的**唯一数据来源**。

---

## 9. DCC与引擎路线图

| DCC | 状态 |
|-----|------|
| 3ds Max | 已发布 |
| Maya / Blender | 计划逐步推出 |
| 直接导出至游戏引擎 | 研究中 |