VRボンバーマンを作りたい その4(コントローラボタンの状態)
VRTK Ver2.2.1の記事です。
Ver3になって使い方が色々と変わっています。ついでに名前も「SteamVR Unity Toolkit」から「Virtual Reality Toolkit」へ変わっています。
使い方はこちらの記事を参照してください。
takoyakiroom.hatenablog.com
(以上、2017/02/04 追記)
さてさて、移動もできるようになったので、爆弾を置く処理を作ってみます。
VRTK(SteamVR Unity Toolkit)でコントローラの状態を取得するには、リスナーを作ってあげないといけないと、ふむふむ。
よし、サンプルを見ながら作ってみるぞ~。
まず、コントローラにリスナー用のScriptを追加して・・・
Script内は、トリガボタンを離した時(DoTriggerReleased)に爆弾を置く処理を呼ぶ・・・と
ボタンを離した時にしたのは自分がそうしたかっただけで、押した時に置くでもOKです。
ボタンは以下の状態が取れます。
トリガ | |
---|---|
DoTriggerHairlineStart | ちょい押し開始 |
DoTriggerHairlineEnd | ちょい押し終了 |
DoTriggerTouchStart | さわるの開始 |
DoTriggerTouchEnd | さわるの終了 |
DoTriggerPressed | 押した |
DoTriggerReleased | 離した |
DoTriggerClicked | クリック |
DoTriggerUnclicked | クリックやめ |
DoTriggerAxisChanged | 動かした |
メニューボタン | |
---|---|
DoApplicationMenuPressed | 押した |
DoApplicationMenuReleased | 離した |
グリップ | |
---|---|
DoGripPressed | 押した |
DoGripReleased | 離した |
タッチパッド | |
---|---|
DoTouchpadPressed | 押した |
DoTouchpadReleased | 離した |
DoTouchpadTouchStart | さわるの開始 |
DoTouchpadTouchEnd | さわるの終了 |
DoTouchpadAxisChanged | スリスリした |
トリガは引き具合によって4種類の状態が取れます。
トリガを引くにつれ、HairlineStart→TouchStart→Pressed→Clickedの順に遷移します。(こまけーなぁ)
「クリック」は何の事かと思ったのですが、トリガを引いていくと一番最後でクリックぽい音がします。これの検知でした。
なお、引数の1つである「ControllerInteractionEventArgs」からは以下の値が取れました。
uint controllerIndex; | コントローラのIndex |
float buttonPressure; | ボタンの状態(0f~1f) 0f:押されていない 1f:押されている ※トリガはアナログ値がとれます |
Vector2 touchpadAxis; | タッチパッドに触れている位置X,Y (-1f~1f) |
float touchpadAngle; | タッチパッドに触れている角度 |
一応、使う時は値を設定している「VRTK_ControllerEvents.Update()」でどう実装されているか一度確認してみてください。
ボタンの検出も出来るようになったので、爆弾置く処理を迷路を管理しているScriptに入れてみました。
完成~~~! 爆弾置いてみたぞ~~~~!!
いやー、やはり目の前で赤くなりながら、大きくなっていくと「急いで逃げなきゃ」って気持ちになります。
さて、ゲーム作るのは今回はここまで。
そろそろモデリングの勉強をしないと、この先作れなそうな感じがしてきたので3Dモデル作りに挑戦。
どのアプリが使いやすいのかすら分からないけど、とりあえずメタセコイアをインストールして、使い方をあれこれ調べてと。
うーん、初めてだといろいろ大変だわ。
そして、完成したのがこれです。
・・・VRって酔うゲームはすぐに酔うじゃないですか。
そうなると手近な所に必要ですよね、洗面器。
じゃあゲームの中に洗面器置いとけば、いざという時に困らないんじゃね!?(なんというユーザフレンドリー仕様)
とういうわけです
え~と、もう1つ、アイテムっぽいのも作ってみたかったので、試しに適当に作ってみました。
でかい! 顔の部分だけで自分の背丈くらいあるし。
アイテムなので、ちょっと光った感じにしてクルクル回したいなぁ。
まあ、今回作ったのはただの練習用でゲームに出す為に作った物ではなく、ちゃんとした物は作ります。
でもやっぱ、自分の作ったものが目の前に出てくるのは超楽しー!
VR持ってる人は、一度自分で何か作ってみるべきです。
「やったことない」とか「できない」とか言ってる場合じゃねー!!
一番のメインになるであろう、爆弾が爆発した時の炎。
やはり、自分のイメージしたとおりにするには自分で作るしかないのかな?
パーティクル使うの??
頑張って、Let's爆裂してみます。