![見出し画像](https://assets.st-note.com/production/uploads/images/140187988/rectangle_large_type_2_f9e05f8b314f7ab2e6c3b287ed30eb20.png?width=1200)
【VRChat】ModularAvatarを使用したアイテムのON/OFF
VRChat内でのExpressionメニューからのアイテムのON/OFFは下記のようなツールを使えば簡単に実装可能ですが、今回はアニメーションとModularAvatar(以下MA)の仕組みを覚えなおす意味も含めて手組で作成したいと思います。
かなり我流なので誤っているところもあると思います……その場合はすみません!
まずAnimator Controllerを作ります。
メニューの「Create」→「Animator Controller」を選択します。
![](https://assets.st-note.com/img/1715333749546-Rpjr5xc7Z3.png?width=1200)
![](https://assets.st-note.com/img/1715333878901-3Dj5Ep90WH.png)
次に衣装の「ON/OFF」のアニメーションを作ります。
メニューの「Create」→「Animation」を選択します。
![](https://assets.st-note.com/img/1715334539466-dLYQTlzAV5.png?width=1200)
作られたアニメーションファイルをダブルクリックしてアニメーション作成画面を開きます。
![](https://assets.st-note.com/img/1715334781038-GcRQiYK7bG.png?width=1200)
録画マークをクリックして録画を開始します
アニメーションの録画が始まるとキャラクターがしゃがみます。
![](https://assets.st-note.com/img/1715334823835-XoJ0iC7Wja.png?width=1200)
インスペクターのチェックを外して、outerを非表示にします。
![](https://assets.st-note.com/img/1715334912475-AXbhp68b0d.png?width=1200)
outerのGameObjectにチェックを入れます。
これでアウターをONにするアニメーションが完成します。
![](https://assets.st-note.com/img/1715334940120-0VzOv9DUWD.png?width=1200)
録画を停止して「Preview」をオフにするとTポーズに戻ります。
![](https://assets.st-note.com/img/1715335003050-KHV14AePZt.png?width=1200)
「Ctrl+D」で複製して「OFF」のアニメーションを作ります。
![](https://assets.st-note.com/img/1715335177824-veLpmzLz9c.png)
GameObjectの値を「0」に変更します。
![](https://assets.st-note.com/img/1715335493320-Lm4JK7HDLV.png)
これでアウターの「ON」と「OFF」のアニメーションが完成しました。
次は「Animator Controller」の設定です。
最初に作った「Animation」をダブルクリックして「Parameters」のタブでプラスマークから「bool」を選択して、名前を付けてチェックを入れます。
![](https://assets.st-note.com/img/1715335869751-UZoMRZeleL.png)
「Layer」のタブでプラスマークからレイヤーを追加して名前を付けます。
![](https://assets.st-note.com/img/1715335954330-OSxaVbE9LF.png)
歯車マークから「Weight」を1にします。
![](https://assets.st-note.com/img/1715336014170-w2wyTlVWVQ.png)
このレイヤーの組み方は人それぞれでなので、これはあくまでも私の例ですが……
まずOFFのアニメーションをEntryから繋がるように配置します。
![](https://assets.st-note.com/img/1715336147929-KhMKm3AoCv.png?width=1200)
次にONのアニメーションを配置します。
![](https://assets.st-note.com/img/1715336309236-rTvtzgmxx6.png?width=1200)
「Make Transition」でOFFからONにつながる遷移を作成します。
![](https://assets.st-note.com/img/1715336784274-t2NuwpNV4F.png?width=1200)
全部繋げちゃいます!
![](https://assets.st-note.com/img/1715337038177-iDnhysEf2k.png?width=1200)
OFF→ONの遷移を選択して「HasExitTime」のチェックを外して、
outerOnOffのパラメータがtrueになったときにONの状態に遷移するようにします。
![](https://assets.st-note.com/img/1715337087557-EDtS9QPMZL.png)
逆にONからの遷移はouterOnOffのパラメータがfalseになったときに遷移するようにします。
![](https://assets.st-note.com/img/1715337270183-tB1Ee5SUA6.png)
これで「Animation Controller」の設定は完了です。
次にMAの設定に入っていきます。
衣装のルートに「MA Merge Animator」のコンポーネントを追加します。
![](https://assets.st-note.com/img/1715338745235-DwWXhAmZSy.png)
「統合されるアニメーター」先程作成した「Animator Controller」の「Animator」を選択、パスを「絶対パス」、「Write Defaults」をアバターの設定を合わせます。
![](https://assets.st-note.com/img/1715346662386-DCMMVlJppf.png)
アニメーションを動作させるパラメータをメニューに追加します。
衣装のルートに「MA Parameters」のコンポーネントを追加します。
![](https://assets.st-note.com/img/1715339393127-KV3W4INK2u.png)
未登録のパラメーターから先程作ったアウターのON/OFFを制御するパラメーターを追加します。
![](https://assets.st-note.com/img/1715339746496-y9XAfQjsLq.png)
以下のように設定します。
![](https://assets.st-note.com/img/1715340075443-ErpwfG3Gk9.png)
次にExpressionメニューを作成します。
![](https://assets.st-note.com/img/1715340376992-uR7ZK0gOXB.png?width=1200)
今回はメニューを
「ItemOnOff」→「outerOnOff」と階層化したいため2つ作ります。
![](https://assets.st-note.com/img/1715340552223-hAaM3XaoGo.png)
以下のように
「ItemOnOff」のTypeを「Sub Menu」にしてSub Menuに「outerOnOff」のメニューを選択します。
![](https://assets.st-note.com/img/1715340652788-2ZBBz2W4Ji.png)
以下のようにTypeを「Toggle」にします。
ParameterはMAに自動的にマージされるようにパラメータと同じ名前にします。
今回は「outerOnOff」になります。
注意されていますが、ビルド時にのみ存在するパラメータとなるので無視でOKです。
![](https://assets.st-note.com/img/1715346486550-ksveb4Ne2B.png)
「MA Menu Installer」のコンポーネントを追加します。
![](https://assets.st-note.com/img/1715341118868-X9fMyQJr5p.png)
そもそもラスクちゃんには標準でメニューが入っていないため、空のメニューを適当に作ってアバタールートに設定します。
![](https://assets.st-note.com/img/1715341678363-0fWMXEuMfM.png)
![](https://assets.st-note.com/img/1715341663079-Rfp08xhhuO.png)
無事デフォルトメニューが出来たのでインストール先に指定して、「プレハブ開発者向け設定」→「インストールされるメニュー」に先程作成した「ItemOnOff」のメニューを設定しして以下のようになれば成功です。
![](https://assets.st-note.com/img/1715346546035-GSUtIocXMD.png)
あとはMAが自動的にビルド時にマージしてくれるので「Gesture Manager」を使用して正しく動作するか確認します。
ItemOnOff→OuterOnOffのメニューが追加されていますね。
![](https://assets.st-note.com/img/1715342153787-1G69AzefrQ.png)
![](https://assets.st-note.com/img/1715342201581-NbbG3YKfHZ.png)
出来ました!
アウターのトグルがONの時
![](https://assets.st-note.com/img/1715346254120-FpRP4qMGAt.png?width=1200)
アウターのトグルがオフの時
![](https://assets.st-note.com/img/1715346306206-Ij1hPjhN9V.png?width=1200)
私流のMAを利用したアイテムのON/OFFのでした!
完全手組でも良いですが、この方法だと衣装をPrefab化して他のアバター等に持っていくだけで同じ動作ができます。
完全手動で組み込みとアバターごとに作らなかったりしないといけなくなるので……
良きVRCライフを~!✨
#VRChat #VRC #メタバースやってます #アバター改変 #アバター #Unity #ModularAvatar #アニメーション