![見出し画像](https://assets.st-note.com/production/uploads/images/162796700/rectangle_large_type_2_a69f8f19e4c95dc3c57b5be7f54f1923.png?width=1200)
MA Object Toggleはメニュー以外にも使えるよ! という話
はじめに
VRChatterのみなさん、Unityと仲良くしてますか?(挨拶)
昨今のアバター改変にはほぼ欠かせないものとなったModular Avatarですが、ご存知の通り多機能なんだけど多機能すぎてよくわからないって方も多いと思います。
なので、使ってみてわかった事をざっくりまとめてみよう、のコーナーです。
今回のお題は「MA Object Toggle」です。
MA Object Toggleって何?
これ。1.10.0で(たぶん)新しく追加されたコンポーネントの1つです。
Object Toggle | Modular Avatar
![](https://assets.st-note.com/img/1732247902-pX8ExIURQd27qGeFnoOL3c4v.png)
何ができるの?
「ブラが貫通しちゃうから服着てる時には消しておきたい」
「帽子外した時に帽子につけてるバッジも一緒に消したい」
全部叶えてくれます。
もう有効無効切り替えるアニメーション作る必要なしです。
神機能です。
どう使うの?(例:ブラが貫通しちゃうから服着てる時には消しておきたい)
ブラのGameObjectを有効にしておく。
服のGameObjectにMA Object ToggleをAdd Componentする。
ListにブラのGameObjectを追加する。追加したらデフォルトでOFFモード(OFF)になっているのでそのままにする。
GestureManagerやVRChat上で服を着たり脱いだりしてみながらブラを確認する。服を着ている時はちゃんと消えている。
![](https://assets.st-note.com/img/1732248557-pcMZ9y4PlVXwj6JBADdevbk2.png)
使用例を踏まえて説明
MA Object Toggleは、コンポーネントが追加されているGameObjectが有効状態であるときに、他のGameObjectの有効状態をいじってくれるすごいやつです。
「条件を反転」ってなんのこっちゃい、という話ですが、太字部分を反転します。つまり、チェックを入れている場合は「コンポーネントが追加されているGameObjectが無効状態であるとき」に他のGameObjectの有効状態をいじってくれます。すごいですね。
有効状態の操作は「ONにする」「OFFにする」ができます。
「複数のGameObjectで同じGameObjectの有効状態をいじろうとしたらどうなんの?」という疑問への答えは「Hierarchy上で一番下にあるやつが優先」らしいです。試してみたけど確かにそうなってそう。なので同じGameObjectに対して「ONにする」やつと「OFFにする」やつを混在させるのはやめましょう。多分混乱するぞ。
うん? このコンポーネントどっかで見たぞ?
あなた、ExpressionsMenuをMA機能で作ったことがありますね? そこで「Create Toggle」を使ったことありますね?
「MA Menu Item」と併用した場合には『「メニューのToggleをON/OFFにしたとき(≒「コンポーネントが追加されているGameObjectが有効/無効状態であるとき」)」に他のGameObjectの有効状態をいじる』という制御をいい感じにやってくれるようですよ。
ん????
「そもそも『メニュー以外でも使えるよ』って何やねん」「ExpressionsMenuをMA機能で作れるの?」ですって?
じゃあそのうちこれも説明しましょうね。超便利ですよ。