シンプルなマップビューの作成
- ゲームにはマップビューやナビ画面,飛行機であればレーダーが装備されています.こうしたビューはプレイフィールドを俯瞰で2次元的に見せ,敵やアイテムを記号化して表示させることが常でしょう
- ここではカメラを増やすことで,最も簡単なマップビューを装備する
- まずはマップビュー用の画面を作成する.そのためにはカメラをもう一つ追加する
- GameObject>Camera でヒエラルキーにカメラを追加する
- 下図のように設定する
- 上図の4はパースペクティブ(透視図法)からオルソ表示(正射投影)に変更している.また7はいわばカメラのレイヤーである.この数字が大きいと手前に表示される.この数値で重なり順を決めることができる.なお後述のレイヤーと混同しないように
- 次に自分の目印として以前作成した球を再利用する.球(sphere)を先ほど作成したCameraの子にする.同じ位置の上空に巨大な球を置き、俯瞰で見た際に目印になるようにする
- 下図のように設定する
- ゲームを再生して確認してみること
- ところが,上を見上げると白い球が見えてしまう(下図の上)
レイヤーの変更
- そこで,この白い球を別のレイヤーへと移行する
- Sphere(球)を選択しInspectorのLayerからAdd Layer… を選択する
- 開いたLayer画面の入力できる部分に好きな名称のレイヤー名を設定する,図の例ではmarkerと入れてある
- まだレイヤーが作成されただけなので,再度Sphere>Inspector>Layerからmarkerのレイヤーを選択する
レイヤー別の表示,非表示
- 次にメインの画面のカメラにこのmarkerのレイヤーを描画しないように設定する
- FirstPersonCharactorを選択し,CullingMaskのプルダウンからmarkerをクリックしチェックをオフにする.これでレンダリングされなくなる
- ゲームを再生して確認してみること
- 同様に,他の場所にもCubeなどを配置し,マップ上に目印が表示されるようにする.マップはユーザがゲーム空間内移動したくなるモチベーションとなる
- 余談ですが,レイヤーとは別にタグというものがある.こちらは味方,敵,障害物といったゲームに作用する物にそれぞれ共通のタグをつけ,誤って味方を撃っても血が出ないようにする仕組みである.タグについてはこちらを参考に