unityの勉強を始めてからまだ1ヶ月ほどの者です。
ネット上のある講座?を受けて教わった事を忘れないうちにココにメモっておきます。
今回はミニマップの作り方。
Main Cameraとは別のカメラをフィールドの上に設置し、下にあるモノを映す事によってマップのようなものにする方法。
ここで説明する方法はミニマップに映すのは特定のオブジェクト(Playerだけ等)にする場合の方法です。
1,Hierarchyのcreateボタンで新しいcameraを用意。位置は上からフィールド全体を映せるように調整。Rotate(90,0,0)にすると真上から映せました。
2,設置したCameraの設定を変更する。cameraのインスペクタ内にある
「Clear Flag」をSolid Colorにする。
「Projection」をOrthograhicにする。
こんな感じです。
3,Imageを2つ用意する。
ミニマップの背景用(上の画像でいう白い部分)と映したいオブジェクト用のために2つ用意します。
Imageの位置、カラーは好みで。
3,ミニマップに映したいオブジェクトの下にオブジェクトを作る。
要はミニマップに映したいオブジェクト自体を映すのではなく、代役的な○とか■とかを映すのです。
右上のやつみたいなシンプルなミニマップですね。
説明に戻ります。
Hierarchyのところにあるであろうオブジェクトを右クリック→3D object(私は3Dモードで作っていたので)→Cube(ここはお好みで)でオブジェクトを生成。
この時このオブジェクトのインスペクタを見るとColliderがついていると思いますが、ミニマップ専用のものに当たり判定はいらないので(あったら困る)これは削除します。
オブジェクトに色をつけたい場合は、ProjectのCreateボタンでMaterialを生成。Materialで好きな色を作り、それをオブジェクトをアタッチすればOK。
4,3,で作ったオブジェクトをミニマップに映すためにレイヤーを新しく作る。
cameraに映したいオブジェクトを限定するためにはcameraに映すレイヤーを限定すればいいみたいです。
まずは、そのレイヤー作りから。
3,で作ったオブジェクトのインスペクタの上にあるLayersをクリック→Edit layersをクリック
User Layersにお好みの名前を設定。
これでレイヤーの設定は終わりです。
後はcameraに戻り、Culling MaskをEverythingからNothingにした後に、先程作ったレイヤーの名前を選択。
これでOK,なはず。
unityをほぼ何も知らない私でも実装できた方法なので、おそらく誰でも簡単にできる方法です。
以上、ミニマップ作成でした。
もっと効率のいい実装方法とかあれば是非教えてください。
ではでは。