ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
この記事の要点
- Nanite が効かない原因は「実行環境」「アセット種別」「マテリアル」「そもそも効果が出にくい構成」の4つに切り分けると特定が早くなります。
- 最初に疑うのは DirectX 12 とシェーダーモデル 6 の設定。ここが外れていると全メッシュがフォールバック描画になります。
- 特定のメッシュだけ効かない場合は、アセットの種類とマテリアルのブレンドモードを確認します。半透明は Nanite の対象外です。
- 「有効なのに速くならない」場合はボトルネックがジオメトリではない可能性が高く、オーバードローやマテリアル負荷を疑います。
- 推測で判断せず、ビューポートの Nanite 可視化モードで実際に色が付くかどうかを毎回確認するのが最短ルートです。
1まず切り分ける:症状は2種類ある
「Nanite が使えない」という相談は、実際には性質の異なる2つの症状が混ざっています。最初にどちらなのかをはっきりさせると、無駄な調査を避けられます。
症状A:Nanite として描画されていない。設定したはずなのにメッシュエディタで有効になっていない、あるいは可視化モードで色が付かない。この場合は環境要因かアセット要因です。
症状B:Nanite としては描画されているが、期待したほど速くならない。可視化モードでは正しく色が付くのに、フレームレートが改善しない。この場合はボトルネックが別の場所にあります。
どちらなのかを判定するには、Unreal Engine 5 (UE5) のビューポート表示メニューにある Nanite の可視化を開き、対象のメッシュに色が付いているかを見ます。ここで色が付かなければ症状A、付いているのに遅ければ症状Bです。
2環境要因:プロジェクト全体で効かない場合
すべてのメッシュで Nanite が効いていないなら、原因はほぼ環境側です。次の順に確認します。
- 既定の RHI が DirectX 12 か:プロジェクト設定のプラットフォーム項目を開き、Windows の既定 RHI を確認します。DirectX 11 のままだと Nanite は動作しません。
- シェーダーモデル 6 が対象に入っているか:同じ画面のシェーダーフォーマット指定に SM6 が含まれているかを見ます。SM5 のみだと Nanite の要件を満たしません。
- 設定変更後にエディタを再起動したか:これらの設定は再起動して初めて反映されます。再起動後は大量のシェーダーコンパイルが走るため、完了するまで正しい結果になりません。時間がかかりすぎる場合はシェーダコンパイルに長時間待たされる問題とその解決策を参照してください。
- GPU が要件を満たしているか:DX12 と SM6 世代の機能、とくに 64bit のアトミック演算に対応している必要があります。古い GPU や一部の統合 GPU では要件を満たさず、フォールバックメッシュでの描画になります。
- 起動オプションやスケーラビリティ設定:エディタを DX11 指定で起動していないか、Nanite を無効化するコンソール変数が設定ファイルに残っていないかを確認します。
# Nanite の有効/無効を実行時に切り替えて比較する
r.Nanite 1
r.Nanite 0
# フレーム時間の内訳(CPU / GPU のどちらがボトルネックか)を見る
stat unit
# ※ 使用中の RHI は Project Settings の Default RHI などで確認する
要件を満たしていない環境では、エラーではなく「静かにフォールバックへ切り替わる」点が厄介です。見た目が大きく崩れないため気付きにくく、パッケージ後に別マシンで検証して初めて発覚する、ということが起こります。
3アセット要因:特定のメッシュだけ効かない場合
他のメッシュは Nanite で描かれているのに一部だけ効かない場合、そのアセットが対象外か、設定が反映されていません。
| チェック項目 | 確認と対処 |
|---|---|
| アセットの種類 | Nanite の基本対象はスタティックメッシュ。スケルタルメッシュ、破壊用のジオメトリコレクション、ヘアやパーティクル系などの対応可否はバージョンにより異なるため、使用中のバージョンの仕様を前提に判断する |
| 設定が適用済みか | スタティックメッシュエディタで Nanite が有効表示になっているかを見る。チェックを入れただけで変更を適用していないケースが多い |
| ビルドが完了しているか | 有効化後は Nanite 用データの生成処理が走る。大量変換の直後は処理待ちの可能性がある |
| インスタンス側の設定 | レベルに配置したアクタ側で描画関連の設定が上書きされていないかを確認する |
| ネイティブでない配置方法 | スプラインに沿って変形させる配置や、実行時に形状を変えるような使い方は Nanite の前提と噛み合わないことがある |
また、元のメッシュ自体に問題があるケースもあります。極端に破綻したジオメトリ、重複頂点だらけのデータ、法線が壊れているモデルは、Nanite 化しても期待どおりの結果になりません。DCC ツール側で一度クリーンにしてから再インポートするほうが結局早いことが多いです。
4マテリアル要因:半透明と特殊な表現
Nanite が適用されない典型例のひとつがマテリアル側の条件です。Nanite は不透明な表面を効率よく描くために設計された仕組みで、半透明のブレンドモードを使うマテリアルは対象外です。半透明を割り当てたメッシュは、Nanite ではなく従来のパスで描画されます。
そのため、ガラス、水、煙、光の膜のような表現を含むアセットでは、次のような対処が現実的です。
- 不透明で表現できる部分と半透明が必要な部分をメッシュとして分ける。建物なら躯体は Nanite、窓ガラスだけ別メッシュで従来描画にする、といった分割です。
- 半透明ではなくマスク(切り抜き)で代用できないかを検討する。ただしマスクは扱いによって負荷が変わるため、置き換えれば必ず軽くなるとは限りません。
- 頂点位置を動かすような表現を使う場合は、使用中のバージョンでの対応状況を確認する。この領域はバージョン間で仕様が変化してきた部分なので、公式ドキュメントで自分の環境の記述を確認するのが確実です。
5「有効なのに速くならない」ときの見方
可視化モードで正しく色が付いているのに改善しない場合、Nanite の設定をいじっても解決しません。次を疑ってください。
まず統計表示で CPU と GPU のどちらが待たされているかを見ます。GPU 側なら描画パスの内訳を確認し、ジオメトリ以外(影、ライティング、ポストプロセス)が支配的でないかを調べます。CPU 側ならそもそも描画以外の処理が原因です。
Nanite はマテリアル評価やライティングの負荷を下げません。三角形を減らしても、画面を覆うピクセルに対して重いシェーダを走らせていれば結果は変わりません。ライティングや影の設定を見直すほうが効くケースは多いです。
とくに多いのが、密度の高い草木や葉のようなアセットでの重なり(オーバードロー)です。切り抜きを多用する表現は、Nanite の得意分野とは性質が異なるため、素直に効果が出ないことがあります。この場合は、そもそも配置数を見直す、遠景を別の表現に置き換えるといった設計側の対処が必要です。
もうひとつ見落としやすいのが、Nanite の詳細ジオメトリがそのまま使われない処理があることです。当たり判定や一部の機能ではフォールバック側の形状が使われます。フォールバックの精度設定を極端に高くしていると、そちらの負荷が別途乗ってきます。
6大規模レベルで発生する固有の問題
広いマップでは、Nanite 単体ではなくレベル構成側の問題が絡んできます。World Partition を使っている場合、遠景の表示は 古いHLODアクタを検出、HLODをリビルドする必要があります で扱うような HLOD の仕組みに依存します。HLOD が古いままだと遠景が想定と違う見え方になり、「Nanite が効いていない」と誤認する原因になります。レベルを大きく編集したあとは HLOD のリビルドを行い、ビルドの状態を最新にしてから評価してください。
また、World PartitionとWorld Compositionの違いを理解しないまま古い構成を引きずっていると、ロードの単位と Nanite の効きどころがずれて、原因の切り分けが難しくなります。レベルの分割方式そのものを確認しておくと無駄な調査を減らせます。
7調査チェックリスト
| 順番 | やること | 判定 |
|---|---|---|
| 1 | Nanite 可視化モードで色が付くか見る | 付かない→2へ/付く→5へ |
| 2 | 既定 RHI が DirectX 12、シェーダーフォーマットに SM6 が入っているか | 外れていれば修正して再起動 |
| 3 | スタティックメッシュエディタで Nanite 有効表示になっているか | 無効なら有効化して適用 |
| 4 | アセット種別とマテリアルのブレンドモードを確認 | 半透明・非対応種別なら設計を分割 |
| 5 | 統計表示で CPU / GPU のどちらが律速か確認 | ジオメトリ以外が支配的ならそちらを最適化 |
| 6 | オーバードローとマテリアル複雑度を可視化して確認 | 重なりが多ければ配置・表現を見直す |
| 7 | HLOD やレベル構成が最新の状態か確認 | 古ければリビルドしてから再評価 |
この順で潰していけば、たいていの「Nanite が効かない」は原因までたどり着けます。重要なのは、可視化モードと統計表示という客観的な材料を使い、印象で判断しないことです。設定を一度に複数変えると何が効いたのか分からなくなるため、1項目ずつ変えて確認する進め方を推奨します。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- Nanite とは?有効化の手順と対応条件
- Nanite が使えない・効かないメッシュの条件と対処
- Nanite と LOD の違いと使い分け
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- UE5 の Lumen とは|リアルタイムGIの仕組みと有効化手順 NEW 2026-08-03 07:45:20
- UE5 の Lumen が暗い・反射しない|原因と確認ポイント NEW 2026-08-03 07:45:20
- UE5 のライトの種類と使い分け|Directional/Point/Spot/Rect NEW 2026-08-03 07:45:20
- UE5 の Nanite とは|有効化手順と対応条件を解説 NEW 2026-08-03 07:45:20
- UE5 の Nanite が効かない|原因と対処の切り分け NEW 2026-08-03 07:45:20
- UE5 の Nanite と LOD の違い|使い分けの指針 NEW 2026-08-03 07:45:20
- UE5 のマテリアルとマテリアルインスタンス|違いと使い分け NEW 2026-08-03 07:45:20
- UE5 のマテリアルノード|Lerp・Fresnel・Panner NEW 2026-08-03 07:45:20
- UE5 のマテリアルブレンドモード|Two Sided と選び方 NEW 2026-08-03 07:45:20
- UE5 の Enhanced Input 入門|IAとIMCの基本 NEW 2026-08-03 07:45:20
- UE5 の Enhanced Input 実装手順|BPでキー入力 NEW 2026-08-03 07:45:20
- UE5 の旧入力から Enhanced Input へ移行する手順 NEW 2026-08-03 07:45:20
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 2026-06-22 12:19:10
コメントを削除してもよろしいでしょうか?