UE4でAAAタイトルでもよく使われている自動メッシュリダクションツールである、Simplygonがなんと無料で利用できるようになりました。
一定の売り上げをあげると少額のロイヤリティーを払うというUE4と同じライセンスのようです。
しかし使うだけなら本当にタダ!というわけでとりあえず使ってみました。
Simplygonのインストール
まずはSimplygonのインストールが必要です。SimplygonはUE4のプラグインではないので、マーケットプレースからではなく、SDKをインストールする必要があります。手順は公式サイトに詳しく書かれています。
次にライセンスの発行が必要で、アカウント登録後にアクティベーションキーを入力します。
更に最新版のSDKをダウンロードします。
あとは手順に沿ってインストールを進めていくだけです。インストールが完了し、無事アクティベーションが済めば、タスクバー上にSimplygonアイコンが出現し、あとはUE4を起動するだけで自動的に利用可能となります。Simplygonは最初からUE4にインテグレートされているので、アクティベーションさえ済んでしまえばすぐに使用することが可能となっているようです。
Simplygonを使ってLODを自動生成する
Simplygonが使えるようになればあとはメッシュのリダクションを行い、LOD(Level Of Detail)を作成するだけです。具体的な機能の使い方は公式サイト上に非常に詳しく書かれており、とくに迷う部分もありません。個々の機能の使い方についてはドキュメントを参考にしてください。
では、折角なのでSimplygonを使ってスケルタルメッシュのリダクションを行ってみます。既にインポート済みのモデルであればすぐにでも利用可能です。
スケルタルメッシュのMeshタブを開いてから、詳細の"LOD Settings"に"Number of LODs"というプロパティがあるので、この数値を2以上、5までの間で設定し、そのまま下にある"Apply Change"を選択すると、LODの自動生成が始まります。これは"0"をベースモデルとし、LOD1~4までをSimplygonで自動的に生成可能です。
あとはスケルタルメッシュのビューポート上で"LOD 0"というボタンを切り替えていけば別のLODモデルを観ることが可能です。
ではどの程度最適化されるのか実際に試してみました。
Simplygonでメッシュを最適化する
今回はポリゴン数134928という結構な大きさを持つ、いつものレーシングミク2015をお借りしています。利用バージョンはUE4.13.2です。
ポリゴン数134928。
ベースモデルであるLOD 0の状態。この状態であれば当然アップに耐えるくらいのディティールがあります。
ポリゴン数67463。
自動生成されたLOD 1の状態。ポリゴン数は半分になりましたが、少しだけディティールが落ちた気がするものの、まだアップには耐えられます。
ポリゴン数33732。
自動生成されたLOD 2の状態。更にポリゴン数が半減。この状態ではさすがにアップが耐えられなくなりました。現実的にはここまでが利用限界になりそうです。
ポリゴン数16865。
自動生成されたLOD 3の状態。またポリゴン数が半減。既にカメラからかなり離れた状態でなければこれはきつそうです。おそらくライティング次第で誤魔化せますが。
ポリゴン数8095。
自動生成されたLOD 4の状態。ここまでくると顏が完全に崩れてしまったので、相当カメラを離してキャストシャドウも落とさないようにしないと厳しそうです。
十分すぎるほどに実用
さすがに5段階目までいくとかなり厳しい見た目になりましたが、実はカメラを離すとほとんど気になりません。このLOD切り替えもUE4がカメラ距離に応じて自動的に切り替えてくれますので、ほぼ手間いらず。メモリーさえ許すのなら可能な限りLODを利用するべきでしょう。
LOD切り替えはビューポートのスクリーン上でどの程度のサイズになっているかで自動的に判断してくれます。この辺りの調整も可能です。また"Reduction Settings"からリダクション設定も行えるので、本当にお手軽にリダクション時の調整も可能です。
使うだけなら無料ですので、最適化の際にはSimplygonを試してみてください。
Simplygonで自動生成した5段階のLODの一覧。LOD 0がベースモデル。右にいけばいくほどポリゴン数が半減していきます。#UE4Study pic.twitter.com/6PXzXDDOtM
— alwei@デジゲー博D-03a (@aizen76) 2016年10月31日