衣装の着せ替え (Modular Avatar)
このガイドでは、Modular Avatar を使ってアバターに衣装を追加する方法を解説します。ワンコマンドでの自動セットアップから、手動での細かい調整まで、衣装着せ替えのすべてを網羅します。
Modular Avatar とは
Modular Avatar (MA) は、VRChat アバターに非破壊で衣装やアクセサリーを追加するためのツールです。「非破壊」とは、元のアバターデータを変更せずに衣装を着せ替えられるということです。
Modular Avatar を使うメリットは以下の通りです。
- 元のアバターを壊さない: 衣装の追加・削除が安全にできる
- 複数の衣装を管理できる: 1 つのアバターに複数の衣装を登録し、切り替えられる
- ボーンの統合が自動: 衣装のボーンをアバターのボーンに自動的に合わせてくれる
- アップロード時に統合: Unity 上では分離したまま、アップロード時に自動で統合される
Modular Avatar のインストール
VRChat Creator Companion (VCC) 経由
あなた:
Modular Avatar をインストールして
AI の動き: VCC のリポジトリから Modular Avatar パッケージがプロジェクトに追加されます。
Modular Avatar の公式サイトから VCC にリポジトリを追加する必要があります。「Modular Avatar の VCC リポジトリを追加して」と指示すると、追加手順が案内されます。
手動インストール
あなた:
Modular Avatar の unitypackage をインポートして
AI の動き: 指定されたパッケージファイルが Unity プロジェクトにインポートされます。
自動セットアップ: auto_setup_outfit
最も簡単な方法は、auto_setup_outfit を使うことです。
あなた:
この衣装をアバターに自動で着せて
AI の動き: auto_setup_outfit が実行され、以下の処理が自動的に行われます。
- 衣装の Prefab をアバターの子オブジェクトとして配置
- MA Merge Armature コンポーネントを追加(ボーンの統合設定)
- アバターの体メッシュと衣装が重なる部分を自動検出
- 必要に応じて体メッシュの一部を非表示に設定
- BlendShape の同期設定(体型調整用のシェイプキーがある場合)
AI の返答例:
衣装セットアップ完了:
衣装名: SummerDress
MA Merge Armature: 設定済み
ボーン統合: 68 ボーンを自動マッピング
体メッシュ: 胴体・腕・脚の一部を非表示に設定
BlendShape 同期: 3 つの体型シェイプキーを同期設定
あなた:
スクリーンショットを見せて。前と横から
ここで着せ替え結果を確認します。
自動セットアップでボーンの対応がうまくいかない場合(衣装が体からずれる、一部のパーツが正しく追従しないなど)は、後述の手動設定で修正できます。
手動セットアップ
自動セットアップで対応しきれない場合や、細かい制御が必要な場合は、個別のツールを使います。
MA Merge Armature の追加
MA Merge Armature は、衣装のボーンをアバターのボーンに統合するコンポーネントです。
あなた:
衣装に MA Merge Armature を追加して。ターゲットはアバターの Armature にして
AI の動き: add_ma_merge_armature が実行され、衣装のルートオブジェクトに MA Merge Armature コンポーネントが追加されます。衣装のボーン階層がアバターのボーン階層に対応付けられます。
MA Merge Armature は、衣装側のボーン名とアバター側のボーン名を比較して自動的に対応付けを行います。例えば、衣装の「LeftUpperArm」ボーンはアバターの「LeftUpperArm」ボーンに統合されます。ボーン名が異なる場合は手動でマッピングを指定する必要があります。
MA Bone Proxy の追加
特定のボーンに直接アタッチしたいオブジェクト(アクセサリーなど)には MA Bone Proxy を使います。
あなた:
このヘアアクセサリーを Head ボーンに追従させて。MA Bone Proxy を使って
AI の動き: add_ma_bone_proxy が実行され、ヘアアクセサリーの GameObject に MA Bone Proxy コンポーネントが追加されます。Head ボーンがターゲットとして設定されます。
あなた:
位置を少し調整して。頭の右側、耳の上あたりに移動して
AI の動き: アクセサリーの Transform(位置情報)が調整されます。
ON/OFF トグルの設定 (add_ma_toggle)
Expression Menu から衣装の表示・非表示を切り替えられるようにします。
あなた:
この衣装の ON/OFF トグルを作って。Expression Menu に「夏服」という名前で追加して
AI の動き: add_ma_toggle が実行され、以下が設定されます。
- 衣装の GameObject に対する ON/OFF アニメーション
- Expression Menu に「夏服」トグル項目を追加
- Expression Parameters にブール値パラメータを追加
これにより、VRChat 内の Expression Menu から衣装の表示・非表示を切り替えられるようになります。
あなた:
衣装を OFF にしたときは、体のメッシュが元通り表示されるようにして
AI の動き: トグルのアニメーションに、体メッシュの表示切り替えも追加されます。衣装が OFF のときは体メッシュが表示され、ON のときは体メッシュの一部が非表示になります。
BlendShape の同期 (add_ma_blendshape_sync)
アバターの体型を調整する BlendShape(例: 胸のサイズ、体の太さ)を衣装にも同期させます。
あなた:
アバターの体型 BlendShape を衣装にも同期して
AI の動き: add_ma_blendshape_sync が実行され、アバターの体型系 BlendShape と衣装の対応する BlendShape が同期設定されます。
AI の返答例:
BlendShape 同期設定:
Breast_Size: アバター → 衣装 (同期済み)
Body_Thin: アバター → 衣装 (同期済み)
Hip_Size: アバター → 衣装 (同期済み)
衣装に対応する BlendShape がないもの: Muscle (スキップ)
アバターと衣装で BlendShape の名前が異なる場合、自動同期がスキップされることがあります。その場合は手動で対応付けを指定してください。
「アバターの Breast_Size を衣装の Bust_Size に同期して」
複数衣装の管理
1 つのアバターに複数の衣装を登録して、切り替えて使う方法です。
あなた:
もう 1 つ衣装を追加して。「冬服」として auto_setup_outfit で設定して
AI の動き: 2 つ目の衣装が追加され、自動セットアップが実行されます。
あなた:
夏服と冬服が排他的に切り替わるようにして。Expression Menu にサブメニュー「衣装」を作って、その中で選択できるようにして
AI の動き: Expression Menu に「衣装」サブメニューが作成され、「夏服」と「冬服」が排他的トグル(一方が ON になると他方が OFF になる)として設定されます。
あなた:
「素体」の選択肢も追加して。どちらの衣装も OFF にできるようにして
AI の動き: 「素体」オプションが追加されます。
最終的な Expression Menu の構造:
Expression Menu
└─ 衣装
├─ 素体
├─ 夏服
└─ 冬服
トラブルシューティング
衣装が体を貫通する
あなた:
衣装の胸あたりが体を貫通している。修正して
AI の動き: 衣装と体メッシュの重なりを再検出し、体メッシュの該当部分を非表示にする設定を調整します。
原因と対処法:
| 症状 | 原因 | 対処法 |
|---|---|---|
| 衣装から体が見える | 体メッシュの非表示範囲が不足 | 非表示範囲を広げる |
| 衣装が体にめり込む | 衣装のメッシュが体に近すぎる | 衣装の位置を微調整する |
| 動くと貫通する | PhysBone の設定不足 | PhysBone コライダーを追加する |
ボーンの対応付けがずれる
あなた:
衣装の右腕が変な方向に曲がっている
AI の動き: MA Merge Armature のボーンマッピングを確認し、誤った対応付けを修正します。
よくある原因:
- 衣装側のボーン名がアバターと異なる命名規則を使っている
- 衣装のボーン階層がアバターと構造的に異なる
- ボーンのローカル座標系が異なる
あなた:
衣装の「arm_R」ボーンをアバターの「RightUpperArm」に手動で対応付けて
AI の動き: MA Merge Armature のマッピングが手動で更新されます。
Expression Menu のパラメータが足りない
VRChat の Expression Parameters にはメモリ上限(256 bits)があります。
あなた:
Expression Parameters の使用量を確認して
AI の返答例:
Expression Parameters 使用量: 184 / 256 bits
夏服トグル: 1 bit (bool)
冬服トグル: 1 bit (bool)
表情パラメータ: 8 bits (int)
その他: 174 bits
残り: 72 bits
衣装や表情のトグルを追加するたびに Expression Parameters を消費します。多くの衣装を登録する場合は、パラメータ使用量に注意してください。ブール値(ON/OFF)は 1 bit、整数値は 8 bits、浮動小数点値は 8 bits を消費します。排他的トグルにまとめると消費を抑えられます。
次のステップ
衣装の着せ替えが完了したら、以下のガイドも参考にしてください。
- 表情の設定 (FaceEmo) -- 表情のカスタマイズ
- 揺れ骨の設定 (PhysBone) -- 衣装の揺れ物設定
- パフォーマンス最適化 -- 衣装追加後の最適化
- アップロード -- VRChat へのアップロード