読者です 読者をやめる 読者になる 読者になる

たこやき部屋

SteamVRを使って、Unityでゲームを開発したい

VRボンバーマンを作りたい その6(高さを考える&爆風)

SteamVR Unity プログラミング Vive VR ゲーム開発 SteamVR Unity Toolkit VRTK

VRTK Ver2.2.1の記事です。
Ver3になって使い方が色々と変わっています。ついでに名前も「SteamVR Unity Toolkit」から「Virtual Reality Toolkit」へ変わっています。
使い方はこちらの記事を参照してください。
takoyakiroom.hatenablog.com(以上、2017/02/04 追記)


8月に台風で帰省できなかったので、先週からしばらく帰省してました。
そんな中またしても台風がやって来てたのですが今度はセーフ、飛行機は無事飛びました。
姉には「なんでまた台風の時ばっか帰ってくるの?」と言われたんだが、そんなの知らんがな。

それはさておき、ゲーム制作の続きを

VR画面の右下に周りの状況が把握できるようレーダを表示させているのだけれど、これってゲームしてる時に常に見なきゃダメ?
ゲーム中ずっと右下のレーダばかり気にしてちゃ面白くないんでない?
やっぱり、周りを見て状況を把握した方が良いのかなー?

考えるより、壁の高さを変えてどんな雰囲気になるのか確かめてみよう。
ちなみに1ブロックの横と縦の長さは3.0mです。

まず、壁の高さ1.0m
f:id:takoyakiroom:20160922000115j:plain
これだと周りの状況がよくわかります。
「向こうに爆弾が置いてある」「あっちの方で爆発している」など、レーダ見なくてもなんとなく把握できる。

続いて1.5m
f:id:takoyakiroom:20160922000134j:plain
微妙に状況が把握しにくい、爆炎が上がっているのは分かるかも。
プレイヤーの背の高さによって、有利不利が出てきそうかな。

最後に2.0m
f:id:takoyakiroom:20160922000140j:plain
周りの状況は分からないのでレーダに頼るしかない。知らないうちに死んでたって事が多そう。
でも、緊張感はあるな。

うーん、VRじゃないゲームだと関係なかったけど、VRだとリアルの背丈の影響を考えないといけないんですね。
そういえば、RecRoomのロビーを小学生くらいのちっちゃい子が走り回ってた時あったし、Fly to KUMA MAKERでは、自分の操作しやすい高さに変えれる様に画面を上下する機能が付いてな。
まあ小学生はともかく、どんな人がプレイするかを想像して作らないと・・・

取り敢えずは、レーダを頼りにしたくないので高さ1.0mで作っていく事に決定。


次は爆弾が爆発した時の処理。最初は爆風のあたり判定となる部分をCubeで作ってみました。
爆弾が爆発するタイミングであたり判定のCubeを4方向に作って、時間とともに伸びていく。
壁などの障害物に当たった時は、そこで伸ばすのを止める。
f:id:takoyakiroom:20160922003348j:plainf:id:takoyakiroom:20160922003045j:plain
見やすくする為に白く色付けているけれど、これは後で非表示にします。

で、あたり判定の先頭にパーティクルのエミッタを置いて、伸びていくのに合わせてエミッタも移動。
これで爆風が広がっていくように見えるようになったぞ。
f:id:takoyakiroom:20160922010657j:plain
あんまし参考にはならないかと思うけれども、記事の一番下にスクリプトを貼り付けておきました。

さてさて、爆風は良いとして肝心の爆弾中心部の爆発。「Standard Assets」の「Explosion」が派手に爆発してて良かったのでこれを使いました。

爆発の処理を一通り完成させ、爆発を上からみると
f:id:takoyakiroom:20160922020408j:plainf:id:takoyakiroom:20160922020409j:plainf:id:takoyakiroom:20160922020410j:plainf:id:takoyakiroom:20160922020413j:plainf:id:takoyakiroom:20160922020414j:plain
途中、すっごい光ってるけど一瞬のことなのでOK!

爆風が別の爆弾に当たって誘爆する処理については、爆弾の「OnTriggerEnter」で爆風に当たったら爆発時間を待たずに爆発させるだけ。
効果音を入れて、ここまでのを動かした動画がこちらです。


まだブロックが壊れる処理とか入れていないので爆発するだけです。爆弾もまんまる、ブロックも真四角、これらもそのうち修正したい所。
やることいっぱいあるなー。

ではでは、ここまで出来たプログラムを置いておきますので、遊んでみてください。
スクリプトも一緒に入れています。(スクリプトだけなのでビルドはできないです)
https://dl.dropbox.com/u/110351779/app/BomberMan0922.zip

そして、爆風のスクリプトはこちら

今回はVR要素が少ない記事でしたが、こんな風にゲーム作ってんだなって雰囲気が伝われば幸いです。