【Unity】VRでゲーム作成~4作目~
Unityを使用して、OculusGo向けのゲームを作成してみました。
ロゴ
使用したツール / 環境
- Unity 2018.13f1
- UniVRM
どんなゲームか
プレイシーン
まずは、プレイシーンとキャプチャを貼ります。このように船の上にいて、敵から飛んでくる攻撃を剣でバシバシと叩き斬っていきます。
- プレイシーン
- タイトル画面
- メニュー画面
- プレイ中の画面
- リザルト画面
ルールについて
自分の後ろに"姫"が立っています。この姫の頭上にはハートマークが3つあります。これがライフポイントで、敵の攻撃が当たると一つ減ってしましまいます。ライフポイントが0にならないように敵の攻撃から姫を守ってください。この姫は左右に逃げ回っているので、敵の攻撃が100%当たるわけではないですが振り向かないとどこに立っているのかわかりません。敵の攻撃を35秒間しのぎきればゲームクリアーです。その間に姫が敵の攻撃を3回受けるとゲームオーバーです。
操作方法について
タイトル画面ではトリガーボタンを押すとメニュー画面に遷移します。メニュー画面ではコントローラから線がでているので、それを正面の”Play”ボタンに照準をあわせてからトリガーボタンを押すとプレイ画面に遷移します。
プレイ画面では、OculusGoのコントローラが剣の柄代わりになります。そのため、コントローラを振って敵の攻撃を叩き斬ります。もう一つ、トリガーを押すと発動するギミックがあるのですが、それは後述します。
今回のポイント
キャラクターの配置
キャラクターを配置して、動かしました。かつ、”立っているとき””走っているとき””攻撃を受けたとき””ゲームオーバーになったとき””ゲームクリアーしたとき”など表情を変更しています。そうすることですごく守ろうという気持ちが湧いてくるので不思議です。
キャラクターの選択機能について
すごく普通のやりかたですが、キャラクターの選択機能を追加しました。キャラクターを選択することで、キャラクター選択画面に配置しているキャラクターも変更されるのでどっちを変更しているのかわかりやすくなっています。
Chronosを使った時間操作ギミック
今回入れたギミックの中で、このChronosを使用したギミックがポイントです。向かってくる敵の攻撃に対して、ある一定の範囲内において攻撃の進行速度をスローにします。これは”トリガーボタンを押した時”に発動します。ゲージが残っている間しか使用できないため、合計で3s程度のスローしかできません。ただ、このギミックを入れることでゲーム性が増したと考えています。
例えば
- 同じタイミングで攻撃がきて、全部対応するのは難しいから時間をゆっくりにしよう
- ゆっくりにして姫のいる位置やライフポイントを確認しよう
など、いろんな使い方ができるかなと。あと、時間を操作できるというのがVRっぽくて良いですね。
作成にいたるまで
VRで何かを作ろうと思っていて、ただどうしてもVRで作るということを考えると、ゲームという発想になってしまい、今回もゲームを選択しました(他に思いつかなかった、、、)
ただ、いままで作成したことの反省からいくつか新しいポイントを考えてました。
- キャラクターを使う(VRM)
- 音をちゃんとなるようにする(今回書いてないですが、波の音やSEなどその時に適した音がなるように実装しています)
- 時間操作のギミックを入れる
- OculusStoreにリリースする
- 細かい部分にこだわる(ざっくり)
この中で”キャラクターを使用して、動かす・表情を変える”という部分を実装したり、シーンやアクションによって鳴る音がマッチするように選択したりできるだけ細かくこだわることでゲームとしての完成度が高くなったと感じています。ゲーム自体はまだまだ改良の余地がありますが、ゲームとしての体裁はしっかりと保てているかなと。
OculusStoreへのリリースはキーのみになっていますが、性能面が問題だと想定しているので性能面の改善ができたらまた申請したいと思います。