Resonite対応
Modular Avatarでは、実験的な機能として、Resonite向けのアバターをビルドできます。
初期設定と初めてのアバタービルド
Modular Avatar - Resonite support のインストール
Resoniteアバターのビルドには、Modular Avatar - Resonite support が必要です。
インストールされていない方は、以下の手順でインストールしてください。
- インストール を確認し、テスト版のリポジトリを追加します。
- プロジェクトの "管理" より、
Modular Avatar - Resonite supportの+をクリックし、「適用」をクリックしてください。
インストール後、「実験的な機能のサポート」の有効化を実施してください。
ビルド
以下の手順でResonite向けアバターをビルドします。
- NDMFコンソール (Tools -> NDM Framework -> NDMF Console)を開く
- ウィンドウの上部でアバターを選択
- ウィンドウの下部「Avatar platform」で「Resonite」を選択
- Buildをクリック

正常にビルドが完了すると、NDMF Console の下部に「Build finished!」というメッセージが表示されます。

エラーが出る場合は Console タブをクリックし、一番下に出ている 赤色のビックリマーク を確認してください。
ビルドが完了したら、Resoniteにインストールします。以下の2通りの方法でインストールできます。
- 「Copy to Clipboard」をクリックして、Resonite のダッシュメニューより 「クリップボードからインポート」 を押す
- 「Save as...」をクリックして、アバターファイルを Resonite Package として保存後、必要に応じて Resonite に ドラッグ & ドロップ
現在対応している機能
Resoniteのビルドプロセスは、ビルド中にアバターの特定の機能(ビジュアル、目の位置、物理ボーン/ダイナミックボーンなど)を自動的にコピーします。 すでにVRChat向けにアバターを設定している場合は、追加の設定は必要ありません。 VRChat向けにアバターを設定していない場合や、VRCSDKがインストールされていない場合は、Portable Avatar Componentsのドキュメントを参照して、アバターの基本設定を行ってください。
| 機能 | 対応状況 | 制限事項 |
|---|---|---|
| Avatar の視点位置 | ✅ | なし |
| Visemes(口パク) | 部分的 | ブレンドシェープ型のみ |
| 揺れもの設定 | 部分的 | 下記参照 |
| Reactive Components | ⌛ | 対応予定 |
| Unity Constraints | ⌛ | 対応予定 |
| 読み込み途中でのアバター表示への対策 | ✅ | None |
現在対応しているModular Avatarのコンポーネント
| コンポーネント | 対応状況 | 制限事項 |
|---|---|---|
| Blendshape Sync | ⌛ | 対応予定 |
| Bone Proxy | ✅ | なし |
| Convert Constraints | ✖ | VRChat のみで対応 |
| Menu Group | ⌛ | 対応予定 |
| Menu Install Target | ⌛ | 対応予定 |
| Menu Installer | ⌛ | 対応予定 |
| Menu Item | ⌛ | 対応予定 |
| Merge Animator | ✖ | VRChat のみで対応 |
| Merge Armature | ✅ | なし |
| Merge Blend Tree | ✖ | VRChat のみで対応 |
| Mesh Settings | ⌛ | 対応予定 |
| MMD Layer Control | ✖ | VRChat のみで対応 |
| Move Independently | ✅ | なし |
| Parameters | ⌛ | 対応予定(DynVarとして実装する予定) |
| Physbone Blocker | ✅ | なし |
| Remove Vertex Color | ✅ | なし |
| Replace Object | ✅ | なし |
| Scale Adjuster | ✅ | なし |
| Sync Parameter Sequence | ✖ | VRChat のみで対応 |
| Visible Head Accessory | ⌛ | 対応予定 |
| VRChat Settings | ✖ | VRChat のみで対応 |
| World Fixed Object | ⌛ | 対応予定 |
| World Scale Object | ⌛ | 対応予定 |
揺れものについて
Modular Avatarは、Portable Dynamic BonesまたはVRChatのPhysBonesを使用して作成されたダイナミックボーンを検出し、コライダー設定を含めてResoniteのダイナミックボーンに変換しようとします。
Resoniteには独自のダイナミックボーンシステムがあるため、ほとんどの設定オプションは変換されません。ただし、除外(Physbone Blockersを含む)、コライダー、衝突範囲および掴めるかの設定は変換されます。
Dynamic Bonesは、ボーン名に基づいて、いくつかの名前付き「テンプレート」にグループ化されます。テンプレート名は、ポータブルダイナミックボーンコンポーネントにグループ名を指定することで上書きできます。
または、Resoniteで、Avatar Settings -> Dynamic Bone Settings スロットの下にあるオブジェクトをクローンし、新しいテンプレート名に設定し、ダイナミックボーンを定義したスロットの下にあるTemplate Nameスロットの名前を変更することで、新しいテンプレートを作成できます。
同じテンプレートの下にあるすべてのダイナミックボーンは、Inertia、InertiaForce、Damping、Elasticity、およびStiffnessの設定を共有します。これらの設定は、対象のダイナミックボーンのいずれかでも変更すればすべてが連動します。
アバター設定ののコピー機能
Modular Avatarは、Resoniteアバターの異なるバージョン間でアバター設定をコピーするシステムを自動的に導入します。これにより、Resonite固有の設定(ダイナミックボーンの設定など)を設定し、Unityから再インポートした後に新しいバージョンのアバターにコピーできます。
具体的には、Avatar Settingsスロットの下にあるすべてのスロットをコピーし、同じ名前のスロットがあれば上書きします。自分のスロットをAvatar Settingsスロットに追加することもでき、これらもコピーされます。
設定をコピーするには、古いアバターをResoniteで着用し、新しいアバターをレーザーで持ちます。コンテキストメニューからMA Settings Copier -> Copy To Avatarを選択します。これにより、古いアバターの設定が新しいアバターにコピーされます。その後、新しいアバターを着用すると、設定が適用されます。
自動設定されるDynVar
Modular Avatarは、アバターシステムで使用できるいくつかのDynamic Variableを定義しています。
自動追加されるDynVarの仕様は、現在実験的なものも含まれるため、将来的に変更される可能性があります。
| 名前 | 型 | 詳細 |
|---|---|---|
modular_avatar/AvatarRoot | Slot | アバターのルートスロット(CenteredRootの親) |
modular_avatar/AvatarWorn | bool | アバターが現在着用されているかどうか(アバターがUserスロットの直下にある場合に検出) |
modular_avatar/AvatarSettingsRoot | Slot | Avatar Settingsオブジェクト |
modular_avatar/AvatarPoseNode.[type] | Slot | |
modular_avatar/MeshNotLoaded | bool | アバターのメッシュが読み込まれていないかどうか。なお、この変数は読み込み途中のメッシュがある場合「false」になり、ない場合は「未定義」になるので注意。この仕様は将来的に変更される可能性が高いのでご注意ください |
modular_avatar/HumanBone.[name] | Slot | ヒューマノイドボーンを名前で参照します。名義は今後変更される可能性があります。 |
modular_avatar/HumanBonePose.[name] | float4x4 | 該当するボーンの初期ポーズです。_名前・内容の調整が入る可能性が高い機能です。 |
なお、ほかのギミック用に、アバタールートに「Avatar」のDynamic Variable Spaceも生成されます。