Unityアクションゲーム制作記 その6 レーダー・BGM・効果音など追加
ここのところは、レーダーを追加したり、BGMと効果音を入れたりと外側を固める作業に終始しました。自分にしては珍しく早い段階で音を入れてみたのですが、やっぱり音が入るといいですね(↓の映像は音が出ます)。
さて本題っと、かねてより縦持ち・横持ちでのプレイをしたかったのでその辺の実装をしていきました。まずは、uGUIで画面比率を変えてもレイアウトを崩さないようにするにはどうするんだっけなーとググって見つけたのが、このページでした。
【Unity】UIを端末に合わせたサイズに調節する|ドジキャンラボ
必要な設定は、
1)Canvas ScalarにあるUI Scale ModeをScale With Screen Sizeに変更
2)Reference Resolutionを1080x1920に設定(縦持ちの場合)
3)Matchを横持ちなら0、縦持ちなら1
以上でOK。実際の設定はこんな感じ。
今回はリアルタイムに縦横を切り替えたいので、Canvasに現在どっちの向きであるかの監視スクリプトを追加します。
レーダーは、プレイヤーを中心にして画面外にいる敵がどちらの方向にいるかを示すものを用意します。表示方法は、ParticleSystem.Emiitで表示する方法を選択。ヒットエフェクトのパーティクルをEmitで一度に多くのエフェクトを生成たときに、あまり重くならなかった(性能の低い端末で多くのエフェクトを一度に表示させた時、引っかるような動作がなくなる)ので、こちらでも使うことにしました。
あとは、そこそこの数の敵をバッタバッタとなぎ倒したいということで、敵の出現方法を矩形の塗りつぶしと円形のライン状に一度に出せるようにしました。
大きさと位置を変えるだけで結構なバリエーションが出せるので、ひとまず敵の出現はこの2つをうまく使い回す方向でいきます。物足りなくなったら、追加すればいいや。
他にもプレイヤーの死亡判定もつけたので、とりあえずゲームとしての最低限の体裁は整えられたかな。とはいえちょっと寄り道が過ぎたので、今度こそ、ほったらかしの敵の管理をちゃんとやらなきゃ…うん。
・BGMで使用したアセット
Heavy & Metal Loops
https://www.assetstore.unity3d.com/jp/#!/content/53112