【UE5】Naniteの使い方と注意点

UE5
スポンサーリンク

Nanite(ナナイト)は、UE5で搭載された魅力的な機能です。

めっちゃ簡単に言うと「たくさんのポリゴンが扱える機能!」です。
ZBrushで作成したスカルプトモデルやフォトグラメトリのモデルなどをリダクションなしに扱うことができたりします。
以前は、処理負荷を下げるためにポリゴン数を段階的に減らしていくLODモデルの作成する必要ありましたが、それもNaniteが自動でやってくれます!

この記事では、Naniteの使い方や私が経験したトラブルなどを元に注意点などをご紹介します。

この記事では、UE5.0を使用しています。

スポンサーリンク

Nanite(ナナイト)の使い方

Naniteの使い方と言っても、基本的には、Naniteを有効にするだけです。
もちろん、いくつかの設定項目もありますが、順次ご紹介します。

有効にする方法は、いくつかあるので、それぞれご紹介します。

スポンサーリンク

まとめてNaniteを有効化する

一番簡単な方法は、コンテンツブラウザでスタティックメッシュを選択し
右クリック→「Nanite」→「Enable」です。
これだけです!

複数のアセットを選択して、まとめて有効化することもできます。

逆に「Disable」でまとめて無効化することもできます。

Nanite Toolsを使用する

UE5.0から追加されたNinate Toolsも便利です。
Nanite Toolsは、エラーがでているNaniteメッシュを探したり、Naniteが有効になっていないメッシュを探したりできます。

なので、こちらからもまとめてNaniteの有効化が可能です。

エディタ上部の「Tools」→「Nanite Tools」から開くことができます。

Optimize」タブでNaniteが有効になっていないメッシュをリスト化することができます。

Triangle Threshold」では、ここに入力したポリゴン数以上のメッシュがリストアップされます。
かつ、その下に4つ設定がありますが、ここに☑を入れておくことで、Naniteが対応していないマテリアルの機能を使用しているメッシュは、省いてくれます

うっかりNaniteが対応していないマテリアルを使ったメッシュでNaniteを有効にしてしまうということがなくなるので、安全です。

なので、基本的には、この4つのチェックボックスには、チェックを入れておきましょう。

右下の「Enable Nanite」を押すことで、リストでチェックの入っているメッシュのNaniteを有効にできます。

ちなみに「Error」タブでは、Naniteが対応していないマテリアルの機能を使用しているメッシュなどをリストアップします。

個別にNaniteを有効にする

各スタティックメッシュのNaniteの設定の部分からも有効にすることができます。

Enable Nanite Support」にチェックを入れることで有効になります。
ただし、下の「Apply Change」を押さないと設定が適用されれないので、ご注意ください。

その他にNaniteの設定を変更できます。
Keep Triangle PercentやTrim Relative Errorでは、ポリゴン数を減らして、ディスク容量を下げたりすることができます。

設定に関しては、こちらの講演がわかりやすかったです。

スポンサーリンク

インポート時にNaniteを有効にする

インポート時に有効にすることも可能です。

上部にある「Build Nanite」にチェックを入れるだけです!

ちなみにドキュメントにも記載がありますが、「Generate Lightmap UVs (ライトマップ UV の作成)」には、チェックを入れない方がおすすめです。

ポリゴン数が多いメッシュでライトマップを生成すると、かなり時間がかかる場合があるからです。
Lumenを使う場合は、ライトマップを必要ないので、わざわざ生成する必要も基本的にはありません。

ライトマップを用いたライティングなどはこちらでも解説しています。

ビジュアライゼーションモード

(一応ご紹介します)
ビジュアライゼーションモードでは、Naniteメッシュの様々な情報をを表示させることができます。

例えば、現在、どんな三角形の状態なのかなどを見ることができ、何かおかしいときなどのトラブルシューティングに使用できます。

ビューポート上部の「Lit」→「Nanite Visualization」から各表示モードを選択します。

各表示に関しては、公式ドキュメントをご覧ください。

スポンサーリンク

Naniteの注意点(トラブルシューティング)

続いて私が経験したトラブルやその対応、注意点などをご紹介します。

何かトラブルに遭遇した時などは、こちらに追記していきたいと思います。

Naniteが機能しない

Naniteを有効にしても、機能しない時は「DefaultRHI」がDirectX12になっているか確認してみましょう!
特にUE4のプロジェクトをUE5で開いたときに、なっていないことがありました。
UE5でプロジェクトを作成した時は、基本的に大丈夫です。

こちらの設定は「Project Settings(プロジェクト設定)」→「Platforms – Windows」→「Default RHI」になります。

メッシュの読み込み時にクラッシュする

何百万ポリゴンなどのメッシュを扱えるNaniteですが、読み込めれば、軽快に動作するのですが、読み込み時にクラッシュしてしまうことがありました。

予想ですが、数百万ポリゴンのメッシュを読み込んだ時だったので、メモリに乗り切れなかったりしたのかなと思います。

解決方法としては、複数のFBXに分けることで解決しました!

できるだけ全てのメッシュをNanite化する

Naniteは、大量のポリゴン数を扱う機能だから、ローポリは、有効にしなくて良いかと思っていました。
しかし、ドキュメントにも記載がありますがNaniteが使用できるメッシュは、可能な限り全てNaniteを有効にするのがおすすめです。

ポリゴン数だけ考えれば、ローポリで有効にするメリットはあまりないかもですが、仮想シャドウマップやLumenは、Naniteメッシュでの使用が推奨されています。
高速化にも繋がります。

ただ、例外として、天球のようなメッシュは、何も遮蔽せずに、1つしかしないものは有効にしない方が良いようです。

パストレーサーを使用するとローポリになる

先ほどご紹介した講演でも紹介されていますが、Naniteは、パストレーサーに対応していません。

そのため、パストレーサーを使用し、Naniteが有効なメッシュがあるとローポリになることがあります。
これは、Naniteが対応していない機能では、フォールバックメッシュというものが使用されるからです。
デフォルトでは、このフォールバックメッシュは、ポリゴン数が減らされた状態になっています。

解決方法としては、スタティックメッシュのNaniteの設定で「Fallback Relative Error」を「0」にすることで、パストレーサーでも元のポリゴン数のメッシュを使用することができます。

逆にこの値が大きいほどポリゴン数が減っていくので、減らし具合を調整することもできます。

スポンサーリンク

まとめ

Naniteの使い方と注意点、トラブルシューティングについてご紹介しました。

基本的に有効にするだけなので、難しいことはないですが、Nanite toolsを使うことで、効率的にえらーを避けながら有効にすることができます。

注意点についてもお役に立てば幸いです。
また何かあれば、追記します。

このサイトでは、このほかにもUE5の使い方やおすすめのチュートリアルなどの情報を紹介しています。
ぜひご覧ください!

最後までご覧いただき、ありがとうございました!
お役に立てば幸いです!

コメント

タイトルとURLをコピーしました