第20回 Emoteで取り出せ!~EmoteSwitchV3解説~
Emoteをうまく活用して武器取り出し誤爆などの問題を解決しましょう!
第6回で紹介した武器などのギミックをアニメーションオーバーライドで仕込んでいたアバターで記念写真!撮れた思ったら武器が誤爆して残念な結果に…
そんなあるあるを解決するために今回はEmote機能を使ってアイテムを取り出すことができるEmoteSwitchを実装していきましょう。
第20回はこんな流れで進めていきますよ
~EmoteSwitchって何?~
VRChatアバターにはデスクトップモードのユーザーでもボイスチャット以外のコミュニケーションが取れるように手を振る、指をさす、倒れるといったような8種類のアニメーションをEmoteで再生する機能が実装されています。
VRモードでプレイしているとあまり使われなくなってしまうこの機能。活かすことができないかと考案されたのがEmoteのアニメーションをアイテムの取り出しに置き換えたものがEmoteSwitchなのです。
ちなみにこの機能、公式ではなくunityを触れるユーザーが開発したものです。VRChatはunity開発を促すゲームだった…?
~STEP1.EmoteSwitchを準備しよう~
まずはこちらで配布されているEmoteSwitch V3をダウンロードしましょう。
zipファイルを解凍して中身のunitypackageファイルを別の場所にコピーしましょう。
zipファイルの中にあるとunityでインポートできません。
いつものようにunitypackageをインポートしましょう。
ToolsとWindowの間にEmoteSwitchが追加されていれば準備完了です。
インポートしてもEmoteSwitchが項目に追加されない…そんなときは最近追加したファイルを疑ってみましょう。
私は最初ユニティちゃんトゥーンシェーダーが干渉して追加されませんでした…
トゥーンシェーダーファイルを一度削除し、再びEmoteSwitchをインポートしなおすと追加されました。
~STEP2.EmoteSwitchを設定しよう~
準備ができたら早速設定していきましょう。
取り出したいアイテムを追従させたい階層にいれておきましょう。
画像の意味が分からないときは第6回の記事を読み返すことをおすすめします。
取り出すアイテムの準備ができたら追加されたEmoteSwitchからEmoteSwitchV3 Editorをクリック。
すると設定画面が開きます。
設定画面を見やすいところに移動させたらまずHierarchyにあるアバターをAvatarにドラッグします。
これでEmoteSwitchが実装されるアバターが指定されました。
項目が少し増えましたね。
次に取り出したいアイテムをPropにドラッグします。
次は差し替えるEmoteのcontrollerの指定、ですがアバターを指定した時点で自動的に設定されるのでそのままでも大丈夫です。
最後に差し替えるEmoteの指定です。8種類あるEmoteのどこに差し替えるか指定できます。
ちなみに1,3,5,7は取り出し、2,4,6,8がしまうアニメーションです。
全部の設定が終わったらSet EmoteSwitchをクリックしましょう。
自動的にEMOTE1,EMOTE2にアイテムのON/OFFアニメーションが設定されました!
アバターをアップロードして確認してみましょう。
ちなみに今までのようにcontroller側からアニメーションの設定場所を変更することもできるのでEMOTE1,EMOTE2じゃなくてEMOTE3,EMOTE4に設定しなおすことも可能です。
また、アイテム横にあるチェックボックスをクリックすることでアイテムを常時出したままにもできます。
出し入れするのがメインであればチェックは外したままで大丈夫でしょう。
複数のアイテムを一度に取り出したい、そんなときは+をクリックすることでPropの数を増やすことができます。
さて、動作確認です。メニュー画面からEmoteを選択します。
正しく設定されていれば名前が変更されているはずです。
これでなにもない状態から…
アイテムが取り出せるようになりました!
凄く便利なEmoteSwitchですが一度メニュー画面を開く都合上オーバーライドよりも取り出しがワンテンポ遅れてしまうため必要に応じて使い分けていきましょう。
~スペシャルサンクス~
EmoteSwitchV3配布者 元怒様 @gend_VRchat
EmoteSwitchEditor作者 がとーしょこら様 @gatosyocora_vrc