Avoid The Walls 開発日記 3

今日は GAME ON へ行って PlayStation VR を体験した。The London Heist をしたのだが、流石にトラッキングは滑らかで自然だった。ちょっと HMD が重いかな?

今日の作業は以下

  • DK2 モードを切り替え可能に
  • 2つ目のステージとギミックを作成
  • ステージ遷移の仕組みを作成
  • 3つ目のステージとチェックポイントの仕組みを作成

3月13日

DK2 モードを切り替え可能に

初日に書いたように、DK2 と Gear VR では得られる回転の軸方向が反対のような挙動をするので、開発の簡便性のために、インスペクタから DK2 と Gear VR での適切な動作を切り替え可能にする。

BarController.cs に以下の修正を加える。

これで、ボタン一つで DK2 とGear VR の動きをチェンジできる。負荷もなし。ただし、これだとステージ毎に切り替えなきゃいけないので、数が増えてきた時に大変。そのうち単一のゲームマネージャで切り替えられるようにしないと。

2つ目のステージとギミックを作成

2つ目のステージには、プレイヤーを邪魔するギミックを入れる。今回は iTween Visual Editor というアセットを使用して、簡単にアニメーションを組む。

動かしたいブロックに iTweenEvent.cs をアタッチし、アニメーションの設定をする。

2016-03-13 19.26.26

こんなもんで以下のように動きます。

tween

ステージ遷移の仕組みを作成

Unity 5.3 より、シーン読み込みの命令が新しくなりました。名を SceneManager という。

こちらを参考にさせていただきました。

上の GIF アニメで、赤いブロックがあることにお気づきでしょう。このブロックには「Finish」というタグを割り当てており、これに衝突した時に次のシーンへ遷移するようにします。

またまた BarController.cs にコードを追記します。

簡単でした。今回、読み込むシーンを整数で指定していますが、どのシーンがどの番号になるかは、「File」→「Build Settings…」で管理されています。

2016-03-13 19.48.11

ドラッグで順番を変えたりできるので、大量にレベルが生まれ、かつ一方通行であるパズルゲームなどでは割と使い勝手がいい気がします。

整数の代わりにシーンの名前をそのまま指定しても遷移できます。

3つ目のステージとチェックポイントの仕組みを作成

時間もあるし、調子よく進んでいるのが気持ちよくなって続きのステージを作ります。

首の可動範囲なんてものは限られています。広大な VR の世界を旅するためにはやはり移動を行うことが必要です。

3つ目のステージでは、チェックポイントに触れると一時的に棒のコントロールから開放され、視点移動を行う仕組みを作る…つもりだったのですが、棒の移動をカメラの回転からしか取っていないことが災いして、視点移動をしたはずなのに、棒の位置は初期のままという深刻なバグに遭遇しました。

よって、とりあえず今はステージの方を動かす(^^;)という怠惰な作戦に出ることにします。

まず、3つ目のなが~いステージを作成し、チェックポイントとなるブロックを置きます。これに CheckPoint タグを付加します。

2016-03-13 20.41.55

空のゲームオブジェクトを作り、ステージを構成するブロックを全てその子オブジェクトとします。

2016-03-13 20.37.01

またまた BarController.cs に追記します。OnCollisionEnter を以下のように書き換えます。コメントが有るのが追記部分です。

更に、新しいスクリプト CheckPointController.cs をチェックポイントブロックに追加し、ここにステージの移動プログラムを書きます。BarController.cs にまとめて書いてしまわない理由は、チェックポイントの数が増えてきた場合に、チェックポイントのブロックごとに移動先を指定した方が管理が容易だと考えられるためです。それに、そろそろ BarController.cs がロングになってきた気がするし…

お気付きの通り、これだと一瞬で移動したような感じになってしまいます。本当はフェードなり何か酔わなさそうでかつ移動したことがわかりやすい方法を試すべきなのですが、取り敢えず今日はここまで。

まとめ

BarController.cs の全体はこちら。

これでかなりゲームっぽくなってきました。しかし、現状ゲームのコアの面白さの部分に解釈の余地というか、プレイヤーが方法を選択する、発明する余地とか、そういうのがすっぽり無いため、進め方にバリエーションが出るような要素追加を将来したいなあと思うのでありました。

前回はこちら

次回はこちら

Avoid The Walls 開発日記 3” への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です