2D見下ろし型マップ
問題
斜め上から見下ろしたような画面をつくるとき、まず困るのがキャラの描画順。
2D的にキャラを並べただけだとこんな感じになったりする。
OrderInLayerを使えば解決することはできるけど、毎フレーム処理するのも鬱陶しいなあ、とか、他にも色々問題がでてくるので、別の方法で解決する。
対応
Spriteの描画順は、カメラからの距離で決定する。
Unity - Manual: Sprite Renderer
ので、カメラを傾けることで描画順を解決する。
そんなの当たり前じゃんとか言わない。
カメラは下から見上げるような角度に設定する。
キャラがつぶれる
そのままだとキャラは斜めから見ることになり、縦方向が短く潰れてしまうので、角度をいじってビルボードにしてやる。
pivotは足元に設定しておくとベネ。
transform.rotation = Camera.main.transform.rotation;
地面がつぶれる
地面も斜めから見ることになる。
こっちはビルボードにせず、スケールをいじって等倍に見えるように辻褄をあわせた。
スクショ
シーンビューで見るとわかりやすい
before
after
地面にも何か柄を入れておけばよかった。