トマシープが学ぶ

Unity/VR好きのミーハー初心者 記事内容は自分用のメモ。何も求めないで

Unity公式VRサンプルをもとに雪だるまシューティングゲーム

これに応募する作品を作りました。

engineerplus.net

このコンテストは2018/2/18に東京で行われる「学生VR Meet up 2018」に参加できない可哀想な地方学生が、少しでも関われるようにと企画されたものらしいです。

vr.engineerplus.net

プログラミングコンテストについて
Unityを利用したVRコンテストと、プログラミング言語のコンテストを事前に実施し、イベントに来れない全国の学生にも機会を提供します。

 締め切りがあと二日ということに今気づいたので今日1日で作りたいです。

<完成動画>

www.youtube.com

VR Samples 

このアセットをいじれば良いそうです。

説明にはOculusとGearVR対応と書いてありますが、WinMRでも動きました。

4つのサンプルシーンがあります。

基本的に視線で操るので、コントローラーがなくてもキーボードやマウスで操れます。WinMRのコントローラーだと小さいメニューボタンが決定ボタン(クリック)でした。

SDKはOpenVRがよかったです。

f:id:bibinbaleo:20180212132310p:plain

Flyer

視線で飛行機を動かして輪っかをくぐっていくゲームです。

f:id:bibinbaleo:20180212131819p:plain

あんまりおもしろくありません。360度見渡せないし。

f:id:bibinbaleo:20180212131823p:plain

ただパーティクルで放射線を表現しているのがかっこよかったです。

f:id:bibinbaleo:20180212132345p:plain

 

Shooter180/360

的あてです。これもコントローラーで手を動かすのではなく、右に伸びている手が頭についている感じです。

f:id:bibinbaleo:20180212131830p:plain

f:id:bibinbaleo:20180212131833p:plain

Maze

上から見下ろして、人形を動かして迷路をゴールするゲーム。

操作方法がわかりにくかったけど、行きたい先を見つめてダブルタップしたらその場所に自動で進んでくれる。

f:id:bibinbaleo:20180212131836p:plain

線はLineRendereで引かれている

f:id:bibinbaleo:20180212133723p:plain

移動はNavMesh

f:id:bibinbaleo:20180212133720p:plain

f:id:bibinbaleo:20180212133734p:plain

UI

おしゃれ。視線を移動したらアンダーラインがスッて動く

f:id:bibinbaleo:20180212131842p:plain

説明画面はこっちだよって案内を出してくれる。

f:id:bibinbaleo:20180212133901p:plain

ゲーム中の残り時間は円型のバーで視覚的に出しているけど、正直一回目は気づかなかった。しかも円の真ん中にあるのは残り時間じゃなくて得点。

わかりにくいと思う。

f:id:bibinbaleo:20180212131830p:plain

ライティング

全部のシーンそうですが、白とグレーのグラデーションがかっこいいですね。

マテリアルのSpecularを黒にしたり、

f:id:bibinbaleo:20180212132621p:plain

環境光をこんな感じにしたりして作っているようです。

f:id:bibinbaleo:20180212132820p:plain

ハック

さて、どうしよう・・・

一番楽しかったのはやっぱりシューターかな・・・?

ということで的あてゲームを雪だるまを炎で燃やして、春が来るゲームに変えます。

時間は30秒にします。

Shooting Gallery ControllerでGameLengthを30にします

f:id:bibinbaleo:20180212141311p:plain

的を変えるのはよくわからなかったので、デフォルトのTargetの子オブジェクトに雪だるまを設置して、デフォルトのやつはマテリアルを透明にしました。

f:id:bibinbaleo:20180212150734p:plain

f:id:bibinbaleo:20180212150738p:plain

f:id:bibinbaleo:20180212150741p:plain

銃で撃たれたときに落ちてくるものはシルクハットにしました。

poly.google.com

これはShooting TargetについているDestroy Prefabにつけます。

f:id:bibinbaleo:20180212203005p:plain

銃と腕の色はPaintで簡単にかえれました。

f:id:bibinbaleo:20180212150438p:plain

f:id:bibinbaleo:20180212150445p:plain

また今回は雪だるまを燃やすので銃を撃ったら炎を出すようにしました。

Shooting Gallery GunのFlareParticleを変えます。

f:id:bibinbaleo:20180212170708p:plain

f:id:bibinbaleo:20180212170611p:plain

そのままだと使いにくかったので少し数値を変えました。とりあえずLoopをはずしたらいい

f:id:bibinbaleo:20180212170616p:plain

f:id:bibinbaleo:20180213152437p:plain

終わったら桜を咲かせる

ShootingGalleryController.csの中の private IEnumerator PlayPhase ()がゲーム終了時に呼び出されるので、その中にtree.SetActive(true); と書いておくと桜が咲く。

private IEnumerator EndPhase ()で再スタートなのでそこにfalseを書いておく。

これを探すのに1時間ぐらいかかった。つらい。

いい桜モデルがなかったので結局絵にしました。

f:id:bibinbaleo:20180213140807p:plain

あと空とかも入れました。

効果音・BGM

なぜか知りませんが、Outputに何か入ってたら音が鳴らなかったので外しました。

f:id:bibinbaleo:20180212170835p:plain

dova-s.jp

その他

UIとかは適宜変えました。

f:id:bibinbaleo:20180212231503p:plain

ちなみにUIの表示非表示はCanvas GroupのAlphaで制御していました。

f:id:bibinbaleo:20180213122124p:plain

照準も大きくしました。あとスコアではなく残り時間を表示しました。

f:id:bibinbaleo:20180212231555p:plain

途中でスコア表示の位置がおかしくなった・・・本当は銃近くなのに・・・

戻し方がわからない

Shooter WeaponについているUI Movementを外したら元に戻りました。

f:id:bibinbaleo:20180213121954p:plain

f:id:bibinbaleo:20180213122309p:plain

でも元のプロジェクトはチェック入っててもちゃんと動いているのに、なんでだろうな?

提出

ビルドはMock HMD -Viveでと書かれていました。実行してみたけど視線操作ができません。どうやって動作確認するんでしょうね・・・Viveだったら動くのか?

f:id:bibinbaleo:20180213135458p:plain

新しいフォルダを作ってビルドします。最初exeだけ出せばいいかと思ってた。危ない

f:id:bibinbaleo:20180213135456p:plain

docs.unity3d.com

最後に

応募している人いるのでしょうか?twitterで調べても誰もつぶやいていません。

あとニックネームで応募させてほしい・・・

でも楽しかったです。

www.youtube.com

親にプレイしてもらったら、罪悪感があるといわれました。

unity3d.com