プレイヤーと敵の位置関係を表すレーダー画面を作るには?
前回の記事ではプロ生ちゃんの声として提供されている声優の上坂すみれさんの音声ファイルをゲームに追加しました。プロの声優さんの音声が入ることによってゲームが華やかになりました!
今回はゲームに戦略性を加えるために,プレイヤーと敵の位置関係を表すレーダー画面を追加したいと思います。プレイヤーと敵の位置が分かれば,どういう順番で敵を倒していけば速いタイムが出せるかという戦略性が加わるので,よりゲームが面白くなります。
レーダー画面というと作るのが難しそうですが,Unityでなら簡単に作ることができます。
サブカメラで真上からステージを映せばレーダー画面の出来上がり?
Unityにはゲーム画面を映すカメラがあります。このゲームの現在の実装だとメインカメラがプロ生ちゃんの背後から画面を映す制御になっています。Unityには複数のカメラを配置して画面に映す機能があります。そこで,サブカメラを追加して,そのカメラでステージを真上から映すことでレーダー画面を実装してみたいと思います。
サブカメラを追加する
メニューの[GameObject]ー[Create Other]ー[Camera]を選択します。HierarchyにCameraが作成されるので名前を「Radar Camera」に変更します。Radar Cameraをクリックして表示されたInspectorの「Transform」に以下の情報を入力します。
| Position | X:0 | Y: 34 | Z:0 |
|---|---|---|---|
| Rotation | X:90 | Y:0 | Z:0 |
| Scale | X:1 | Y:1 | Z:1 |
ポイントはPositionのYを34にすることです。カメラが頭上34メートルに配置されます。それからRotationのXを90にすることでカメラの角度を変更して空から地上を向かせています。
続いて,同じくInspectorの「Camera」ー「Viewport Rect」に以下を入力します(図1)。
| X:0.73 | Y:0 | W:0.3 | H:0.3 |
これでXを0.73にすることでサブカメラ映像を右から73%の位置へ配置し,WとHを0.3にすることで幅と高さを画面の30%にしています。
一旦ここでゲームを実行してみましょう!画面右下にレーダー画面が追加されています。クマが動いている様子は分かるのですがプレイヤーがどこにいるのかよく見えません。プレイヤーはクマに比べて小さいので,空から映すカメラだとよく見えないわけです(図2)。
そこでプレイヤーの上にカメラから見える大きな矢印を追加してみましょう!
キャラクターの位置を示す矢印を作成する
メニューの[GameObject]ー[Create Empty]をクリックします。Hierarchyに作成されたGameObjectの名前を「RadarCursor」に変更します。
続いてメニューの[GameObject]ー[Create Other]ー[Cube]をクリックします。Cubeとは四角形の3Dオブジェクトです。Hierarchyに作成されたCubeの名前を「Cursor1」に変更します。Cursor1をRadarCursorにドラッグアンドドロップします。するとRadarCursorの中にCursor1が入ります。Unityではこのようにオブジェクトの親子関係を作ることができます。Cursor1を右クリックしてコンテキストメニューの[Duplicate]をクリックします。するとRadarCursorの中にCursor1がもう一つ出来上がります。つまりDuplicateという操作はオブジェクトのコピーを作るということです。ではコピーされたCursor1の名前を「Cursor2」に変更しましょう。続けてRadarCursorをpronamachanにドラッグアンドドロップします。これでHierarchyのpronamachanの下にRadarCursorが,RadarCursorの下にCursor1,Cursor 2が配置されました(図3)。
現在の状態だとRadarCursorが地面に隠れて見えないので,HierarchyのCursor1をダブルクリックします。するとSceneにCursor1がズームアップされます。Cursor1とCursor2は同じ大きさ,位置の四角形なので,重なって一つの四角形に見えます。この2つの四角形の大きさ,位置,角度を変更して矢印を作っていきます。Cursor1のInspectorの「Transform」に以下を入力します。
| Position | X:-0.4 | Y:0 | Z:2.8 |
|---|---|---|---|
| Rotation | X:0 | Y: -130 | Z:0 |
| Scale | X: 0.37 | Y:1 | Z: 1.4 |
続いてCursor2のInspectorの「Transform」に以下を入力します。
| Position | X:0.45 | Y:0 | Z:2.8 |
|---|---|---|---|
| Rotation | X:0 | Y: -45 | Z:0 |
| Scale | X: 0.37 | Y:1 | Z: 1.4 |
これらの操作で四角形のオブジェクトの位置,角度,大きさを変更しています。その結果,2つの四角形が矢印のような形になりました(図4)。