LoginSignup
1
0

More than 1 year has passed since last update.

【Unity】Terrainのtree重すぎ問題をGPU Instancingで解決する

Last updated at Posted at 2020-05-13

スクリーンショット 2020-01-02 0.21.30.png


やりたいこと

  • terrainで木を大量に配置したのですが、せっかくLODを設定した低ポリの木でも、バッチ数がとても多くなってしまいました
  • これを減らしたいです

やったこと

  • terrainのGUP Instancingという機能を使います
  • 木のもととなっているオブジェクトについているマテリアルの「GPU Instancing」にチェックを入れます
  • そんなチェックないよ!という場合は、それがあるものにシェーダを変えます

参考までに、僕のマテリアルのbefore afterを載せておきます

before
スクリーンショット 2020-01-02 0.21.30.png

after
スクリーンショット 2020-01-02 0.21.30.png

「bark wh」というマテリアルのシェーダをMobile Diffuseにし、Enable GPU Instancingにチェックを入れました

さらに、
- terrainの設定から、Draw GPU Instancedにチェックを入れ、Bake Light Probes for Treeはチェックを外しておきます↓

スクリーンショット 2020-01-02 0.21.30.png

そうすると...before afterでこんなに変わっちゃいます!
ポリゴン数が微妙に変わってるというツッコミはなしだよ♡(スクショの前後で別の作業したので、なんか関係ないものが消えたんだと思います)

before
スクリーンショット 2020-01-02 0.21.30.png

after
スクリーンショット 2020-01-02 0.21.30.png

追記1(20200514): うまくいかないときは dynamic batchingできていないかも

以上と同じ手順でやってもうまくいかない、減るは減るけど劇的に減らない、
という場合はdynamic batchingが設定できていない可能性があります。

Edit > Project Settings > Player > Other Settingsのなかから
Dynamic Batchingがオンになっているか確認してください(ここにたどり着くのに数時間溶かしました)
スクリーンショット 2020-01-02 0.21.30.png

参考

【Unity】Terrainの負荷やらDrawCallやらを下げるポイント

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0