【VRChat】MA Bone Proxyの使い方【オプジェクト配置,アクセサリー追加】

VRChat
スポンサーリンク

はじめに

今回はModular Avatarにある「MA Bone Proxy」の使い方を紹介します。
MAの導入方法やUnityの基本操作はこちらをご覧ください。

何に使うモノ?

これはアバターにアクセサリーを追加するときに使うモノです。
「ボーンが無い」もしくは「ボーンが構造的に独立してる」モデルを追加する際に使えます。

衣装モデルのようなボーンとモデルのボーン構造の一部が同期してるモノには使いません。

↓このようなキャラクターと衣装のボーンが同期したモノは…
 「MA Merge Armature」を使う必要があります。

MA Merge Armatureはこちらで解説。

今どきの衣装モデルでMA対応と書かれてれば「MA Merge Armature」は製作者側が設定してることがほとんどだと思います。

なので買った衣装モデルは「アバターの直下階層にモデルを置くだけ」で高確率で動くと思います。

以上が何に使うモノ?の紹介です。

普通にモデルを入れるだけでは動きが同期しない

適当なアバターとモデルを用意。
位置や大きさを調整して配置。

位置などを操作する画面は「Q,W,E,R,T,Y」キーで出てきます。

配置したらアバターの階層直下にモデルを配置。

この状態で「Playモード」に入ります。

Playモードの状態でモデルのボーン(Armature)を開きます。
Chestあたりを選択して回転。

すると… モデルの動きに追加したモデルが同期しません。

確認できたら「Play」モードを解除。
これで元に戻ります。

以上が普通にモデルを入れるだけでは動きが同期しないの解説です。

旧式の対処法は「ボーンを開いて」モデルを入れる

古のVRChatユーザーはボーンを開いて中にモデルを入れてました。

モデルの階層移動はドラッグ&ドロップで行ってください。
Ctrl+Xで切り取り → Ctrl+Vコピーは親階層の影響を受けて位置などがズレます。

この状態でPlayモードに入ります。

すると… アバターの動きとモデルの動きが同期します。

確認できたら「Playモード」を解除。

以上が、旧式の対処法は「ボーンを開いて」モデルを入れるの解説です。

MA Bone Proxyはボーンを開く処理を省略する

MA Bone Proxyの役割はこのボーンを開く処理を簡略化です。

MA Bone Proxyを設定すればアバターの階層直下にモデルを置くだけで…
Armatureを開いてモデルを配置する処理を実行できるようになります。

これが便利… らしいです。(?)
私は老害おじちゃんなので、今後もボーンを開いていきます。

VRChat老害おじちゃんなので「ボーンぐらい開いてくれ…」と言いそうです。
余計な外部ツール入れるとその分、動作不安定性が上がるから…
(そのツールが故障すると使えなくなる問題がある)

…と言いたい所ですがMAは結構な覇権ツールになってきました。
なので今は普通に入れていいと思います。

MA Bone Proxyの使い方

アバターの階層直下にモデルを配置。
インスペクター → 「コンポーネントを追加」を選択。

「Ma Bone」で検索。
MA Bone Proxyを選択して追加。

ターゲットがどこに連動させるかを指定するボーンです。

ここにHeadなどの同期させたいボーンをドラッグ&ドロップ。

これで同期する設定ができました。
が、非Playモードだと動きは同期しません。

再生ボタンを押してPlayモードに入ります。
すると自動でモデルがHeadに入る様子が分かります。

あと、謎の「Supine HeadProxy」も増えます。
これは動作の関係で必要になる “余計なデータ” っぽいです。

この状態で体を動かすと…
身体の動きとモデルの動きが同期します。

以上がMA Bone Proxyの使い方の解説です。

配置モードについて

配置モードは「ターゲット」に指定したボーンを元にモデルの配置を変える処理です。
基本的に「子として・ワールド位置と向きを維持」のままでOKです。

指定したボーンを元にTransform値が変わります。

↓このような動作です。

以上が配置モードについての解説です。

詳細設定について

詳細設定の「▶」ボタンを押すと開けます。
そして下記の2つの項目が出てきます。

・Bone reference
・Sub path

この2つはターゲットでボーン指定すると自動的に決まります。

「ターゲット」と「詳細設定の2つ」は同期して動きます。

別の言い方をすれば…
ターゲット指定を使えば詳細設定の2つを1回で設定することができます。

Bone referenceはヒューマノイドボーンから同期するモノを選択します。

アバターにはUnityが用意したヒューマノイドというボーンの規格が入ってます。

これがあることでVRChat上でどんなモデルでも同じ動きで動くようになります。

ほかのモデルも同様にヒューマノイド設定が入ってます。

このヒューマノイド設定が共通してるので…
「MA Bone Proxy」で設定したボーンの参照先が
確率” で別アバター同期します。

構造が致命的に一般的なモデルと違ったり…
ヒューマノイド以外の所に設定すると他アバターでは同期しません。

Sub Pathはヒューマノイド設定以外のモノで動く

Sub Pathはヒューマノイド以外のボーン指定で必要になります。

スカートや髪の毛などがヒューマノイド以外のボーンです。

このようなボーンを設定すると、Sub Pathに文字列が入ります。

ヒューマノイド以外のボーンを指定したときにおこることは下記。

①上階層を辿り、ヒューマノイド設定のボーンを見つける
②見つけたボーンの情報を「Bone reference」に記録
③「Bone reference」で指定したボーンから例外的なボーンがある位置を記録する
④記録は階層名/階層名2のような形で行われる(パス記述)

↓図にするとこんな感じです。

Editor Language

UIの文字を別の国の言葉に変えれます。大家好。

おまけ:VRChat向けモデルを作る方へ

「MA Bone Proxy」はあると親切な設定です。
ただコレを使うためだけにModular Avatarを入れる必要は無いかなと思います。

【個人的に単体なら不要と思う理由】

・余計な外部ツール入れるとその分、動作不安定性が上がる
・ユーザーが実際にどのボーンに入れるかまでは想定しきれない

要するに「MA Bone Proxy」は基本的にユーザーが使うためのツールと思います。
(でもボーンぐらい開けばいいだけですが…)

外部ツールを使うと… そのツールが何かしらの理由で壊れた際に動かなくなります。
またツールを使ったことで生まれる余計な情報も増えて不安定性も上がります。

また作者がイヤリングモデルと売り出して「Head」に追従させると思っていても…
実際のユーザーが想定通りの使い方をするとは限りません。

イヤリングならケモミミ派閥や少し改造して服の装飾されたりします。
そういう例を見てきました。

このような場合、Head作者側が想定して指定した方が逆にユーザーには不親切になります。

なので基本は「説明書」を充実させ、MA Bone Proxyの紹介を入れるのがいいと思います。
↓みたいな記事を用意し、あとはユーザーに任せるのが最適解と思います。

製作者側が指定した方が良い場面は… 
特殊な事情でModular Avatarを使った動作を作りたいときだと思います。

↓このネックレスモデルは下を向くとモデルの一部が体に埋もれました。

そこで、体に貫通させないためにModular Avatarを使い…
首の付け根にあるボーンを「Neck」追従。
ネックレス側のボーンを「Chest」追従にしました。

これでなぜか突き抜けない+Phys Boneの動きが反映されるの状態になりました。(なんで?)

Unity技術者Discordで聞いた内容をアバター改変代行者に投げただけなので…
正直、なんでこれで動いてるのかは分かってません。

これ作った時の私はModular Avatar入れてなかったし…
Gesture Managerという概念が無いぐらい2025年のUnity事情に疎かったので技術記録も残せてないです。

これは近いうちに検証して記事にまとめる予定です。
が… 急ぎで動作検証データが欲しい方は、現物はこちらで売ってます。(宣伝)

【VRChat想定】動く歯車猫のネックレスモデル【MA対応】 - しぐにゃもBOOTH - BOOTH
【VRChat想定】動く歯車猫のネックレスモデル【MA対応】 Necklace Model Cat gear

このような特殊な事情がある場合に使うモノだと思います。

指輪などを中指に飛ばすためだけにMA Bone Proxyを入れて…
「Modular Avatar対応」という売り文句で売り出すのはやめた方が良いと思います。

海外で使われてるModular Avatar的な「VRCFury」を使う派の人が使えなかったり…
本当に中指に入れるか分からなかったりと…
ユーザーの選択肢を減らして体験を損なわせる結果につながります。

以上がMA Bone Proxyの使い方です。

まとめ

今回はVRChat向けツール。MA Bone Proxyの使い方を紹介しました。

・基本は “ユーザー” がアバター改変でアクセサリーを追加するためのツール
・「ボーンが無い」もしくは「ボーンが構造的に独立してる」モデルに有効
・衣装などには使わない方が良い
・モデルのボーンを開く手間を簡略化できる
・モデル販売者はユーザーがどんな使い方をするか分からないので…
 基本的にボーンを指定して売らない方が良い

また他にもVRChat向けUnityや3DCGについて解説してます。

ぜひ、こちらもご覧ください。

コメント

タイトルとURLをコピーしました