Unity入門-7 マップビューの作成

シンプルなマップビューの作成

  1. ゲームにはマップビューやナビ画面,飛行機であればレーダーが装備されています.こうしたビューはプレイフィールドを俯瞰で2次元的に見せ,敵やアイテムを記号化して表示させることが常でしょう
  2. ここではカメラを増やすことで,最も簡単なマップビューを装備する
  3. まずはマップビュー用の画面を作成する.そのためにはカメラをもう一つ追加する
  4. GameObject>Camera でヒエラルキーにカメラを追加する
  5. 下図のように設定するmap1
  6. 上図の4はパースペクティブ(透視図法)からオルソ表示(正射投影)に変更している.また7はいわばカメラのレイヤーである.この数字が大きいと手前に表示される.この数値で重なり順を決めることができる.なお後述のレイヤーと混同しないように
  7. 次に自分の目印として以前作成した球を再利用する.球(sphere)を先ほど作成したCameraの子にする.同じ位置の上空に巨大な球を置き、俯瞰で見た際に目印になるようにする
  8. 下図のように設定するmap2
  9. ゲームを再生して確認してみること
  10. ところが,上を見上げると白い球が見えてしまう(下図の上)
    map3

レイヤーの変更

  1. そこで,この白い球を別のレイヤーへと移行する
  2. Sphere(球)を選択しInspectorLayerからAdd Layer… を選択するmap4
  3. 開いたLayer画面の入力できる部分に好きな名称のレイヤー名を設定する,図の例ではmarkerと入れてあるmap5
  4. まだレイヤーが作成されただけなので,再度Sphere>Inspector>Layerからmarkerのレイヤーを選択するmap6

レイヤー別の表示,非表示

  1. 次にメインの画面のカメラにこのmarkerのレイヤーを描画しないように設定する
  2.  FirstPersonCharactorを選択し,CullingMaskのプルダウンからmarkerをクリックしチェックをオフにする.これでレンダリングされなくなるmap7
  3. ゲームを再生して確認してみること
  4. 同様に,他の場所にもCubeなどを配置し,マップ上に目印が表示されるようにする.マップはユーザがゲーム空間内移動したくなるモチベーションとなる
  5. 余談ですが,レイヤーとは別にタグというものがある.こちらは味方,敵,障害物といったゲームに作用する物にそれぞれ共通のタグをつけ,誤って味方を撃っても血が出ないようにする仕組みである.タグについてはこちらを参考に

マテリアルの作成

  1. マーカーの色を変更したい場合は,マテリアルを作成する
  2. Assets>右クリック Create Materialを選択material2
  3. 下図を参考にMaterialを調整し,Sphereにアサインするmaterial1
  4. 今回は発光させることで影のないマーカーを作成した
  5. Mayaと同様にMaterialを作成することで質感を変化させることができるので、いろいろ試してみること
  6. 今回は使用しないが,テクスチャマテリアルにアサインしてから使用すること

つぎへ