もうだいぶマップも固まってきて、アルファ版をリリースできそうという段階になって、
こんなアセットを見つけてしまいました。
Low Poly Terrain - Polaris 2020
セールで50%オフだったので買いました。
モバイルじゃ重くて使えないはずのテレインを、独自仕様にしてモバイルで軽快に動けるようにするアセットです。不可能だと思ってたものを見つけてしまった以上、試すしかない。
軽さの秘訣は、
・テレインをセルで分割して、距離カリングできる
・造形のなだらかな部分はポリゴンを簡略化して、メッシュコライダーの負荷をを軽減してる
・8種類のテクスチャを扱えるSplatシェーダーを、4つに減らした独自シェーダーが使える
逆に、32種類に拡張もできるそうです
・テレインに使うプレハブを簡単にビルボードに変換できるツールがある
当然どちらも実装可能だし併用可能だし、書き割りテクスチャは他にも使えそうです。
・草木のコライダーは省略または簡略化して計算を軽くしてる
木の衝突判定は、カプセルコライダー一つのみ有効という仕様です。木のプレハブにそれ以外、ボックスコライダーや複数のコライダーとか入ってても無視されます。
また、植林にこれを使わず、かわりにVegetation Studio Proを使うと更に早くなると開発者が言ってました。
・JOB+Burstコンパイラ対応
例の早くなるやつに対応してます。どうやって適用するのか不明ですが。入れなくても使えましたが
なんかしらんけど大量の草木と細切れテレインは、ドロー数・オブジェクト数にカウントされてないという謎技術を使ってました。
性能弱くて使えないと思ってたAndoidタブが30フレーム叩き出したのを見て(Burstつかわずに) 、これはやべえとなってマップを全部作り直しました。
現状マップ狭かったし、開発初期からフレームレートで苦しんででは絶対後で詰むと思って
![](https://static.wixstatic.com/media/10f02c_3bf8f63cd4d44cba808618b081afcef6~mv2.jpg/v1/fill/w_902,h_496,al_c,q_85,enc_auto/10f02c_3bf8f63cd4d44cba808618b081afcef6~mv2.jpg)
![](https://static.wixstatic.com/media/10f02c_97eca406d8b643aeb12c5ae38961fafb~mv2.jpg/v1/fill/w_980,h_506,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/10f02c_97eca406d8b643aeb12c5ae38961fafb~mv2.jpg)
![](https://static.wixstatic.com/media/10f02c_e8eaaea802534668bc57b3f52fe489e2~mv2.jpg/v1/fill/w_980,h_557,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/10f02c_e8eaaea802534668bc57b3f52fe489e2~mv2.jpg)
うーん、テレインでマップ作るの超ラクですね
さすがにアルファマシマシの葉っぱにしててはモバイルに厳しそうだから、保険で透過テクスチャほぼなしのローポリ植物を作りました。
![](https://static.wixstatic.com/media/10f02c_0e74b26fed9941f9a8c61936f59ee6e4~mv2.jpg/v1/fill/w_980,h_540,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/10f02c_0e74b26fed9941f9a8c61936f59ee6e4~mv2.jpg)
くわしい使い方は、FANBOXで有料説明記事にしてます。(100円で読めます)
ちなみにGroupTool-Rendering OverideのEnable Instancingをオンにしとかないと、ビルドしたらアホほどテクスチャメモリ食ってモバイルだと即落ちします。
またGPUIとは競合するようなので外しました。残念
※GPUIに登録したプレハブは中にスクリプトが仕込まれるので、アセットをアンインストールする前に登録を解除する必要があります。
しかし問題は道路でした。
Unityで道路のモデリングといえばEasyRoadですが、
・公式ではモバイル…URPには対応してないぽいです。かろうじてLWRP
シェーダーを手動でURPに置き換えれば使えますが、一部の道路だけです。凝ったやつは表示がおかしくなります。
・めっちゃ地面から浮きますが、このPolarisテレインに対しては道路は作れても、テレインを道路にフィットはできないはずです
普通のテレインをPolarisテレインに変換もできるようですが、大幅ローポリ化するんだから、まあぴったり合わせるのは無理でしょう。まっ平らな地面ならいいんですが
・それより、メッシュコライダーが大量に作られるのが問題で、広大なマップ一面に張り巡られた道路にメッシュコライダー使うのはあかんのでは
・ボックスコライダーを持つプレハブで橋やフェンスを作ると、パスできれいに変形させてもコライダーはもとの箱のままで、見た目と大きくズレてしまう。隙間できないように非変形並べにしては、結局手で微調整する必要が出る。
…と懸念材料を考えたらこれハマるのでは…と思い、
結局、手作業で道路のマップチップを並べる方法で作りました。
EasyRoadは道路とフェンスのたたき台には役立った。
![](https://static.wixstatic.com/media/10f02c_d5be3f7b08b6475792f133a9ff09d77c~mv2.jpg/v1/fill/w_588,h_429,al_c,q_80,enc_auto/10f02c_d5be3f7b08b6475792f133a9ff09d77c~mv2.jpg)
この道路はほぼボックスライダーでできてるから、自作道路モデルのほうが軽いはず…
…いやどうだろう EasyRoadの道路のメッシュライダーの負荷は実際には目の当たりにしてない。本当は微々たるものだったりするかも? 誰か検証してみてください。
一週間かけてテレインに建物やプロップを並べ直して。
![](https://static.wixstatic.com/media/10f02c_f602c12602d54116bb2d235fc5298760~mv2.jpg/v1/fill/w_980,h_552,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/10f02c_f602c12602d54116bb2d235fc5298760~mv2.jpg)
導入結果、1.5倍以上の敷地面積と、大量の草木と、16-22フレームを実現しました。
草がないほうが軽いのは間違いないけど、大量に増やしても描画距離の制限が適切についてれ
ばさほど問題はなく、みっちりアルファ葉っぱで画面を埋め尽くしでもしない限り、動作するでしょう。
モバイルゲームの見栄えとボリューム感が大幅に上がりました!
スマホでオープンワールドできる時代が来るのか?
Kommentarer