シームレスマップ作成のための基本システム作成
ここ数日Unrealエンジンを色々いじってみましたが、マップの作成はUE4の方が軽い感じがしました。
もっともまだ少ししかいじってませんが。
UE4ではマップを分割して読み込んだりなんだりすることで広大なマップをつかえるようです。
最近Unityもシームレスマップが制作しやすい環境を整えて来たようです。
複数のシーンを同時に読み込んで編集できるようになったようですね。
せっかくなので、この機会にフィールドを広げようと思い、シームレスマップを実装しようというわけです。
Unityにもオープンワールドのアセットは有料販売されてますが、お金が掛かるのもなんなので、自分で作ろうと思います。
といっても、単純に近づくと表示して、離れてしばらくすると消えるようにするだけですが。
こんな感じ
試しにGIF作成してみたら、撮影時間が短くて消えるとこまで入りませんでした。
単純にプレイヤーとの距離が一定以上近づくとシーンをロードするようにしてみました。
同じ要領でシーンのアンロードも出来るようです。
ただ、最初に適当にロードとアンロード基準距離を同じ値でやったらUnityが無限ループに入ったらしく止まりました。
なので、今は基準になる距離を少し変えて、ついでにアンロードは少し遅らせてます。
でも、これだけだといきなりマップが消えることになるので、実際に使うときには近づくまでは低クオリティーなマップでも配置しておいて、近づいたらシーンのロードと低クオリティーマップの削除という感じになると思います。
低クオリティーなマップでも、被写体深度とかいじってぼやかせばなんだかそれっぽく見えるようになると思うので、出来るだけ遠くが(ぼやけて)見えないようにしたら意外と軽くなるんじゃないかとか思ってます。
Unityのテラインは重いので、Blenderでマップを作るようになりそうです。
分割が面倒なんですよね・・・。後配置とか。