【VRChat】EXメニューなしに物を出し入れしたい!(導入方法)
23/10/04 内容一部修正しました
[追記]
応用としてこちらの方法もおすすめです。誤操作が減ります。本記事を読んだ後に読むとわかりやすいかもしれないです。
こんにちは!!!
魔法と眼鏡とロポリこんちゃんが好きなVRC民のじゃこです。
今回は↓のように、
グラブする(トリガーで握る)ことで物を手に持つことができるアバターギミックの導入方法について解説します。
2本立ての記事です。
『導入方法』だけで導入できます。
『解説と応用』は詳しく知りたい方向けです。
前提条件
Unity2019.4.31f1
VRChat SDK -Avatars 3.1.10
アバターのアップロード方法や、手の形の変更方法は割愛します。
基本的にはQuest対応です(たぶん)。非対応の項目は明記します。
導入方法
今回は、ハオラン君にホルスターの銃をEXメニューを使わず出し入れしてもらいます。
今回は↓を使用させていただきました。素敵なモデルを本当にありがとうございます。
オリジナル3Dモデル ハオランーHAOLAN (かなリぁさんち 様)
【無料品】ハンドガン (virtualgaroth様)
まず、アバターと出し入れする物がインポートされたUnityファイルをご用意ください。
(1) 出した状態、しまった状態の物の配置
「ホルスターに格納された銃」と「手に装備された銃」を配置します。
(2) PhysBoneを使ったスイッチの作成
銃の表示・非表示を切り替えるためのスイッチを作成します。
①スイッチ用Objectの作成
②スイッチ用PhysBoneの設定
(3) 物の出し入れアニメーションの作成
銃の表示・非表示を切り替えるアニメーションを作成します。
①取り出す用Animationファイルの作成
②取り出す用Animationの編集
③しまうAnimationの作成
これで「取り出すAnimation」「しまうAnimation」が完成しました!
ここから少し難しいので、休憩をはさみながら読んでくださいね。
(4) FXレイヤーコントローラーの編集
FXレイヤーコントローラーを作成します。まず、編集用のコントローラーを複製して作りましょう!
(4)-1 PhysBoneパラメータの設定
スイッチがグラブされたら値の変わるパラメータを設定します。
(4)-2 出し入れ切替えのアニメーションレイヤーの作成
スイッチをグラブして離す操作を受けて、『入れる⇔出す』を切り替える仕組みを作ります。
これで、『スイッチをグラブ』→『スイッチを離す』という操作で、出す⇔しまうを切り替えられるようになりました。
(4)-3 Animation出力のアニメーションレイヤー作成
最後に、『銃を出す』『銃をしまう』のAnimationを出力できるようにしましょう!
(4)-4 作成したアニメーションレイヤーの適用
これで完成です!おつかれさまでした!
解説と応用
長くなっちゃったので、記事を分けました。
今回使ったコンポーネントの簡単な解説と応用について書いてあります。
こんなこと書いてます
さいごに
最近たまたま、銃の出し入れについて聞かれることが重なったので、このような記事を書いてみました。
でも、銃のことは全然わからないので、好きな人から「構え方とか違う!」とか怒られないかドキドキしながら作ってます。間違ってても許してね!
今回、理屈はなるべく減らして、具体的なUnity操作のみに絞って書くことを意識してみました。逆にわかりにくくなってたらごめんなさい。
もし、記事の内容に間違いや、より良い方法あれば、教えてもらえたら嬉しいです。
書き始めたら楽しくなっちゃったので、またこういった解説記事を書きたいと思っています。
最後に、ここまで読んでくれて本当にありがとうございました!
今回の記事は一部tofuさんに教えてもらった方法を参考にさせてもらいました。tofuさんありがとー!
参考にさせていただいたサイト
PhysBone VRChat アバター改変 AvatarDynamics 刀の抜刀納刀(【VRChat】unity最強解説の笹田つるぎ様)
【VRChat】PhysBoneの設定方法・Componentについて (しぐにゃもブログ様)
【VRChat】Avatars3.0の基礎、アニメーターについてのおさらい☆
【Avatars3.0】Avatars3.0の仕組みについて!VRChatから内部の動きの解説 (めかにゃんこ様)