Skip to main content

衣装の着せ替え (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 パッケージがプロジェクトに追加されます。

VCC にリポジトリが登録されていない場合

Modular Avatar の公式サイトから VCC にリポジトリを追加する必要があります。「Modular Avatar の VCC リポジトリを追加して」と指示すると、追加手順が案内されます。

手動インストール

あなた:

Modular Avatar の unitypackage をインポートして

AI の動き: 指定されたパッケージファイルが Unity プロジェクトにインポートされます。

自動セットアップ: auto_setup_outfit

最も簡単な方法は、auto_setup_outfit を使うことです。

あなた:

この衣装をアバターに自動で着せて

AI の動き: auto_setup_outfit が実行され、以下の処理が自動的に行われます。

  1. 衣装の Prefab をアバターの子オブジェクトとして配置
  2. MA Merge Armature コンポーネントを追加(ボーンの統合設定)
  3. アバターの体メッシュと衣装が重なる部分を自動検出
  4. 必要に応じて体メッシュの一部を非表示に設定
  5. 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 の仕組み

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 名の不一致

アバターと衣装で 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 を消費します。排他的トグルにまとめると消費を抑えられます。

次のステップ

衣装の着せ替えが完了したら、以下のガイドも参考にしてください。