6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

キレイだが重たいモデルを工夫して取り込む5ステップ

Posted at

こちらは Unity #3 Advent Calendar 2019 3日目の記事です

TL;DR

重たいモデルを、有償、無償のアセットを利用してパフォーマンス改善します。
基本的な戦略は、見た目が悪くならない程度に、不要なものを間引いていくという感じになります。

それぞれの手順を一つ実施するだけも改善は可能です。
長いので、気になったところだけを読んで試してもらえたらと思います。

重いモデルを工夫して取り込む5ステップ

  1. 不要なモデルを削除する(取り込んでいない・・・)
  2. モデルの頂点数を減らす
  3. LOD を設定する
  4. MeshBaker で Bake する
  5. オプション編
  6. おまけ(5ステップ・・・)

ここからは各手順について少し掘り下げて、最後におまけを書いています。

1. 不要なモデルを削除する

ここは手動でやります。
(便利なアセットがあるなら教えていただきたい。)

画面に表示されなていなくても、カメラの表示範囲に入っていると処理としては重くなります。
Unityアセットに手を入れず使用しているときや、屋内にしかいないのに屋外にモデルがたくさんあるなど、
意味のないモデルは削除しておきましょう。

当たり前だけど忘れがちなところの一つだと思います。
張りぼてみたいになってしまいますが、カメラから見たらわかりません!

2. モデルの頂点数を減らす

Mesh Simplify」or「Mesh Optimizer」を使用して頂点数を減らします。

  • Mesh Simplify は有償ですが、どのバージョンのUnityで使用でき、使ってみるとかゆいところに手が届くツールです
  • Mesh Optmizer は無料で使用することができますが、Unity 2019.2.1以上でないと使用できません。

どちらも簡単に使えます。詳細は過去記事を見てもらえたらと思います。

3. LODを設定する

Automatic LOD」or「Amplify Impostors [BETA]」を使用してLODを設定します。

  • Automatic LOD は自動で Verts を削減したモデルを LOD に設定してくれる優れたツールです
  • Amplify Impostors[BETA] はモデルを写真のビルボード形式にするので、うまくすると劇的な改善につながるツールです

どちらも簡単に使えます。詳細は過去記事を見てもらえたらと思います。

4. MeshBaker で Bake する

Unity のパフォーマンス改善でときどき出てくる、Batches と SetPass calls を改善します。
誤解を恐れずに言うと、MeshBaker は関連する Mesh やテクスチャーを一つに固めてドバっとロードして表示します。
このアセットも簡単に使えます、詳細は過去記事を見てもらえたらと思います。

ちなみに、ライトの Bake とは関係ありません。

5. オプション編

場合によっては設定することでパフォーマンスの改善が望めるものです。

DynamicBatching を On にする

配置しているオブジェクトが同じマテリアルなどを使用している場合に有効です。
同じモデルをコピーして利用するなど、現実的によくあると思うので、そういうときに設定してみてください。

2019-12-01_16h58_41.png

6. おまけ

MeshBaker ではなく、ライトを Bake する

言わずもがなかもしれませんが、これもとても効果の高い対応方法です。
これだけで一つの記事になってしまうので、ここでは割愛させてもらいます。
いろいろなサイトで紹介されているので探してみてください。

スポットライト配置しすぎ問題

スポットライトは処理に負荷がかかる可能性があります。
特に範囲の大きなスポットライトは、処理に悪影響を与える可能性があるので、そういうライトが無いか見直してみてください。

Scene ビューが重かった

Unity で開発しているときに Scene ビューを使うと思いますが、Scene ビューの描画もパフォーマンスに影響します。
もちろんビルドしたモジュールには関係ありませんが、
パフォーマンス改善しているときに気づかないと無駄な作業をすることになります。
パフォーマンス改善時には閉じるなどしておきましょう。

Automatic LOD と Mesh Simplify

同じ会社が作っているアセットで、Automatic LOD を購入すると Mesh Simplify も含まれています。
安くなっているときに購入が吉です。

6
5
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
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?