---

# Ep.0 — なぜ作ったか · スクワッシュ＆ストレッチ · リギングパイプラインの現実

> slug: ep00-intro

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

## 概要

BipedPlusを**なぜ作ったのか**、現場で繰り返される**リギング・パイプラインの問題**は何か、そしてこのツールが**どのような方向で解決**しようとしているかを説明するイントロダクション動画です。  
ツールのボタンを押す方法よりも、**背景と哲学**を理解することに焦点を当てています。

## この動画で扱うコアテーマ

### 1. 繰り返されるリギングの基礎工事

多くのプロダクションでTechnical Artist・リードリガーとして働く際、会社を移るたびに似たような作業が繰り返されます。

- リギングガイドライン・ネーミング規則・ボーン体系を**ゼロから**再構築する
- スタートアップ・中小・大企業いずれも**最初（レベル1〜5）から積み上げ直して**プロダクションレベル（動画：レベル30）まで上げる作業を繰り返す
- プロジェクトごとに事情が異なり、**根幹は似ているのに**毎回リセットされる経験

BipedPlusはこの**繰り返しコストを削減し**、共通の基盤の上ですぐに作業できるようにすることを目的としています。

### 2. Squash & Stretch（スクワッシュ＆ストレッチ）と韓国ゲーム

アニメーション12原則の最初の一つである**Squash & Stretch**は、誇張・リズム・生き生きとした表現に不可欠です。

- ゲーム内映像を見るだけでも、**Squash & Stretchの有無**で表現レベルが大きく変わります
- 原神、オーバーウォッチなど海外・グローバルタイトルは大胆なボーン変形を活用しています
- 韓国のゲーム内映像では、**リギングシステムが対応できず**その技法が活用されないケースが多くありました
- **ゲームエンジンだから不可能なのではありません。** 構造さえ合っていれば十分可能です

BipedPlusは**Stretch/Squash/Scaleの表現**をリギング段階でサポートし、アニメーターが望む誇張を実現できるようにすることを目標としています。

### 3. 断片化したツール環境

3ds Maxのリギングエコシステムには有用なスクリプト・プラグインが多いですが、**バラバラに散らばっています**。

- 共通標準がなく、**個人のノウハウ**としてのみ蓄積される
- どのツールが最新・推奨なのか見つけにくい

BipedPlusは**万能ツールではありません。** Bipedベースの高度なリギングビルドとアニメーション補助に必要な機能を**ひとつのパッケージ**にまとめる方向性です。

### 4. リギングは見えにくいが重要なパート

- モデリング・アニメーション・エフェクトは**ビジュアル**でフィードバックしやすい
- リギングは**データ構造・効率・パイプライン**の領域で、アートディレクター・PDには伝わりにくい
- それでも**アニメーションTA・リガー1〜2名**の意見を尊重すれば、以下のような問題を防ぐことができます

#### 実際の現場事例：FBXエクスポート地獄

- キャラクターごとに**エクスポート方法がバラバラ**（ルートの有無、軸方向、武器の含有など）
- リガー・TAなしで**アニメーターが各自リギング** → ルール統一不可
- シーン・キャラクター数が多いほど**手作業エクスポート**に何週間もかかる
- 自動化・ルール統一後に**80時間 → 3時間**水準に短縮された事例もあり

**教訓：** ビジュアルが優れていても、**内部パイプライン**が崩れると全体のスケジュールが揺らぎます。

### 5. Biped固有の落とし穴 — Clavicle（鎖骨）の例

Bipedのデフォルト設定では、Clavicleが**4つ**に設定され、Spineとの接続も**構造的にぎこちない**場合があります。

- 首・肩の動きに**意図しない影響**が伝播する
- 一度**ボーンの接続構造（親子関係）**がずれたままアニメーションが積み上がると**元に戻すのが難しい**

BipedPlusは**ゲームエンジンに合ったボーン接続構造・スキンボーン配置**を一貫して提供し、こうしたボトルネックを減らそうとしています。

### 6. BipedPlusが目指すもの

| 目標 | 説明 |
|------|------|
| **エンジンに合ったボーン構造** | Unreal・Unityなどに合った接続・軸方向を提供 |
| **Stretch/Squash/Scale** | アニメーターの表現の自由度を拡大 |
| **フルパッケージ** | Build、Figure、Skin、Picker、Ani Utilsなどを一つのツールで |
| **ガイドライン共有** | ネーミング・ボーンルールなど**共通常識**レベルのドキュメント提供 |
| **中間の底上げ** | 現場リギングの格差を**最低基準線**まで引き上げる |

会社の規模・インフラレベル（レベル5〜60）に関わらず、**すぐに使える実務技術**と**パイプラインの整備**を支援することが目標です。

## BipedPlus UIプレビュー（動画後半）

動画後半では実際のツール画面が**少しだけ**紹介されます。

- **パネルドッキング** — BipedPlusウィンドウを3ds Maxの横に**くっつけて**使用
- **Build後** Stretch/Squashなどさまざまな表現・補助機能
- ep.1以降は**Buildタブ**から順番にチュートリアルを進める

## 特に役立つ方

- 会社ごとに**リギングガイドラインを毎回新たに**作らなければならない方
- Bipedベースなのに**Squash & Stretch**を使いたいアニメーター・TA
- **エクスポート・パイプライン**がキャラクターごとに異なるプロダクション
- インフラがない**初期プロジェクト**で基準を決めたいチーム

## 責任者・チームリーダーへ

- アニメーション**Technical Artist・リガー**はアートチームの**潤滑油**の役割です。多くは必要ありません
- ファイル構造・エクスポートルール・リファレンス構造の提案は、**チームリーダー・アートディレクターの理解と決定**があって初めて現実的に適用できます
- リギングは画面に直接現れなくても、**モデリング・アニメーション・エフェクトの品質**を支えます

---

# Ep.1 — Preset · Biped Style · Buildタブ

> slug: ep01-build-tab

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

## 概要

BipedPlusを初めて起動した後、**Buildタブ**でリギングの基本骨格を設定し、**Build**で生成するプロセスです。  
Preset、Human/Beastタイプ、Spine・Twist・Hip・Propなどのオプションを一度に設定します。

## 事前準備

- BipedPlusが3ds Maxに**インストールされてパネルとして表示**されている状態
- サンプルキャラクターメッシュ（動画：メーブル）または自分のプロジェクトのキャラクター

> **Buildタブ** = リグを**初めて作る際に**使う設定画面です。ここでオプションを選び、**Build**ボタンを押すとボーン・コントローラーが生成されます。

## ステップバイステップガイド

### 1. Preset（プリセット）

1. Buildタブ上部の**Preset**エリアを確認します。
2. プロダクションごとによく使うオプションの組み合わせは**Save**または**Save As**で保存しておきます。
3. 別のプロジェクトに切り替える際は保存したPresetを読み込んで素早く切り替えます。
4. 動画では**デフォルト値**で進めます。

### 2. Biped Style（Human / Beast）

| タイプ | 用途 |
|------|------|
| **Human（ヒューマン）** | 一般的な人型キャラクター |
| **Beast（ビースト）** | 獣型 — 脚に**Leg Link 4つ**など構造が異なる |

1. キャラクタータイプに合わせて**Human**または**Beast**を選択します。
2. Beastは新しいシーンでプレビューして全体構造（脚4リンクなど）を確認してから、作業キャラクターに合ったタイプを選びます。
3. サンプルキャラクター（メーブル）は**Human** + 身長**170**（必要に応じて調整、Figure Modeでも再設定可能）。

### 3. Buildオプション設定

#### Spine · Leg · Finger

- **Spine**：Biped背骨ボーンの数
- **Leg Link**：デフォルト3（Thigh–Knee–Footなど）
- **Finger**：5本、リンク数を確認

#### Twist（トゥイスト）

- デフォルト**3本** — 肘基準でUpper ArmとForearmそれぞれ3本
- サブカル・コンソール級ゲーム（鳴潮、原神など）基準で**3本推奨**
- Leg Linkが**4本（Beast）**の時は**Horse Link**も3本ずつ追加される

#### Hip · Extra（6-Dart）

- **Hip（ヒップ）**を上げた際、スカート・腰が不自然にならないよう**周囲を補正**する小さなコントローラーが**6個**生成されます。（動画では「6-Dart」と呼ばれています）
- スカートキャラクターは**スカートオプション**をオンにしておけばOKです。

#### Corrective（コレクティブ）

- **膝・肘** Correctiveボーン — 腕・脚を90°曲げた際に約45°で自然に補正
- **デフォルトでチェック推奨**

#### Prop

| チェック数 | 結果 |
|---------|------|
| 1 | 片側 |
| 2 | 両側 |
| 3 | 両側 + 中央 |

サンプルキャラクターは武器なし → **すべて解除**

#### Rigging Info

- **ミラー・デフォルトポーズ・リセット**に必要な情報を格納する**設定ブロック**を作成するかどうかです。
- **チェック（生成）しておくことを推奨** — Ep.9〜14のミラー・リセット機能と連動します。

#### Engine（エンジン）

| エンジン | 「上」の方向 |
|------|-------------|
| **Unreal** | Z軸が上 |
| **Unity** | Y軸が上 |

**なぜ重要か：** 後でFBXなどで**送り出す時**にキャラクターが横になったり反転したりしないよう、**チームが使うゲームエンジン**に合わせます。（例：Unreal）

#### Initパッケージ

- Ep.2〜3のFigure Modeで**関節配置を保存**しておいた場合、それを**Build時にそのまま使うか**を決めるオプションです。
- **初回Build**はまだ保存データがないので**チェックを外す** — Initなしで生成します。

### 4. Buildの実行

1. オプションを**もう一度**確認します。
2. **Build**ボタンを押します。（動画ではデフォルト確認後Build）
3. 完了したらビューポートに**ボーン・コントローラー**が生成されたか確認します。 — まだメッシュと**位置が合っていなくて正常**です。Ep.2 Figure Modeで合わせます。

## 概念の補強

- **Tail Link**は今後追加予定です。
- BuildオプションはBiped Figureオプションと同じですが、BipedPlusは**見やすいレイアウト**に整理されています。
- UIが多く見えても、実際の流れは**オプション設定 → Build**の一度が核心です。

## 注意事項

- Beast/Human切り替え時は**Leg Link・Horse Link**の構造が変わります。キャラクタータイプを先に確定させてください。
- Engineの設定は**エクスポートの軸**と合わせる必要があります。プロジェクトのルールを確認してください。

---

# Ep.2 — フィギュアモード 1 · キャラクタープロポーション·ボーン配置

> slug: ep02-figure-mode-1

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

## 概要

Buildで作成した**骨格**をキャラクターメッシュに**重ねて見えるように**合わせるステップです。  
**Figure Mode**で全体サイズ、脚・足の関節、左右ミラー、Hipの位置を調整します。

> **Figure Mode** = 「このリグを**このキャラクターの体**に合わせて配置する」作業モードです。Build直後に**必ず**行います。

## 事前準備

- Ep.1で**Buildが完了**したリグ
- キャラクターメッシュがシーンにある

## ステップバイステップガイド

### 1. Figure Mode開始 · 全体スケール

1. **Figure Mode**タブに移動します。
2. Build直後の**初期関節配置**ステップです — その後Figure ModeでInitデータを保存・再利用できます。
3. キャラクター全体の**スケール**を調整します（例：**0.9**）。
4. **ワイヤーフレーム**表示でメッシュとボーンの位置を比較しやすくします。
5. 小さすぎる場合は**1.03**などで微調整 — **完璧でなくても大体合っていれば**次のステップに進みます。

### 2. デフォルトFigureオプション

- **デフォルトFigureオプション**にチェックが入っていると、Biped Figureの**デフォルト位置データ**が保存・適用されます。
- **基本的にチェックを維持**することを推奨します。

### 3. 関節配置（メッシュの非表示）

1. 作業速度のために**メッシュを非表示**にするか、Figure Modeのデフォルト設定（メッシュ・レイヤー非表示）を活用します。
2. 下部の**レイヤー**エリアから必要に応じて**ワイヤーフレーム・メッシュ表示**をトグルします。
3. **関節移動**ボタンで各ボーン位置をメッシュの関節に合わせます。

### 4. Thigh — ボックスコントローラー配置

> **重要：** Ankle（足首）ではなく、**Thigh側のボックスコントローラー**を基準に配置します。

1. 脚の関節は**正面（Front）ビュー**を中心に作業します。
2. **Thighボックスコントローラー**の位置をメッシュの脚関節に合わせます。
3. キャラクターが非対称の場合は**片側だけ**合わせてから**Mirror**で反対側を合わせます。

### 5. Foot（足）の設定

1. **Ankle Ball（足首）**の位置を合わせます。
2. **Toe（つま先）の高さ**を**0**に合わせます。
3. Frontビューで**足・脚の整列**を確認します。

### 6. 整列 · ミラー · Update（適用）

1. **正面（Front）**で作業します。（チームルール：T-Pose、A-Poseなど**デフォルトポーズ**が決まっていればそれに合わせます。）
2. **Align（整列）** — 左右が**対称**かどうか確認します。
3. **Mirror** — 片側だけ合わせた場合、**反対側**に同じ配置をコピーします。
4. 3ds Max**スナップ（90°・180°）**で関節が**まっすぐ**立っているか確認します。
5. **Update**（または**Update from Init**）ボタンを押して、**これまでの調整内容をリグに保存・反映**します。  
   → **このステップを飛ばすと**、Figure Modeを終了した時に**元に戻ったように**見えることがあります。
6. Figure Modeを**オフ・オンしても**配置が**維持**されるか確認します。

### 7. Hip配置

1. **Hip**は**PelvisとThighが出会う地点**に位置します。
2. Figure ModeのHip専用表示・調整で**脚との接続**が自然かどうか確認します。
3. Hipを動かすとThigh側が**連動**するかテストします。

## ヒント

- **A-Pose**などプロダクションのポーズルールがあれば、**正確に**合わせることが後のスキニング・アニメーションに有利です。
- **ミラー前に片側を先に**合わせる習慣が時間を節約します。
- 誤って**AnkleではなくThighボックス**を動かしてしまった場合、もう一度Thighを基準に再配置してUpdateします。

## 注意事項

- 関節一つがずれるだけで**全体の体型・スキニング**に影響します — Pelvis・Spine・脚の**順番通りに**大枠から合わせてください。
- **Update**なしでFigure Modeを終了すると**調整が保存されない場合があります** — 上記の6番を習慣化してください。

---

# Ep.3 — フィギュアモード 2 · 軸·ミラー·Init保存

> slug: ep03-figure-mode-2

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

## 概要

Figure Mode **後半** — Spine・Twistの数の変更、Hip・Propの追加/削除、**Initパッケージの保存・ロード**、保存したInitで**Build**する方法です。

## 事前準備

- Ep.2で関節配置・Updateまで完了

## ステップバイステップガイド

### 1. Headなど欠けている関節の修正

1. 配置後に**Head**などの欠けている関節があれば再調整します。
2. **Update**後、正常動作を確認します。

### 2. Spineの数の変更

1. Spineが**3本ではなく4・5本**必要な場合は、Build/Figureオプションで数を変更します（例：**5**）。
2. **Install Change（設置変更）**ボタンを押します。
3. 変更されたSpine構造を確認した後、**関節位置を再度Update**します。
4. Clavicleなどが微妙に前にずれた場合は**手動補正**後にUpdate。

### 3. Twistを5本に変更（コンソール級）

1. コンソールゲームなどでTwistが**5本**必要な場合は、TwistオプションをNに変更します。
2. **エラーメッセージ**が出ても（ファイル強制削除関連）**OK** — Figure Modeで5本に変わったことを確認します。
3. **Picker**は当時3本基準である可能性があります — Twist 5本使用時はPickerも**5本モード**に合わせます（今後アップデート予定）。
4. 動画では**元の3本に戻して**進行。

### 4. Hip · Prop

| 項目 | 説明 |
|------|------|
| **Hipの削除** | 腕・脚だけ合わせてHipが不要なら削除可能 |
| **Hipの再インストール** | Installで再追加後、**位置を再調整** |
| **Prop** | Installで追加（例：双剣）。**Initコントローラーは手側**に配置 |
| **Propミラー** | **Propはミラーされません** — 参考 |

1. 複数のPropを追加した場合は不要なものを**削除**します。
2. 脚・Propの調整後に**Update** — Propの位置が正しいか確認します。

### 5. 表示オプション · Init保存

1. メッシュを**デフォルトシェイプ / 透過 / ワイヤーフレーム**から選んで確認できます。
2. セットアップが終わったら**InitデータをSave**します。
3. 保存しておくと**次の作業・別のキャラクター**で同じ配置を素早く読み込めます。

### 6. 保存したInitでBuild

**Initファイル** = Figure ModeでSaveした**関節配置・指・Propの位置**などが入ったパッケージです。  
同じ体型・似たキャラクターを**また作るとき**に大幅な時間短縮になります。

#### 方法A — BuildタブからInit連動Build

1. Buildタブで**保存済みInitパッケージでBuild**オプションを**オン**にします。
2. 案内に従って**Yes** → ポップアップで**すべての項目にチェック**して進みます。
3. Buildが終わると**保存しておいた関節位置・指の配置**まで**そのまま**適用されたリグが生成されます。

#### 方法B — Loadで読み込み

1. BuildタブまたはFigure Modeの**Load**から**保存ファイル**を指定します。
2. Figure Mode **Load/Save**だけでも**配置のみ**を再ロードできます。

## 概念の補強

- **Init** = Figure Modeで合わせた**関節位置・比率・一部オプション**のスナップショット。チーム内で**標準体型**をファイルとして共有するのに役立ちます。
- **膝・肘のCorrectiveボーン**などは今後Buildオプションに追加予定です。

## 注意事項

- Spine/Twistの数を変更した後は**必ず関節の再配置 + Update**。
- Propは**ミラーされません** — 両手武器はそれぞれ配置するかInitで管理。
- Twist 5 + Picker 3が不一致の場合、Pickerボタンと実際のボーン数がずれることがあります。

---

# Ep.4 — コントローラー作成 · Biped Shape · ミラー＆ネーミング

> slug: ep04-controller

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

## 概要

Figure Mode後、**Controllerタブ**でBipedコントローラーの**シェイプ調整**、NURBS Curveスケール、**左右ミラー**、**カスタムコントローラー作成**（原点/選択/オフセット）、**ネーミングの接頭・接尾語**を設定します。

## 事前準備

- Build + Figure Mode（Init）完了
- 必要に応じてFigure Modeで**関節位置**を再調整した状態

## ステップバイステップガイド

### 1. Controllerタブ概要

- Build後に**コントローラーの位置・シェイプ**を整えるフェーズです。
- Figure Modeで位置を変更した後、**コントローラー表示（フラグ）**がずれた場合は、Controllerタブで**再調整できます**。

### 2. Biped Shape（シェイプ）編集

1. **Biped Shape**編集モードに入ります。
2. 頂点を移動してコントローラーの**サイズ・形状**を調整します。
3. **Update**すると変更されたシェイプが反映されます。
4. **反対側**のシェイプ：**Flip（フリップ）モード**に切り替えて編集 → **Rキー**で**対になるLeft/Right名**を見つけると**反対側も一緒に**変わるか確認します。

### 3. NURBS Curve一括スケール

1. NURBS Curveコントローラーは**ソース・カーブ・ポイント**がまとめられているため、Maxだけで大きくすると**遅くなることがあります**。
2. Controllerタブで**一括スケール**でサイズを調整します。
3. 反対側も**Flip後に同様に**合わせます。

### 4. カスタムコントローラーシェイプ

- 好みの形の**カスタムシェイプ**を作成できます（動画後半で詳しく説明）。

### 5. コントローラー作成モード

| モード | 説明 |
|------|------|
| **Origin（原点）** | 何も選択していない状態 — **ワールド原点**に作成 |
| **Selected（選択）** | 選択したボーン・オブジェクトの位置に作成 |
| **Offset（オフセット）** | 選択基準の**オフセット**位置に作成 |

1. キャラクターを**Hide**してからボタンを押すと**空のシーン基準**で作成などのテストが可能です。
2. **Selected + Offset**オプションの組み合わせで**グループ単位**の配置・回転も可能です。

### 6. ネーミング（Prefix · Suffix）

1. **Prefix（接頭語）** / **Suffix（接尾語）**でコントローラーの命名規則を合わせます。
2. **Symmetric（対称）**オプション — Left/Rightなど**規則に合わせて**両側の名前が自動変更されます。
3. **接頭語だけ**変えても両側の名前が**一括変更**されます。

#### 推奨ルール

- アニメーターが**直接操作する**もの → 名前の**前に**「コントローラー」を意味する接頭語を付けます（チームにより異なる、例：`Ctrl_`）。
- Biped**デフォルトルート名**と**衝突しないよう**チームガイドを確認します。

## 概念の補強

- Controllerタブは**「見栄えの整理 + チームネーミング」**のフェーズ — リギング機能自体はBuild/Figureですでに決まっています。
- Figure Modeで**関節位置を再調整**し、Controllerタブで**シェイプを整える**作業を交互に行うケースが多いです。

## 注意事項

- Biped Shape編集後は**Update**を忘れずに。
- **Flipモード**なしで片側だけ修正すると左右のシェイプが異なってしまいます。
- ネーミング規則は**プロダクション標準**と合わせないと、Picker・Mirror・エクスポートの一貫性が失われます。

---

# Ep.5 — スキニング前準備 · リグ/スキン階層 · SkinLayer Studio

> slug: ep05-skinning-prep

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

## 概要

スキニング（ウェイト）の本格作業を始める**前**に、BipedPlusが**リギング用**と**スキン用**を**分けている理由**を理解する動画です。  
3ds Maxの**標準スキニング**がなぜ難しいか、**SkinLayer Studio**がどのように役立つかも説明します。

## 核心概念：2つの階層

BipedPlusリグは**役割が異なる2つの層**に分かれています。

```
[ リギング階層 ]   アニメーターが動かすコントローラー、コンストレイントなど
       ↕
[ スキンボーン階層 ] メッシュにウェイトが乗り、ゲームエンジンに送るボーン
```

**覚えておくこと：** ウェイトを付けるときは**「スキンボーン」**に付けます。コントローラーに直接スキンしません。

- スキニングの**方法**（ボーン追加・数値入力）はMaxでのやり方と似ています。
- 大切なのは**どの階層のボーンを選ぶか**です。

## 3ds Max標準スキニング — なぜ難しいか

| 問題 | 簡単に言うと |
|------|-------------|
| **古い方式** | UIとワークフローが2026年基準でも**使いづらい** |
| **ボーンが多い** | Twist・Correctiveなど**ゾーンごとに**ウェイトを分けにくい |
| **品質向上** | 昔のモバイルと比べてポリゴン数・ボーン数が増え**大雑把では通らない** |
| **Envelope** | リアルタイムでゾーンを変える方式 — **複雑で遅くなる**場合がある |

### BipedPlusリグでの推奨

- Envelopeより**バーテックスごとに数値を直接**入力する方式を推奨（動画基準）。
- BipedPlusのように**ボーンが多い**リグはMax **Skin Modifierだけ**で全部行うと**非常に時間がかかる**可能性があります。

## SkinLayer Studioとは

**レイヤー方式スキニング** — フォトショップのように**部位ごとに重ねて**ウェイトを積み上げます。

| レイヤー例 | 担当エリア |
|-----------|-----------|
| Pelvis | 骨盤のみ |
| Spine | 背中・腰 |
| Neck | 首 |
| Thigh · Knee | 太もも・膝 |

- レイヤーごとに**塗ったエリア（マスク）**があり、**修正・左右ミラー**が便利です。
- **複雑なボーン**があっても**1ゾーンずつ**分けて作業します。
- Max **ビューポートと連動** — 再生しながら**動き**をすぐ確認。
- 作業速度も**比較的速い**（制作チームの経験）。

> SkinLayer Studioは**BipedPlusとは別**のツールですが、**同じチーム**が開発中で、**スキン作業**を一緒に使えるように調整されています。

## 他のスキニングツールとの違い

- **自動スキン**中心のツール：胴体は問題ないかもしれませんが、**フェイシャルやボーン数が多い**キャラクターには限界があります。
- **レイヤーでゾーン管理**する方式（SkinLayer Studioなど）が**現時点**でより管理しやすいという立場です。

## 実習前チェック

1. Ep.1〜4 **Build · Figure · Controller** 完了。
2. スキンする**メッシュ**の準備。
3. **骨盤 → 脊椎 → 脚…** 大きな部位から考える。
4. Max Skin Modifier**だけ**より**SkinLayer Studio**または**チーム指定のスキンツール**の使用を推奨。

## Ep.6との違い

| Ep.5（今回） | Ep.6（次回） |
|-------------|-------------|
| **なぜ**分けるか、**どのツール**でスキンするか | BipedPlus **Skinタブ**でウェイト**保存・読み込み・無効化** |

## 注意事項

- チームに**すでに優れたスキンツール**があればそれを使って構いません。
- Ep.6の**Skinタブ**は**データ管理**用 — スキンを**描く**画面とは異なります。

---

# Ep.6 — Skin機能 · ウェイト作業準備 & データ管理

> slug: ep06-skin-function

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

## 概要

**Skinタブ**はウェイトを**描く**画面ではなく、すでにスキンされたメッシュを**まとめて選択・無効化・バックアップ・復元**する**管理**画面です。

> **Skin Modifier** = Maxのメッシュに付く**スキンモディファイヤー**。  
> **SkinLayer Studio** = Ep.5の**レイヤー方式スキンツール**（名前は似ていますが**別物**です）。

## 事前準備

- メッシュに**ウェイト（スキン）が適用**された状態 — SkinLayer Studioなどで作業中または一部完了

## Skinタブ — ボタン別

### All Mesh

- シーンにある**スキン対象になりうるメッシュ**を**一度に選択**します。
- 体・服・アクセサリーなど**複数のパーツ**があるときに便利です。

### All Skinned

- **Skin Modifierがすでに付いている**メッシュのみを選択します。
- All Meshとの違い：**まだスキンしていない**メッシュは除外されます。

### Enable / Disable Skin

| ボタン | 動作 |
|--------|------|
| **Disable** | 全スキンモディファイヤーを**一時的にオフ** — リグとメッシュだけ見たいときに |
| **Enable** | 再び**オン** |

**いつ使うか：** ポーズを変えたときにメッシュが**おかしく引き伸ばされて見える**場合 → Disableにすると**メッシュ原形**のみ表示され、**スキンが原因かどうか**判別しやすくなります。

### Reset

1. **デフォルトポーズ（T-Poseなど）**に戻った状態でテストします。
2. スキンを**オンにしたまま**ボーンだけ動かすとメッシュが**引き伸ばされたように**見えることがあります — **正常な現象**です。
3. **Reset** — スキン・ポーズ関連を**初期状態**に戻します。

### Delete Skin

- 選択したメッシュから**ウェイトとSkin Modifierを削除**します。
- **All Skin Delete** — スキンが付いているもの**すべてを削除**（**元に戻しにくい**）。

### Save · Load（バックアップ・復元）

1. **Save** — 現在のウェイトを**ファイルに保存**（バックアップ、別のシーンへの移行時）。
2. **Load** — 保存ファイルを**読み込む**。通常**既存のウェイトを消して**新たに適用します。
3. 成功するとメッシュ表示が**色で変わる**などUIで確認できることがあります（バージョンにより異なる）。

#### 推奨手順

```
作業の合間にSave（バックアップ）
    → ミスしたらLoad（復元）
    → Delete前にもSave
```

## Rigging Info（簡単に）

- Skinタブ近くまたは別ボタンで**Rigging Info**パネルに入れます。
- ミラー・リセット・カスタムコントローラーはここの**登録・Update**と連動します（Ep.10・13）。

## 注意事項

- **Delete All Skin**前に**必ずSave**。
- Disable/Enableだけでは**ウェイト値は消えません**。Reset・Deleteは**データが変わります**。
- Loadするとき**ボーン数・名前**が保存時と異なると**失敗**することがあります → Build/Figure**完了後**にスキン。

---

# Ep.7 — Edit Utils · Quick Connect · ボーン Stretch/Squash

> slug: ep07-edit-utils

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

## 概要

**Edit Utils**タブ — リギングの**修正・接続**段階で使う機能です。  
**Ani Utils**（アニメーション）とは**役割が異なります** — リガー・TAがリグを**修正するとき**に主にEdit Utilsを使います。

## Edit Utils vs Ani Utils

| タブ | 誰が・いつ | 例 |
|------|-----------|-----|
| **Edit Utils** | リギングを**作成・修正**するとき | ボーン接続、Stretchオフ |
| **Ani Utils** | **アニメーション**を撮るとき | キー、ポーズミラー、リセット |

## Quick Connect — コントローラーとボーンの接続

**「このコントローラーを動かすとあのボーンが追従する」**を一度に接続します。

### 手順（動画の順序）

1. **Edit Utils** → Quick Connect エリアを開きます。
2. **コントローラー側リスト**に**動かす側**（コントローラー）を追加します。
3. **ボーン側リスト**に**追従する側**（スキンボーンなど）を追加します。
4. **Find（名前で検索）** — Left Arm ↔ Left Armのように**名前が対応する**ものを**自動選択**。
5. 接続方式で**Local Matrix Auto Parent**を選択 → **Connect**ボタン。
6. コントローラーを動かして**ボーンが一緒に**動くか確認。

**Local Matrix Auto Parentを推奨する理由：** 構造が**シンプル**で、接続後も**位置・回転が0に近く**保たれやすいです（シミュレーションツール・Spring MagicともEp.11で関連）。

### 他の接続方式

- Point Constraint、Wire Parametersなど**複数の方式**に対応。
- ほとんどの場合、**Local Matrix Auto Parent**一つで十分です。

## Stretch / Squash のオフ

BipedPlusは**伸縮・つぶれ（Stretch & Squash）**をサポートしますが、**すべてのボーン**に常にオンにする必要はありません。

### なぜオフにするか

- Stretchが**オンのボーン**にスケールを与えると**スキンメッシュが一緒に引き伸ばされて**見えることがあります。
- **Squash & Stretch演出を使わない**ボーンは**Stretchオプションをオフ**にします。

### 方法

1. Edit Utilsで該当**ボーン**を選択。
2. **Stretch / Squash**関連オプションを**オフ**にする。
3. **Align**関連オプションも一緒に確認。
4. ポーズ・スケールテスト → **スキンが裂けにくいか**確認。

> このオプションはMax標準Skin Modifier**だけ**では存在しない場合があるため、**BipedPlus Edit Utils**で管理します。

## カスタムボーン長（Bone Tip）

- ボーンの**先端の長さ**をビューポートで**見やすく**調整します（動画後半）。
- **Stretch OFF**と組み合わせると**画面上のみ**整理され、アニメーションへの影響を減らします。

## 注意事項

- Connect前に**命名規則**（Left/Right、Ctrlプレフィックスなど）を合わせると**Find**が正確になります。
- 接続を**複数種類重ねる**と混乱することがあります → **Local Matrix Auto Parent**を優先。
- **演出用Stretch ON**ボーンと**OFF**ボーンを**あらかじめ区別**しておきましょう。

---

# Ep.8 — Picker · カスタムピッカー構成

> slug: ep08-picker

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

## 概要

**Picker** = ビューポートでコントローラーを**一つひとつ探さずに**、**ボタン**で素早く**選択**するUIです。  
BipedPlus **Pickerタブ**で**作成・接続・保存**まで行います。

## 事前準備

- Build〜Controllerまで完了
- **Figure Modeがオフ**の状態（アニメーション・リギング作業モード）
- Pickerウィンドウが**最初に大きく**開く場合があります — モニターに合わせて縮小してください

## ステップバイステップガイド

### 1. Pickerを開く · Scan

1. **Pickerタブ**からPickerウィンドウを開きます。
2. **Scan** — シーンのBipedPlusリグを**読み込んで**ボタンエリアが**アクティブ**になります。  
   → Scanしないとウィンドウが**空**だったりボタンが**反応しない**場合があります。
3. ウィンドウの**角**をドラッグしてサイズ調整。

### 2. Connect / Disconnect — ボタンとコントローラーの接続

1. **Connectモード**をオンにします。
2. ビューポートの**コントローラー**をPickerの**ボタン上**に**ドラッグ**して接続します。
3. 接続後Connectを**オフ**にして、ボタンを押すと該当コントローラーが**選択**されます。
4. **Disconnect** — 接続解除。

> Connect**オンの状態**でボタンを押すだけだと**選択できない**場合があります — Connect **OFF**後にテスト。

### 3. Template vs Editモード

| モード | 説明 |
|--------|------|
| **Template（テンプレート）** | **デフォルト提供**のレイアウト — 位置を少し調整するだけ |
| **Edit（編集）** | ボタンの**追加・削除・サイズ・背景**を自由に設定 |

**テンプレートを修正するには（重要）：**

1. **「別名で保存」** — 原本を**コピー**します。
2. **Editモード**に切り替えます。
3. チーム/テスト用の名前で保存してから編集。

→ **原本テンプレートを直接上書きしないでください。**

### 4. ボタン追加 · 整列 · ミラー

1. Editモード → **Add Button**などでボタンを追加。
2. ボタン**3つ**を縦に配置する例（動画）。
3. **Align（整列）** — 間隔・ライン揃え。
4. **Mirror** — Picker UI上で**左右対称**配置。
5. **Save / Update** → **アニメーションモード**でボタンを押して**選択できるか**確認。

### 5. 背景画像

- キャラクターの**シルエット画像**を背景に入れると、**肩・手・脚**の位置にボタンを**直感的に**配置しやすくなります。

### 6. Ani Utilsと一緒に使う

- Picker + **Ani Utils**をMaxの**横に並べて**おくと  
  **ボタンで選択 → Key → Mirror** が一連の流れになります。

## ヒント

- リグの**構造変更**（カスタムコントローラー追加、Buildオプション変更）後 → **Scan再実行**。
- Twistを**5つ**などにボーン数を変えたら PickerのプリセットもEp.3と合わせること。

---

# Ep.9 — Ani Utils · アニメーション補助

> slug: ep09-ani-utils

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

## 概要

**Ani Utils**タブ — **アニメーションを制作するとき**に使う補助ツール集です。  
Pickerと**並べて**使うことが多いです。

## 事前準備

- Build完了、**Figure Mode OFF**
- Build時に**Rigging Info生成**チェック（Ep.1）

---

## 機能別説明

### Local / World — どの基準で動かすか

| モード | 意味 |
|--------|------|
| **Local** | **親（肩・手首など）** を基準に回転・移動 |
| **World** | **シーン全体（ワールド）** を基準 |

- 腕を**胴体基準**で曲げるならLocal、**空中方向**に回すならWorld — **パーツごと**にチームの習慣があります。

### Selection · Key · Reset

| ボタン | 動作 |
|--------|------|
| **Selection** | Left Arm、Spineなど**部位グループ**を一度に選択 |
| **Key** | 選択したものに**キーフレーム** |
| **Reset All** | リグ**全体**を**デフォルトポーズ**に |
| **Reset Selection** | **選んだものだけ**デフォルトポーズに（Ep.14） |

- Ep.13で**カスタムコントローラー**をRigging Infoに登録すると**Reset All**に**一緒に**含まれます。

### Mirror Pose — 左右ポーズのコピー

1. **片側**の腕・脚のポーズを作ります。
2. **Copy**（Left → Rightなど方向を選択）。
3. **Mirror**または**Flip Copy** — **反対側**に**対称ポーズ**を貼り付け。
4. ツインテールなど**カスタム**はEp.13の**Mirror Factor**登録後に**正しく**ミラーされます。

### Slide Key · Free Key

- **Slide Key** — キーの**タイミング・値**をスライド（Maxタイムライン補助）。
- **Free Key** — 特定の軸だけ解放してキー（チームのワークフローに合わせて）。

### Scale

- 選択コントローラーの**サイズ（スケール）**キー — Squash & Stretch **演出**と連動。  
  → スキンが裂ける場合はEp.7の**Stretch OFF**ボーンか確認。

### Range · Play

- **Range** — 再生**区間**を指定。
- **Play** — その区間だけ**プレビュー**。

### Pose · Posture コピー

- **Pose** — 現在フレームのポーズを**保存・貼り付け**。
- **Posture** — Biped **Posture**形式（Max Bipedユーザーに馴染みのある方式）。

### Transform Snap · Bake

- **Snap** — 別のコントローラー・オブジェクトに**位置/回転を合わせる**。
- **Bake** — コンストレイントの結果を**キー・トランスフォームに焼き込む** — ゲームエンジンに**エクスポートする際**に必要な場合があります。

### Prop Snap — 武器・小道具の取り付け

- **Prop（武器）** コントローラーを**手・Propボーン**の位置に**素早く**合わせます。
- IKなしで**装備ポーズ**を取るときに便利です。

---

## 推奨作業順序（例）

```
Pickerで Spine / Arm を選択
  → Localでポーズ
  → Key
  → Mirror Copyで反対側へ
  → Playで区間確認
  → Prop Snapで武器
```

## 注意事項

- **Reset All**は**登録済みカスタム**まで戻ります — 意図を確認。
- Local / Worldを**混在させると**キー値が**不自然**になることがあります。
- Stretch**オンのボーン**にScaleキーを多用 → **スキン問題**（Ep.7）。

---

# Ep.10 — Seed · ノードリネーム · Layer

> slug: ep10-seed-layer

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

## 概要

チームの**命名規則**に合わせてボーン・コントローラーの**名前を変更しても**、BipedPlusの**Picker・ミラー・リセット**を引き続き使えるようにする**Seed・Rigging Info Update**と**レイヤー整理**を解説します。

## Seed — 簡単に言うと

**電話帳**のようなものです。

- Maxではボーン名を **`LeftArm`** → **`Ctrl_L_Arm`** のように**変更**できます。
- BipedPlusは**Seed**に「このボーンが元々何だったか」を**記憶**しておきます。
- 名前を変えた後**Updateするだけ**で、Picker・Mirror・Resetが**新しい名前**で再接続されます。

**Updateを忘れると：** Mirror・Reset・Pickerが**一部しか動作しない**か、**Missing（欠落）** リストに表示されます。

## Free Node Rename — 名前の変更

1. チームルールに合わせて**名前だけ**変更（Left/Right、Ctrl接頭辞など）。
2. **親子の連結構造**は**そのまま**維持します。
3. **Rigging Info**で**Scan → Update**（またはPicker **Scan**）。

## Rigging Info — Update · Missing From Seed

### 手順

1. **Rigging Info**パネルを開く（Skinタブ付近など — UIバージョンごとに位置確認）。
2. **Scan / Load** — 現在のシーンの**リグ構造**を読み込む。
3. **Update** — 変更された名前・追加されたコントローラーを**反映**。
4. **Missing From Seed** — Seedにはあるが**登録から漏れた**項目一覧 → **Add + Update**で解決。

### Updateが必要なとき

| 状況 | 操作 |
|------|--------|
| ボーン・コントローラーの**名前変更** | Update |
| **カスタムコントローラー**追加 | Add → Update (Ep.13) |
| Buildオプションを変えて**再Build** | Scan → Update |
| Picker / Mirror **動かない** | Missingリスト確認 |

## Layer — レイヤー整理

BipedPlusは**Max Layer**で種類を分けます（名前はチームに合わせて変更可能）。

| Layer（例） | 入れるもの |
|------------|---------|
| **Controller** | アニメーターが**動かす**コントローラー |
| **Skin** | **ウェイト・エクスポート**用スキンボーン |
| **System** | Space Groupなど**非表示**の整理用 |

**なぜ重要か：** コントローラーを**Skin Layer**に入れると、FBXエクスポート時にゲームに**不要なボーン**まで含まれてしまいます（Ep.11）。

## ヒント

- **名前・レイヤー整理**はリギングの**半分** — こまめにやると後が楽になります。
- Update前に**シーンを保存（バックアップ）**。

---

# Ep.11 — シムボーン · Spring Magic 連動

> slug: ep11-simu-bone

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

## 概要

**Spring Magic**のような**二次シミュレーション**（髪、スマートフォンのひも、チェーン）をBipedPlusリグに**規則に従って**取り付ける方法です。  
核心は**「スキンボーン」と「コントローラー」を分け**、**Space Group**で整理することです。

## Spring MagicとBipedPlus — なぜ注意が必要か

| BipedPlus通常の方式 | Spring Magicが好む方式 |
|---------------------|------------------------------|
| **オフセット＋コントローラー**（中間に空ノード） | **ボーンのみ**の**単純なチェーン** |
| 接続後**位置・回転0**を維持 | **中間ノードなし**でHead → Bone → Bone |

- Spring Magicは**オフセット（中間グループ）**があると**正常に動かない**場合があります。
- オフセットなしでHeadの直下にボーンのみ繋げれば**動きますが**、BipedPlusの**レイヤー・スキン分離規則**と**合いません**。

> **別のシミュレーションツール**を使う場合は、オフセットを許容するかどうか**自分でテスト**してください。許容されれば既存のBipedPlus方式を維持できます。

---

## 推奨構造（映像 — 髪の例）

### ステップ1：スキンボーン（ゲームに送る側）

- **スキン階層**にHair1、Hair2…のような**ボーンチェーン**を作ります（頭から続く）。
- ここに**後でウェイト**を付けます。
- **Controller Layerには入れません。**

### ステップ2：コントローラー（アニメーター・シムが操作する側）

1. 同じ構造を**コピー（クローン）** → **親切り離し（Unparent）**。
2. チームルールに従って**コントローラー名**を付ける（例：Ctrl_Hair1、Ctrl_Hair2…）。
3. ビューポートで**ボックス表示**などで**ボーンと区別**。
4. **Edit Utils → Quick Connect：**
   - **コントローラーリスト** ← Ctrl_Hairたち
   - **ボーンリスト** ← Skin Hairたち
   - **Find** → **Local Matrix Auto Parent** → 接続
5. **頭**を動かすと**Hairチェーン全体**がついてくるか確認。

### ステップ3：Space Group — 「どこに置くか」問題の解決

**Space Groupとは？**  
**基準ボーン**（映像：**頭のスキンボーン**）と**まったく同じ位置・回転・スケール**を持つ**空のグループ**です。  
（映像ではPelvisで**原理**を説明した後、髪の例では**頭**を基準に作ります。）

**なぜ必要か**

- シミュレーション用コントローラーを**Skin Layer**に入れると → FBX**エクスポート時にゲームボーンに混入**。
- **Controller Layer**だけ使うと → **頭と一緒に**動かない場合がある。
- **Space Group**の下にCtrlだけ置くと → **頭に追従しながら**、**エクスポートに混入しない**。

**作成手順（映像）**

1. **Skin Head**（頭のスキンボーン）を選択。
2. **Create Space Group**（Figure/Editメニュー — バージョンによってUI確認）。
3. Space Groupの**シェイプ（カーブ）をオフ** — 見えないように（100%スケール時はすでにオフの場合あり）。
4. Space Groupが**頭と同じように**動くか確認。
5. **Ctrl_Hair\***を**Space Groupの子**に → **System Layer**などへ。

### ステップ4：レイヤー整理

| 入れるもの | Layer |
|---------|--------|
| Ctrl_Hair* | **Controller** |
| Skin Hair* | **Skin** |
| Space Group | **System** |

---

## Spring Magicの実行

- 映像は**構造まで** — Spring Magic**実行**は省略可能。
- **単純なボーンチェーン＋Space Group下のCtrl**なら、**一般的なSpring Magic**ワークフローに合わせることが目標です。

## Rigging Info連携

1. **Scan** → カスタム**Ctrl_Hair\*** → **Rigging Info Add**。
2. **Update**。
3. **Ani Utils Reset All** — Hairも**一緒に**デフォルトポーズに戻るか確認。

## スケールの注意

- Quick Connect＋**スケールキー** → **スキン歪み**の可能性（Ep.7 Stretch/Squashと合わせて管理）。

---

# Ep.12 — Bone Mirror

> slug: ep12-bone-mirror

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

## 概要

**片側だけ**作った**追加ボーン**を**反対側にコピー**するときに使います。  
3ds Max**標準のBone Mirror**は**位置がずれやすいため**、BipedPlus **Edit Utils → Bone Mirror**を使う方法を解説します。

> **Bone Mirror** = **ボーン配置・生成**ステージ。**ポーズ**の左右コピーは**Ani Utils**（Ep.9·14）です。

## Max標準Bone Mirror — 何が不便か

- 選択したボーンの**ピボット（原点）**基準でミラーされるため、**キャラクターの中心（X=0）の鏡**に映ったように**合わない**ケースが多いです。
- 合わせるには**ワールドX座標を手動で計算**しなければならず**面倒です**。

## BipedPlus Bone Mirror — 使い方

**Edit Utils**エリアの**Bone Mirror**を開きます。

### オプション（簡単に）

| オプション | 意味 |
|------|------|
| **Mirror Plane** | **ミラー面** — 通常**YZ平面**（= キャラクターの**正面**から左↔右反転） |
| **X Flip** | **X軸**基準で**反転** |
| **Headless Axis** | ミラー時に**どの軸を基準に回転**するか — Bipedは通常**Z**。**デフォルト維持**推奨 |

```
        │ ミラー面 (YZ)
   Left │ Right
   ────┼────
        │
```

### 手順

1. **ミラーの基準となるボーンをすべて選択**（通常**Left**側チェーン）。
2. **Hierarchy** → **Parent** — **子ボーン構造が維持**されるように（最初は手動でParent固定が必要な場合あり）。
3. **Mirror**実行。
4. **Left / Right**名が**規則通り**に変わったか確認。
5. 動かして**Z軸回転**等が**対称**かテスト。

## いつ使うか

- Ep.11のように**カスタムHair・小道具ボーン**を**片側だけ**作って**反対側に複製**するとき。
- Max標準Mirror**の代わりに正面基準**の対称を合わせるとき。

## 注意事項

- **Hierarchy Parent**を合わせないと**親が外れたり**ツリーが壊れる可能性あり。
- **Headless Axis**を勝手に変えないこと。
- ミラー後は**Rigging Info Update**（Ep.10）。

---

# Ep.13 — Custom Mirror Factor

> slug: ep13-custom-mirror-factor

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

## 概要

**ツインテール・髪**のように**直接追加したコントローラー**も、Biped**腕・脚**のように**Copy · Mirror · Reset**できるようにするための設定です。  
**Rigging Info登録** + **Mirror Factor（ミラー係数）** が核心です。

## 前提条件

- Ep.11と同様に**Space Group + Skinボーン + Ctrl + Quick Connect**を完了

## なぜ必要か — 例（ツインテール）

- **Left Arm**はAni Utils **Copy · Mirror**すると**うまく**合います。
- **頭から伸びるTwin1**をそのままMirrorすると**反対側が変な角度**でついてきます。

**理由：** 左右対称は**軸ごとに"+角度 → -角度"** に変える必要がありますが、**カスタムボーンごと**に規則が異なります。  
この**軸ごとの±1ルール**が**Mirror Factor**です。

手動で合わせることは**リガーには可能**ですが**アニメーターには難しすぎます** → **Auto Calculation Mirror Factor**で**自動計算**。

---

## 手順ガイド

### 1. Rigging Infoに**コントローラー**を登録

> **Skinボーンではなく Ctrl（コントローラー）** を登録します — アニメーターが**動かす**側。

1. **Twin1、Twin2…**（カスタムCtrl）を**全部選択**。
2. **Rigging Info** → **Add**。
3. リストに**New Controller**などが表示されればOK。
4. **見えない場合：** **Scan → Load**後に再度Add。

### 2. Update

1. **Update**をクリック。
2. **Settings**リストに**Twin1**等の**カスタム名が表示**されるか確認。  
   → Update**前には表示されない**場合があります。

### 3. Auto Calculation Mirror Factor

1. 該当コントローラーの**Settings**を開く。
2. **Auto Calculation Mirror Factor**を実行。
3. **Xは逆、Y·Zは維持**のような**自動値**が入力される。
4. **Left** TwinをしっかりRotate/Move → **Copy · Mirror to Right**。
5. **鏡に映ったように**対称なら**成功**。

### 4. Reset · Flipも連動するか確認

| 機能 | 期待結果 |
|------|---------|
| **Reset All** | Twin含め**デフォルトポーズ** |
| **Flip Copy** | 左右**フリップ**正常 |
| **選択 Flip Copy** | **選んだものだけ**フリップ |

→ **Bipedボーンと同じ感覚**で使えます。

---

## Rigging Info — その他の用途（参考）

- **リファレンス・アニメーション補助** — ポーズ保存など
- BipedPlus **Mirror / Reset / Picker** — **ミラー・デフォルトポーズ**データ

（詳細はRigging Info**別途チュートリアル** — 映像で言及）

## ルーティン（覚えること）

```
カスタムCtrl追加
  → Rigging Info Add
  → Update
  → Auto Calculation Mirror Factor
  → Copy/Mirrorテスト
```

## 注意事項

- **Connect·Space Group**なしでCtrlだけAdd → Resetはできても**Mirrorが変**になる可能性。
- Autoで**合わないときだけ** Factor**手動**調整。
- Picker **Scan**後に**カスタムボタン**を連結。

---

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

> slug: ep14-pose-mirror

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

## 概要

**Ani Utils**で**Copy · Flip（ミラー）** を行う際、BipedPlusが**通常のBipedよりうまく合う**ケースと、**部分選択・リセット**の方法を解説します。  
**COM（重心）**、**Clavicle（鎖骨）**、**Pelvis（骨盤）**、**Twist**など、**アクションポーズ**でよく混乱する状況を中心に説明します。

> **どこで行うか：** **Ani Utils**タブ → Copy / Flip / Reset Selection

---

## COM（重心）傾け＋Flip

### 通常のBipedの場合

- 身体を**傾けたまま**Flipすると、**脚・足の方向**が**意図した反対方向**にならないことが多いです。
- **COM**を**傾けて**使う**アクション・重心**ポーズで特にそうです。

### BipedPlus

1. **Copy** → **Flip**（Ani Utils）。
2. **COMが傾いた状態**でも**対称が自然に**合いやすいです。
3. **リファレンスポーズの左右反転**に有利です。

---

## Clavicle（鎖骨）のみMirror

### 問題

- **Clavicleだけ**選んでCopy · Mirror → **肩の角度が意図と異なる**。

### BipedPlus

1. 同じポーズで**Clavicleだけ**選択。
2. Copy · Mirror。
3. **Chest（胸・上体）** を**基準**に対称 → **肩のラインが合う**。
4. **Flip**もClavicle**だけ**選択すれば**同様**。

**用途：** 全身ではなく**肩だけ**少し合わせたいとき。

---

## Pelvis（骨盤）回転＋Flip

### 現象

- **Pelvis**に**複数軸の回転**を素早く与えてFlipすると、**脚が反転したように**なる**場合があります**。

### どう見ればよいか

- **Copy → Left/Right**したとき**脚が自然に**変われば**正しいミラー**です。
- おかしければ：
  1. Flip**前にCopy**で**プレビュー**。
  2. **Pelvisの回転順序**調整。
  3. または**脚・腕だけ**選択してMirror（下記）。

> BipedPlusは**Pelvisを無理に分離しなくても** **ミラー**されるよう設計しているという説明（映像）。

---

## 胴体Twist · 部分Mirror

**全身Mirror**時：

| 部位 | 動作 |
|------|------|
| **腕・脚** | 左 → 右 **そのまま**対称 |
| **胴体傾き** | **傾きを維持** |
| **Twist（ねじり）単一ボーン** | 左×右 → **0**（ねじり**相殺**） |

- **胴体のみねじり0** — 全身ミラー時に**ねじりが2倍**蓄積されるのを**防ぐため**。
- **Twistを残したいなら** → **腕・脚だけ**選択してCopy · Mirror。

---

## Reset Selection — 上体だけリセット

**下半身ポーズは維持**、**上体だけ**デフォルトに：

1. **Spine、Arm、Head**など**上体のみ**選択。
2. Ani Utils → **Reset Selection**。
3. **選択した部位だけ**Tポーズなど**デフォルト** — **脚のポーズはそのまま**。

**用途：** ブロッキング・リファレンス修正時に**下半身はそのままで**上体だけ直すとき。

---

## チェックリスト

```
□ COM傾けたポーズ → Flip確認
□ Clavicleだけ Mirror → 肩の対称？
□ Pelvis強い回転 → 先にCopyで確認
□ Twist0が嫌 → 腕/脚だけMirror
□ 上体だけ戻す → Reset Selection
□ カスタム（ツインテール）→ Ep.13で登録済みか
```

## 注意事項

- Ep.13**未登録**のカスタムはFlip·Reset**範囲外**の場合あり。
- **部分Mirror**後に**キーを再取得**する必要がある場合あり。

## シリーズまとめ

Ep.0〜14を順番に見ると、**Build → Figure → Controller → Skin → Edit → Picker → Ani → Seed → シミュレーション → Mirror**まで**全体の流れ**を網羅します。  
チームの**命名規則・レイヤー・エクスポートルール**と合わせて適用してください。

→ [README — 目次](README.md)

---

# Ep.15 — Player ライセンス (Animator Edition)

> slug: ep15-player-license

https://youtu.be/9bXxrnpclU8


アニメーターやスタジオが「何個買えばいい?」をすぐ理解できるようにまとめたドキュメントです。

## 1. 結論から

**アニメーター10名いても、Full ライセンスが10本必要なわけではありません。**

| 役割 | エディション | 価格 | 有効期限・デバイス | 使用機能 |
|------|------------|------|----------------|---------|
| リガー | **Full** | アーリーアクセス **$349** / 正式版 **$399** | 永続 · **3台** | Edit + Ani (Build, Skin, Figure, INFO, Picker…) |
| アニメーター | **Player** (Animator / Companion) | **$0** | 永続 · **3台** | **Aniのみ** (Picker, Mirror, Reset, Flip など) |

> インストーラーは**1つ（同一MZP）**。ライセンスの種類だけUIを変えます。
> Full = リグの**制作**。Player = そのリグの**上でアニメーション**のみ。

## 2. UIの違い

### Full
左ツリーに **Edit** + **Ani** タブが両方表示されます。

| Edit（リガー） | Ani（共通） |
|--------------|-----------|
| Figure Mode | Picker |
| Ctrl Shape | Ani Utils |
| Skin | |
| Build | |
| Info_Node | |
| Edit_Utils | |

### Player
- **Edit カテゴリが完全に非表示**、**Aniのみ**表示（Picker · Ani Utils）
- ウィンドウに **Animator Edition** ラベルが表示

Edit を非表示にする理由：① 不要なUIを排除 ② リグ内部の誤編集を防止

## 3. Playerが動作する条件

| シーン | Player |
|--------|--------|
| 通常のBipedリグ | ❌ |
| **BipedPlus Full でビルドしたリグ**（INFOノード付き） | ✅ |

Fullでビルドするとシーンに **INFOノード**が生成されます。
Picker / Mirror / Reset などはこの**リギング情報**を参照します。INFOは削除・任意修正禁止。

## 4. チームワークフロー

```
① リガー（Full） → Build / カスタム / INFO保存
        ↓ .maxを共有フォルダ（NASなど）に保存
② アニメーター × N（Player） → 同じファイルを開く → Picker / Ani Utilsで作業
```

### コスト例（アーリーアクセス $349基準、アニメーター10名チーム）

| 方式 | コスト |
|------|-------|
| ❌ 全員 Full | 10 × $349 = **$3,490** |
| ✅ リガー1~2名 Full + アニメーター Player | **$349 ~ $698** |

### FAQ — チーム規模

| 質問 | 回答 |
|------|------|
| 20名チーム、Full 1本のみ？ | **可能。** リガー1 Full + アニメーター19 Player |
| 50名チーム、Full 1本のみ？ | ライセンスは可能ですが、リガー1名がボトルネックになる可能性があります |
| 100名チーム、Full 1本のみ？ | **リギング担当2~3名**でFullを分けて購入することを推奨 |

## 5. Playerが無料の理由

リガーがFullを購入しBipedPlusでリギングしたファイルをチームに渡す際、アニメーターが使わないEdit機能を含んだフル価格を要求するのは負担が大きすぎます。
スタジオは制作（Full）に投資し、アニメーションシートは**Companionとして無料発行**されます。

## 6. はじめに

1. OtakuSolutionsウェブサイトで **Player (Animator) Edition / Companion** を申請
2. メール認証 → ライセンス発行
3. **Fullと同一のBipedPlus**をインストール（3ds Max **2022~2027** 対応）
4. Playerライセンスで認証 → Aniタブのみ表示されることを確認
5. BipedPlusでビルドされた `.max` を開きPickerやAni Utilsを使用

**覚えておくべき3つのルール**
1. インストーラーは**1つ**
2. リガー = **Full**、アニメーター = **Player（無料）** · 各 **3台**
3. リグは**必ずBipedPlusでビルド**（INFOノードが必要）

---

# Ep.16 — Customizing 01: Hierarchy 構造

> slug: ep16-customizing-hierarchy

https://youtu.be/joFROh0jGag


BipedPlusのBuild結果物のHierarchyを理解し、カスタム（マント・ブレスレットなど）を**どこに追加するか**把握するためのドキュメントです。

> **Hierarchy Viewが本体**です。Layer Viewは整理・表示用であり、リギングの根本ではありません。

## 1. このドキュメントが必要な理由

BipedPlusはAuto Riggingで構造を素早く作成します。
しかしスタジオによってネーミング・プロップ・追加コントローラーは異なります。
**構造を理解すれば、カスタマイズの場所が見えてきます。**

## 2. Build後の大きな構造 — 4つだけ覚える

```
シーン
├── Grp_Mod          （モデリンググループ）    ← 元のメッシュ
├── Grp_Sys          （システムグループ）      ← シーンに存在するだけでいいヘルパー / INFOなど
├── Grp_RigModule    （リグモジュールグループ） ← 腕・脚・頭モジュール + Space
└── Root / Skin ツリー（スキンボーン）         ← エンジンエクスポート用ボーン
```

| グループ | 役割 | ユーザーがすること |
|---------|------|----------------|
| **モデリング (`Grp_Mod`)** | キャラクターのメッシュ | モデリングをすべてここに |
| **システム (`Grp_Sys`)** | シーンに存在するだけでいいノード | INFO・ヘルパー・システムノード — アニメーターは触れない |
| **リグモジュール (`Grp_RigModule`)** | 腕/脚/頭モジュール + Space | **カスタマイズのメイン作業エリア** |
| **スキンボーン** | エンジンに出力する最終ボーン | スキニング・エクスポートの基準 |

## 3. RigModule 内の2つのSpace

| グループ | 意味 | 使用者 |
|---------|------|--------|
| **`Grp_Admin_Space`** | BipedPlus内部計算・幹用Space | 通常作業ではほぼ触れない |
| **`Grp_Custom_Space`** | 最終ボーン位置に合わせたSpaceの集合 | **マント・ブレスレット・プロップなどを入れる場所** |

**Spaceとは？** 特定ノードの位置・回転・スケールと同じように追従するグループです。

### 実務例 — Create Space by Selection

1. 最終ボーン（例：`Skin_Hand`）を選択
2. **Edit_Utils → Create Space by Selection** を実行
3. 生成されたSpaceを **`Grp_Custom_Space` に移動**することを推奨
4. ブレスレット・追加ボーン・コントローラーをそのSpace**の下**に配置

## 4. カスタマイズルール

| 区分 | 内容 |
|------|------|
| ✅ してよいこと | モデリング → モデリンググループ、Space作成後カスタム配置、制御用Ctrl追加 |
| ❌ 触れてはいけないもの | **INFOノード**（データ保存）、**Admin Space幹**（内部計算） |

### Segボーンでなく上位Skinボーンを使う理由

| | 例 | 推奨 |
|--|----|------|
| 上位Skinボーン | `Skin_Spine1` | **✅** — Space・カスタムの基準 |
| Segボーン | `Skin_Spine1_Seg` | **❌** — Stretchスケールの影響を受ける可能性あり |

## 5. チェックリスト

- [ ] Hierarchy Viewで4大グループを区別できる
- [ ] モデリングはモデリンググループにのみ入れる
- [ ] カスタムは`Grp_Custom_Space` + 対象ボーンSpaceの下に置く
- [ ] Skin Parentだけで終わらず、制御用Ctrlも作成する
- [ ] INFOノードには触れない
- [ ] Layerだけを見て構造を判断しない

---

# Ep.17 — Customizing 02: レイヤーシステム

> slug: ep17-customizing-layer

https://youtu.be/G5sRWu0EGRk


BipedPlusの基本Layerの内容と、どこに何を入れるかをまとめたドキュメントです。

## 1. Hierarchyが本体、Layerは区別用

| | Hierarchy | Layer |
|--|-----------|-------|
| 役割 | 親子・Space・コンストレイント関係 | ノードのまとめ・表示/非表示・作業の利便性 |
| 重要度 | **根本** | 整理・運用の利便性 |

Layerは「どこにまとめるか」であり、「どのように繋がっているか」ではありません。
構造理解は常に **Hierarchy → Layer** の順で行ってください。

## 2. BipedPlus 基本レイヤーマップ

| レイヤー（役割） | 入れるもの | メモ |
|---------------|---------|------|
| **Biped** | Bipedボーン（`Bip001…`） | Biped本体のみ |
| **Ctrl** | アニメーターが直接操作するメインコントローラー | ブレスレット・マントなど**カスタムCtrl**もここ |
| **Ctrl_Seg** | Twist / Seg などの細部コントローラー | 微調整用 |
| **Ctrl_Seg_Pin** | Stretch / Squash用 Pin・Shape類 | ピンセット的なコントローラー |
| **Init_Ctrl** | Figure モード用Initコントローラー | セットアップ段階。アニメーション作業中は通常非表示 |
| **Modeling** | メッシュ・小道具のモデリング | HierarchyのモデリンググループＢと一致 |
| **Skin** | Skinボーン | エンジンエクスポートの**核心** |
| **Sys** | システムノード | 下記Sysルール参照 |

## 3. Skin vs Ctrl — 役割分離

| | Skin | Ctrl |
|--|------|------|
| 目的 | メッシュ変形・エンジンボーン | アニメーター操作 |
| 役割 | エクスポート基準 | アニメーションUI |

Playerユーザーは主に **Ctrl（+ ピッカー）** だけ操作すれば問題ありません。

### Ctrl vs Ctrl_Seg の区別基準

- **スケールが適用されるか**、**メインかディテール要素か**
- チームの好みに合わせて調整可能。重要なのは**アニメーターが触るものと触らないものを明確にする**こと。

## 4. Sys レイヤールール

以下のいずれか（または両方）に該当する場合、Sys：

1. **どのHierarchyにも属さず、シーンに存在するだけでよい**
2. **アニメーターが触る必要がない**

例：INFOデータノード、Offset（CtrlはCtrlレイヤー、OffsetはSys推奨）、Shadowヘルパー

## 5. カスタム配置クイックガイド

| 追加物 | Hierarchy | Layer |
|--------|-----------|-------|
| メッシュ（帽子・ポケット） | モデリンググループ | Modeling |
| アニメーター用コントローラー | Custom Space下 | **Ctrl** |
| Twist / 細部 | 既存モジュールルール | Ctrl_Seg |
| 絶対触れてはいけないもの | システムグループ | **Sys** |
| エンジンボーン | Skinツリー | **Skin** |

## 6. Player（アニメーター）へのひとこと

Edit UIはすでに非表示です。**Init_Ctrl · Sys** には触れないようにしてください。
修正が必要な場合は **社内リギング担当者にお問い合わせ**ください。

---

# Ep.18 — Customizing 03: ネーミング & チームテンプレート

> slug: ep18-customizing-naming

https://youtu.be/pwvMbO_Y36k


スタジオのネーミングルールに変更した後、**一度だけ作成してcommonテンプレートとして再利用**する方法をまとめたドキュメントです。

## 1. なぜ必要か

BipedPlusのデフォルトネーミング（`Skin_*`、`Ctrl_*`、`Bip001`）がチームのルールと異なると、ワークフローが詰まる場合があります。
変更することはできますが、**毎回Renameを繰り返さないようにテンプレートとして保存**することが重要です。

## 2. 全体パイプライン

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

## 3. ネーミング変更の許容範囲と注意事項

| 区分 | 内容 |
|------|------|
| ✅ 変更可能 | Biped名、Skinボーン名（エンジンボーン名一致目的）、コントローラー接頭辞、レイヤー表示名 |
| ⚠️ 注意 | Hierarchy / Constraint / Spaceが壊れないよう**一括ルール**での変更を推奨 |
| ❌ Fix Missing省略禁止 | Rename後にFix Missingを省くとMirror / Picker / Resetがずれる |

## 4. Fix Missing — Rename後もシステムが追従するように

名前が変わると、INFOに記録された以前の名前とずれて**Missing**が発生します。

| 概念 | 説明 |
|------|------|
| **Seed** | 名前が変わってもノードを識別するためのユニークなアドレス値 |
| **Fix Missing** | Seedを使って新しい名前のノードを再リンクする機能 |

**手順**：Rig Info → Load → Missing確認 → Fix Missing実行 → ミラー更新確認 → Ani Utilsで検証

## 5. レイヤー名のカスタマイズ

レイヤー設定 → **Edit Name** → 新プリセット（チーム/プロダクト名）→ 接頭/接尾追加 → **Apply to Rename**
Hierarchyの役割分類は維持し、**表示名だけ**チームに合わせます。

## 6. common テンプレートとして保存

| ステップ | 内容 |
|---------|------|
| 1 | モデリングシーン（またはNew File）を開く |
| 2 | **Merge** — `common/BP_Human_Template.max`のすべてのノード |
| 3 | BipedPlus **Scan** — INFO / ミラーなどが維持されているか確認 |
| 4 | Figure / 比率などキャラクター別調整 |
| 5 | キャラクターフォルダに保存 → アニメーションチームに配布（Playerで作業） |

```
共有_リギング/
├── character_A/
├── character_B/
└── common/
    └── BP_Human_Template.max   ← ネーミング・レイヤー・INFOまで設定済みマスター
```

## 7. Pickerの例外

| | INFO / Ani Utils（Fix Missing後） | Picker |
|--|----------------------------------|--------|
| Rename後 | 復旧可能 | **名前ベース**のためレイアウトが崩れる可能性あり |

**推奨**：ネーミング・テンプレートが確定した後、新しいネーミングでPickerを再構成してチームに配布。
Pickerファイルの場所はBipedPlus **Setting**オプションで確認。

## 8. チェックリスト

- [ ] チームのbone / Ctrl / Layerネーミングルールが文書化されている
- [ ] 一括変更のためのRenameスクリプト（またはチームスクリプト）を使用している
- [ ] Rename後：Fix Missing + Mirror / Resetを検証している
- [ ] `common/`テンプレート`.max`が共有フォルダに存在する
- [ ] 新キャラクターはMerge → Scanの手順を使用している
- [ ] Pickerは最終ネーミング基準で再構成している
- [ ] アニメーションチームはPlayerで**同じインストーラー**を使用している


### 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_*`)

> slug: ep19-skin-bones-reference

このドキュメントは、BipedPlusがデフォルト値として生成する `Skin_*` スキニングボーンのネーミングガイドラインです。
OtakuSolutionsが3dsMaxリギング作業で採用している命名規則を共有します。

社内にリギングの命名ガイドラインがないパートナー企業は、このドキュメントを基準としてご参照ください。
カスタマイズ作業の際もこのノード名と構造の規則を維持することで、互換性が保証されます。

BipedPlusは一部の関節で**メインボーン**と**セグメントボーン(`_Seg`)** を分離した二重構造を採用しています。
関節のストレッチ表現とスケールエラー防止が目的です。


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


### スキニング構造設計

| 役割 | 説明 |
|------|------|
| メインボーン (`is_skinned=X`) | 関節運動の主軸/回転を担当。スキニング不要。 |
| `_Seg` ボーン (`is_skinned=O`) | メインボーンの子。各セグメントのメッシュ変形を担当。 |
| `_Twist` ボーン (`is_skinned=O`) | 肢体に沿ってツイスト回転を分散。 |
| `_Cor` ボーン (`is_skinned=O`) | 左右対称補正のための修正ボーン。 |
| Seg/Twistなしのボーン (`is_skinned=O`) | メインボーンに直接スキニング（例：指、手、足）。 |
| `Nub` ボーン (`is_skinned=X`) | チェーン終端マーカー。スキニング不要。 |

### フィールド説明

| フィールド | 説明 |
|-----------|------|
| `direction` | left / center |
| `is_skinned` | ボーンがスキンウェイトを受け取るか（O = はい、X = いいえ） |
| `parent` | 親ノード（`{LAST}` = チェーン内の最後の番号のボーン） |
| `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 — コントローラー ノード名リファレンス (`Ctrl_*`)

> slug: ep20-controller-reference

このドキュメントは、BipedPlusがデフォルト値として生成する `Ctrl_*` コントローラーノードのネーミングガイドラインです。
OtakuSolutionsが3dsMaxリギング作業で採用しているコントローラー命名規則を共有します。

社内にリギングの命名ガイドラインがないパートナー企業は、このドキュメントを基準としてご参照ください。
カスタマイズ作業の際もこのノード名を維持することで、BipedPlusとの互換性が保証されます。


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


### フィールド説明

| フィールド | 説明 |
|-----------|------|
| `direction` | left / center |
| `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 ボーン ノード名リファレンス (`Bip001*`)

> slug: ep21-biped-bones-reference

このドキュメントは、BipedPlusリグの基盤となる3ds MaxのBipedシステム内部ボーン(`Bip001*`)のネーミングリファレンスです。
OtakuSolutionsの3dsMaxリギング作業で実際に使用しているBipedボーン構造を共有します。

社内にリギングの命名ガイドラインがないパートナー企業は、このドキュメントを参考用としてご活用ください。
カスタマイズ作業の際も、このドキュメントを基準として参照していただければ幸いです。


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


### フィールド説明

| フィールド | 説明 |
|-----------|------|
| `direction` | left / center |
| `parent` | 親ノード（`{LAST}` = チェーン内の最後の番号のボーン） |
| `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`