バルーントリップ風のゲームをUnity PlayGroundで作る演習です。これまでの演習内容を参考に、ゲームを完成させてください。
https://qiita.com/kono3478/items/913387e7694b4c247d7c
https://qiita.com/kono3478/items/bc7971ebe7a9c0cbf2e2
https://qiita.com/kono3478/items/ed7199f56b0e4e460b24
https://qiita.com/kono3478/items/ae9cb117aa3c411deba8
https://youtu.be/m5RAKAXL9Jw
1:はじめに課題となる「バルーントリップ」のプレイ動画を観察してください
2:ゲームの仕様を決定します。Unity PlayGroundで実現できない部分は無視してかまいません。下記は一例です。他にアイディアがあれば、もりこんでもかまいません
・ゲームの目的は?
→障害物に当たらないようにプレイヤーキャラクターを操作して風船をとり続ける
・プレイヤーキャラクターの移動方法と操作キーは?
→左右移動:矢印キー
→上下移動:スペースキーを押している間だけ上昇
・障害物と風船の出現パターンは?
→ランダム
・ゲームオーバーの条件は?
→障害物か海(地面)に当たるとライフが1個減り、3回失敗するとゲームオーバー
注意:画面中央上に「CONTINUE」ボタンを設置してください。その上で「CONTINUE」ボタンをクリックすると、ゲームを最初からやり直せるようにします。
3:Unityを起動し、任意のプロジェクトネームをつけます。その後、「2D」を選択して「Create Project」をクリックします。
4:AssetStoreからUnity PlayGroundインストールします
5:「Assets」→「Images」フォルダから、プレイヤーキャラクター、障害物、風船、地面に相当するグラフィックアセットをシーンビューにドラッグ&ドロップします。グラフィックアセットは〇などの記号でかまいません。上記は一例です
・プレイヤーキャラクター:円
・障害物:六角形
・風船:正方形
6:プレイヤーキャラクター、障害物、風船、床に対して、当たり判定をBox Collider 2DやCircle Collider 2Dで設定します
7:プレイヤーキャラクターと障害物と風船に、それぞれタグをつけます
8:動作に必要なスクリプトを設定していきます。その後、適切な動きになるようにRigitbody 2Dの値などを調整します
・プレイヤーキャラクターの左右移動:Move with Arrows
・プレイヤーキャラクターの上下移動:Push
・風船と障害物の移動:Auto Move
9:プレイヤーキャラクターが風船と障害物に衝突した際の判定に必要なスクリプトを設定します。衝突時の判定と、衝突してどうなるか(消える、消す、爆発が発生するなど)については、プレイヤーキャラクターにCondition Collisionで設定します
10:プレイヤーキャラクターにライフをHealth System Attributeで設定します
11:障害物がプレイヤーキャラクターに衝突すると、プレイヤーキャラクターのライフが減る仕組みを、Modify Health Attributeで障害物に設定します
12:同様に床がプレイヤーキャラクターに衝突すると、プレイヤーキャラクターのライフが減る仕組みを、Modify Health Attributeで床に設定します。
13:風船にプレイヤーキャラクターが衝突するとスコアが上がる仕組みを、Collectable Attributeで風船に設定します
14:一定時間経過すると自動的に消滅する仕組みを、風船と障害物に対して、Timed Self Destructで設定します
15:風船と障害物をPrefabにします
16:風船と障害物が画面左からランダムに発生する仕組みをつくります。はじめに空のGameObjectを画面左に作成し、そこに縦向きの当たり判定をBox Collider 2Dで設定します。
17:その後、GameObjectに二種類のObuject Creator Areaを設定し、それぞれに対して風船と障害物のPrefabを設定します。詳細はPlayGroundのExampleからDeffenderを参照してください。隕石が自動的に落下する仕組みが参考になります。
18:プレイヤーキャラクターが上に行きすぎないように、16と同じように空のGameObjectを作成して、横向きの当たり判定をBox Collider 2Dで設定します
19:画面中央上にCONTINUEボタンを作成します
20:CONTINUEボタンをクリックすると、ゲームがリセットされる仕組みを作ります。必要なスクリプトと設定の仕方は、11月29日資料を参考にしてください
21:Unity PlayGroundのPrefabsフォルダからUserinterfaceをゲームに設定します。詳細は10月25日資料の29を参考にしてください
22:再生ボタンを押してゲームがうまく動くか確認します。デフォルトでは風船を5個とるとゲームクリアです。リンク先は一例です