# EP02 — ワークフロー（Cross DCC の概念）

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

## 1. Cross DCCとは？

**どのDCCでも同じ方法で** スキンウェイトを編集できる **独立した.exe専門ツール**。

**なぜプラグインではないのか？**
- DCCはオールインワンで **重い** — スキニング専用UIやアルゴリズムを組み込むのが困難。
- **独立プロセス：** 安定性が高く、ツール専用機能の拡張が容易。
- **レイヤースキニング** はMayaなどで実績があるが、Max/Blenderへの移植が難しい → SLSが共通解。

---

## 2. 基本ワークフロー

```
DCC  ── Pick（Pull） ──►  SkinLayer Studio  ── Apply to Skin（Push） ──►  DCC
          TCP Connector          .sls SSOT
```

| ステップ | 用語 | 内容 |
|----------|------|------|
| 取得 | **Pick** | メッシュ・ボーン・ウェイト・（任意）BoneAniCache |
| 編集 | Layers、Brush… | LayerStack、**File → Save**（`.sls`） |
| 送出 | **`> Apply to Skin`** | DCCスキンに反映 |

---

## 3. 作業環境

- **デュアルモニター推奨：** 左DCC・右SLS。
- **DCC接続はPick/Re-Pick/Pushのときのみ** — 編集中はSLSだけで作業可能。

---

## 4. Skin Archive（マルチメッシュ）

- Pickするたびにスロットが **Skin Archive** に蓄積されます。
- **Skin Desk** = 現在表示中の作業メッシュのみ。
- **Get All from DCC** = 一括Pick（ep09参照）。

---

## 5. 役割分担

| DCC | SkinLayer Studio |
|-----|------------------|
| ボーンの追加・削除・階層 | ウェイト・レイヤー・マスク |
| リグ修正後に **Re-Pick** | **Push** でスキンのみ返却 |

**ボーンのSSoT = DCC。ウェイトのSSoT = `.sls`。**

> リグにボーンを追加・削除したあとは、DCCで作業してから **Re-Pick** するのが正しい手順です。

---

## 6. レイヤースタックの意味

- 複数のLayerを積み重ねて編集しますが、DCCへ送る際は **合算した最終ウェイト** のみがPushされます。
- 内部は非破壊レイヤー、外部（DCC）は **結果のスキンデータ** だけが必要。

---

## 7. 品質ルール（エンジン基準）

| ルール | 説明 |
|--------|------|
| **Influenceの上限** | PC/コンソールは通常 **8個以下**（モバイルは **4個** など） |
| **正規化** | 頂点あたりのウェイト合計は **1.0** — 合計が1でないとメッシュが引っ張られたり収縮する |
| **Undo** | DCCのUndoとは **別** — **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 | 順次提供予定 |
| ゲームエンジン直接転送 | 検討中 |