読者です 読者をやめる 読者になる 読者になる

Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4 Simplygonを使ってお手軽にメッシュのポリゴン数を減らす

UE4でAAAタイトルでもよく使われている自動メッシュリダクションツールである、Simplygonがなんと無料で利用できるようになりました。

www.unrealengine.com

一定の売り上げをあげると少額のロイヤリティーを払うというUE4と同じライセンスのようです。
しかし使うだけなら本当にタダ!というわけでとりあえず使ってみました。

Simplygonのインストール

まずはSimplygonのインストールが必要です。SimplygonはUE4のプラグインではないので、マーケットプレースからではなく、SDKをインストールする必要があります。手順は公式サイトに詳しく書かれています。

www.simplygon.com

次にライセンスの発行が必要で、アカウント登録後にアクティベーションキーを入力します。

Login - Simplygon

更に最新版のSDKをダウンロードします。

Download - Simplygon

あとは手順に沿ってインストールを進めていくだけです。インストールが完了し、無事アクティベーションが済めば、タスクバー上にSimplygonアイコンが出現し、あとはUE4を起動するだけで自動的に利用可能となります。Simplygonは最初からUE4にインテグレートされているので、アクティベーションさえ済んでしまえばすぐに使用することが可能となっているようです。

Simplygonを使ってLODを自動生成する

Simplygonが使えるようになればあとはメッシュのリダクションを行い、LOD(Level Of Detail)を作成するだけです。具体的な機能の使い方は公式サイト上に非常に詳しく書かれており、とくに迷う部分もありません。個々の機能の使い方についてはドキュメントを参考にしてください。

www.simplygon.com

では、折角なのでSimplygonを使ってスケルタルメッシュのリダクションを行ってみます。既にインポート済みのモデルであればすぐにでも利用可能です。

f:id:alwei:20161031174510p:plain

スケルタルメッシュのMeshタブを開いてから、詳細の"LOD Settings"に"Number of LODs"というプロパティがあるので、この数値を2以上、5までの間で設定し、そのまま下にある"Apply Change"を選択すると、LODの自動生成が始まります。これは"0"をベースモデルとし、LOD1~4までをSimplygonで自動的に生成可能です。

f:id:alwei:20161031175056p:plain

あとはスケルタルメッシュのビューポート上で"LOD 0"というボタンを切り替えていけば別のLODモデルを観ることが可能です。

ではどの程度最適化されるのか実際に試してみました。

Simplygonでメッシュを最適化する

今回はポリゴン数134928という結構な大きさを持つ、いつものレーシングミク2015をお借りしています。利用バージョンはUE4.13.2です。

f:id:alwei:20161031175337p:plain

ポリゴン数134928。
ベースモデルであるLOD 0の状態。この状態であれば当然アップに耐えるくらいのディティールがあります。

f:id:alwei:20161031175518p:plain

ポリゴン数67463。
自動生成されたLOD 1の状態。ポリゴン数は半分になりましたが、少しだけディティールが落ちた気がするものの、まだアップには耐えられます。

f:id:alwei:20161031175726p:plain

ポリゴン数33732。
自動生成されたLOD 2の状態。更にポリゴン数が半減。この状態ではさすがにアップが耐えられなくなりました。現実的にはここまでが利用限界になりそうです。

f:id:alwei:20161031175907p:plain

ポリゴン数16865。
自動生成されたLOD 3の状態。またポリゴン数が半減。既にカメラからかなり離れた状態でなければこれはきつそうです。おそらくライティング次第で誤魔化せますが。

f:id:alwei:20161031180054p:plain

ポリゴン数8095。
自動生成されたLOD 4の状態。ここまでくると顏が完全に崩れてしまったので、相当カメラを離してキャストシャドウも落とさないようにしないと厳しそうです。

十分すぎるほどに実用

さすがに5段階目までいくとかなり厳しい見た目になりましたが、実はカメラを離すとほとんど気になりません。このLOD切り替えもUE4がカメラ距離に応じて自動的に切り替えてくれますので、ほぼ手間いらず。メモリーさえ許すのなら可能な限りLODを利用するべきでしょう。

f:id:alwei:20161031180954p:plain

LOD切り替えはビューポートのスクリーン上でどの程度のサイズになっているかで自動的に判断してくれます。この辺りの調整も可能です。また"Reduction Settings"からリダクション設定も行えるので、本当にお手軽にリダクション時の調整も可能です。

使うだけなら無料ですので、最適化の際にはSimplygonを試してみてください。