Skip to main content

Resonite対応

Modular Avatarでは、実験的な機能として、Resonite向けのアバターをビルドできます。

tip

このプロジェクトは開発中です。APIやセーブファイルの互換性は保証されません。
バグ報告やフィードバックはGitHubのissueページへお願いします。

初期設定とアバタービルド​

Modular Avatar - Resonite support のインストール​

Resoniteアバターのビルドには、Modular Avatar - Resonite support が必要です。 インストールされていない方は、プロジェクトの "管理" より、 Modular Avatar - Resonite support の + をクリックし、「適用」をクリックしてください。

Install Modular Avatar - Resonite support

ビルド​

まず、NDMFコンソール (Tools -> NDM Framework -> NDMF Console)を開きます。

How to show ndmf console

その後、以下の手順でResonite向けアバターをビルドします。

  1. ウィンドウの上部でアバターを選択
  2. ウィンドウの下部「Avatar platform」で「Resonite」を選択
  3. Buildをクリック

How to use ndmf console

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

Resonite Build Success

tip

エラーが出る場合は Console タブをクリックし、一番下に出ている 赤色のビックリマーク を確認してください。

ビルドが完了したら、Resoniteにインストールします。以下の2通りの方法でインストールできます。

  1. 「Copy to Clipboard」をクリックして、Resonite のダッシュメニューより 「クリップボードからインポート」 を押す
  2. 「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⌛対応予定(Dynamic Variableとして実装する予定)
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は、ボーン名に基づいて、いくつかの名前付き「テンプレート」にグループ化されます。

標準では、これらのボーンテンプレートがマッピングされます:

テンプレート名グループ化する際に検出するボーン名
skirtskirt
breastbreast
hairhair
long_hairpony, twin
earear, kemono, mimi
tailtail
generic上の条件に当てはまらないもの

テンプレート名は、ポータブルダイナミックボーンコンポーネントにグループ名を指定することで上書きできます。 または、Resoniteで、Avatar Settings -> Dynamic Bone Settings スロットの下にあるオブジェクトをクローンし、新しいテンプレート名に設定し、ダイナミックボーンを定義したスロットの下にあるTemplate Nameスロットの名前を変更することで、新しいテンプレートを作成できます。

同じテンプレートの下にあるすべてのダイナミックボーンは、Inertia、InertiaForce、Damping、Elasticity、およびStiffnessの設定を共有します。これらの設定は、対象のダイナミックボーンのいずれかでも変更すればすべてが連動します。

アバター設定のコピー機能​

Modular Avatarは、Resoniteアバターの異なるバージョン間でアバター設定をコピーするシステムを自動的に導入します。これにより、Resonite固有の設定(ダイナミックボーンの設定など)を設定し、Unityから再インポートした後に新しいバージョンのアバターにコピーできます。

MA Settings Copier

具体的には、Avatar Settingsスロットの下にあるすべてのスロットをコピーし、同じ名前のスロットがあれば上書きします。自分のスロットをAvatar Settingsスロットに追加することもでき、これらもコピーされます。

設定をコピーするには、古いアバターをResoniteで着用し、新しいアバターをレーザーで持ちます。コンテキストメニューからMA Settings Copier -> Copy To Avatarを選択します。これにより、古いアバターの設定が新しいアバターにコピーされます。その後、新しいアバターを着用すると、設定が適用されます。

自動設定されるDynamic Variable​

Modular Avatarは、アバターシステムで使用できるいくつかのDynamic Variableを定義しています。

自動追加されるDynamic Variableの仕様は、現在実験的なものも含まれるため、将来的に変更される可能性があります。

名前型詳細
modular_avatar/AvatarRootSlotアバターのルートスロット(CenteredRootの親)
modular_avatar/AvatarWornboolアバターが現在着用されているかどうか(アバターがUserスロットの直下にある場合に検出)
modular_avatar/AvatarSettingsRootSlotAvatar Settingsオブジェクト
modular_avatar/AvatarPoseNode.[type]Slot[type]のAvatarPoseNodeコンポーネントを含むスロット(例:Head Proxy)
modular_avatar/MeshNotLoadedboolアバターのメッシュが読み込まれていないかどうか。なお、この変数は読み込み途中のメッシュがある場合「false」になり、ない場合は「未定義」になるので注意。この仕様は将来的に変更される可能性が高いのでご注意ください
modular_avatar/HumanBone.[name]Slotヒューマノイドボーンを名前で参照します。名義は今後変更される可能性があります。
modular_avatar/HumanBonePose.[name]float4x4該当するボーンの初期ポーズです。_名前・内容の調整が入る可能性が高い機能です。

なお、ほかのギミック用に、アバタールートに「Avatar」のDynamic Variable Spaceも生成されます。

揺れもの設定(Dynamic Bone Settings)​

これらの揺れもの設定については、以下の通り Dynamic Variable 経由で割当てられます:

名前型
modular_avatar/dynamic_bone_template.[name].Inertiafloat
modular_avatar/dynamic_bone_template.[name].InertiaForcefloat
modular_avatar/dynamic_bone_template.[name].Dampingfloat
modular_avatar/dynamic_bone_template.[name].Elasticityfloat
modular_avatar/dynamic_bone_template.[name].Stiffnessfloat
modular_avatar/dynamic_bone_template.[name].SimulateTerminalBonesbool
modular_avatar/dynamic_bone_template.[name].DynamicPlayerCollisionbool
modular_avatar/dynamic_bone_template.[name].CollideWithOwnBodybool
modular_avatar/dynamic_bone_template.[name].HandCollisionVibrationVibratePreset
modular_avatar/dynamic_bone_template.[name].CollideWithHeadbool
modular_avatar/dynamic_bone_template.[name].CollideWithBodybool
modular_avatar/dynamic_bone_template.[name].Gravityfloat3
modular_avatar/dynamic_bone_template.[name].GravitySpace.UseParentSpacebool
modular_avatar/dynamic_bone_template.[name].GravitySpace.DefaultDefaultSpace
modular_avatar/dynamic_bone_template.[name].UseUserGravityDirectionbool
modular_avatar/dynamic_bone_template.[name].LocalForcefloat3
modular_avatar/dynamic_bone_template.[name].GrabSlippingbool
modular_avatar/dynamic_bone_template.[name].GrabRadiusTolerancefloat
modular_avatar/dynamic_bone_template.[name].GrabTerminalBonesbool
modular_avatar/dynamic_bone_template.[name].GrabVibrationVibratePreset

MA Settings DB Settings

目の動き(Eye Swing)​

名前型詳細
modular_avatar/EyeSwingfloatアバターの目の動きの大きさを調整します。初期値: 15

アバターサムネイル(Avatar Thumbnail)​

名前型詳細
modular_avatar/ThumbnailAssetProviderIAssetProvider<Texture2D>アバターをインベントリに保存した際に表示される画像を設定します
modular_avatar/ThumbnailAssetProvider_CropRect?modular_avatar/ThumbnailAssetProvider で指定した画像について切り取りが必要な場合に使用します