マップの事
今回は移動画面について。
処理の軽さとか色々考えつつ進めるので、忘備録みたいな感じで残します。
マップについては、
①毎回ランダムで迷路を生成。
②マップ構成は固定。
のどっちで行こうか迷って、最初は①で進めていたのですが、
主に処理の重さを考えて②の方で進める事にしました。
具体的には、プログラム実行前にあらかじめ奥行きの描写順序などを計算させておく、オクルージョンのベイク機能を使うか使わないかでかなり処理の重さが変わるらしい。
迷路を作るのはプログラム実行後になるのでその計算が出来ない。
また、もう一つ②の利点が、陰影の設定をあらかじめ作っておけるので、その分リアルタイムでの影付け処理が減り、軽くなるというもの。
敵の配置や目的地をランダムにしたら迷路と同じような楽しみが出来るはず。
試しに、オクルージョンのベイクをする、しないだけでどれくらい変わるかチェック。
画像右上の数値のうち、主にBatches、SetPass calls、Shadow casters
などが少ない方が良い。
↑何も考えずにマップを用意した場合。
リアルタイムで光の計算とかをしてる分、とても数値が大きくなる
↑描画距離を抑えてみた場合。
暗くなって見えなくなる距離で描画を止める設定
↑事前に奥行きやライトをベイクした場合。
描画距離を抑えてない状態ですが、SetPass等が一気に減りました
↑描画距離なども抑えた、現状での理想。
ポストエフェクトとかかけてたらSetPassとかこの辺が下限か?
画像を間違ってたので差し替えw
やはり、単純なポリゴンの地形だけどかなり差が出てきますね。
また、カメラ制御はサードパーティ製のアセットを使ってたのですが、
その製造元が無くなってしまってたので、
unityに公式でついているcinemachineを使うことにしました。
とりあえず背景を動画にしてみました。
ライトなどもベイクしているのと描画距離を短くしているのとで、
割と軽いし良い感じですね。
ラステスさんは後々差し替える予定ですが、それまではこのモデルで製作。
作る内容をどの程度記事にするか迷い中。
こういった内容に興味がある方がおられそうなら、
たまにこういう記事を作るのもいいかなと思ったりも。
とりあえず少しずつ進めてきます。