この記事について

スポンサーリンク

2026年6月17日に Unreal Engine 5.8 が出ました。UE5としては最後のメジャー版で、Epicはこの先 UE6 に移ります。節目の版なので、何が変わったのかを手元で確かめておきたくなりました😊

ただ、新機能の紹介記事を読んでいて気になったことがあります。出てくる数字が、どれも「PS5で」「コンソールで」「Epicのテストシーンで」の数字なのです。手元のPCで同じ比になるとは限りません。

そこで今回は、Epicが公表している数字を先に書き出して、それを Windows機(RTX 3060)で測り直すという形にしました。実験は5つ。予想どおりだったものも、まるで違ったものもあります。

この記事は下調べが1つ、実験が5つあります。章タイトルの【】に、その章がどの実験なのかを書いてあります。

実測した環境
Windows 11 Pro 25H2(10.0.26200.9457)/Ryzen 7 7840HS/RAM 31.3GB/NVIDIA GeForce RTX 3060 12GB(OCuLink接続の外付け・ドライバ 32.0.16.1692)
Unreal Engine 5.8.2(++UE5+Release-5.8-CL-56702186・29.89GB)
計測中は画面転送ソフトを止めてあります(つないだままだと1.5〜2.0%遅くなることを以前の回で確かめているため)。

用語集

言葉何を指すのか
LumenUE5の間接光の仕組み。光が壁や床に跳ね返って回り込む明るさを、その場で計算する。事前に焼き込まなくてよい代わりに、毎フレーム費用がかかる
GI(グローバルイルミネーション)上の「間接光」のこと。直接当たっている光ではなく、跳ね返ってきた光
MegaLights影を落とす光をたくさん置いても重くならないようにする仕組み。UE 5.8でProduction Ready(実用可)になった
Nanite非常に細かいメッシュを、見える分だけに間引いて描く仕組み
cvar(コンソール変数)エンジンの設定をその場で変えるためのスイッチ。r.MegaLights.EnableForProject のような名前で、チルダキーのコンソールから打てる
Irradiance Field間接光を「空間に置いた点(プローブ)」で持つ方式。点と点の間は補間するので軽いが、細かい遮蔽は落ちる
Mesh TerrainUE 5.8の新しい地形。高さマップではなく3Dのメッシュなので、せり出した崖やトンネルが作れる(Experimental=実験扱い)
MCPAIに道具を渡すための共通のつなぎ方。UE 5.8はエディタの中にMCPサーバーを同梱した。自分で作った回とAIにBlenderを操作させた回の続きになる
SM5 / SM6シェーダーモデル。Lumenを使うにはSM6が要る。SM5で起動していると、設定を入れても効かない
ハードウェアレイトレーシングGPUの専用回路で光線を追う機能。MegaLightsはこれを前提にしている

【下調べ】Epicが出している数字を並べる

まず、公式の発表とリリースノートから数字が書いてあるものを抜き出しました。これが今回の「的」です。

主張条件
Lumen Lite は Lumen 高品質の2倍速い(60fpsを狙える)PS5
MegaLights:半影でない光へ重複したレイを飛ばさない最適化で 0.3〜1ms 改善コンソール
MegaLights:光の強さによる早期カリングでサンプリング約20%削減Epicのテストシーン
HLODの可視判定が 139倍速い(25.1ms → 0.18ms)エディタ・CitySample
Mesh Terrain はオーバーハング・トンネル・切り立った崖が作れるExperimental

Production Ready に上がったのは MegaLights / Movie Render Graph / Iris / Audio Insights / Mutable。新しく Experimental に入ったのが Mesh Terrain と Lumen Lite(Beta)、そしてエディタ同梱のMCPサーバーです。

測る前に予想を10個書きました。当たったものも外れたものも、最後の整理の章に並べます。

【実験1・Windows】設定項目は10,355件 ── 取り方を間違えると Lumen が0件になる

最初にやったのは、地味ですが「設定項目(cvar)を全部数える」ことです。新機能が入ると設定も増えるので、増え方を見れば変化の大きさが分かるだろうという狙いでした。

当初は DumpConsoleCommands というコンソールコマンドで一覧を出すつもりでした。ところがこれは「コマンド」しか列挙せず、r.Lumen.* のような「変数」を1件も含みません。実際に取れたのは939件で、そのうち Lumen は0件でした。

正しい取り方は Help コマンドです。これを打つと、プロジェクトの Saved/ConsoleHelp.html に変数もコマンドも全部書き出されます。

Help
→ <プロジェクト>/Saved/ConsoleHelp.html が生成される

UE 5.8 の素のプロジェクトで数えると、合計 10,355件(変数 9,400 / コマンド 738 / Exec 217)でした。名前で分けると、描画まわりの多さが目立ちます。

UE 5.8 の設定項目 10,355件のうち、名前に含むもの Lumen548 Shadow443 Nanite261 MegaLights158 PathTracing99 TSR53 Substrate43 ※ 横幅は件数そのまま(1件=1px)

本当は 5.7 と並べて「何件増えたか」を出したかったのですが、Windows機のディスクを整理したときに 5.7 を消していました。30GBを取り直すと数時間かかるので、今回は見送っています。

代わりに測れたのが、プラグインを有効にすると設定がいくつ増えるかです。Mesh Terrain と Unreal MCP を有効にすると、

状態設定項目の数
素のプロジェクト10,355件
Mesh Terrain + Unreal MCP + All Toolsets を有効10,597件
差+242件(消えたもの 0件)

この242件が、あとの章の伏線になります。

【実験2・Windows】「2倍速い」GIは 1.14倍だった

Epicが言う「Lumen Lite は2倍速い」を確かめます。柱25本と床だけの軽いシーンを作り、同じカメラ位置・1920×1080・300フレームの中央値で測りました。測定の前にウォームアップを1回流して捨てています(最初の1回だけシェーダーの用意で余計に時間がかかるため)。

条件GPU時間フレーム時間VRAM高品質との比
GI 品質3(Epic)6.881 ms7.867 ms1,619 MB—
GI 品質2(High)6.019 ms6.872 ms1,237 MB1.14倍速(-12.5%)
r.Lumen.FinalGatherMethod 06.304 ms7.209 ms1,404 MB1.09倍速(-8.4%)

2倍どころか、1割強です。 しかも見た目はほとんど変わりません。次の2枚は同じ構図で、上が品質3、下が品質2です。

Lumenの品質3と品質2を同じ構図で並べた比較。見た目はほぼ同じでGPU時間だけ違う

右上の数字を見ると GPU Time が 6.88ms と 6.02ms。絵はほぼ同じで、費用だけが1割強違うという結果でした。

そもそも「Lumen Lite」という設定は無かった

ここで引っかかったのが、「品質2=Lumen Lite」という前提が本当かということです。エンジンの設定ファイル BaseScalability.ini を読むと、こう書かれていました。

; High GI: Lumen ScreenProbeGather for opaque diffuse GI downsampled 32x   ← 品質2
; Epic GI: Lumen ScreenProbeGather for opaque diffuse GI downsampled 16x   ← 品質3

品質2も品質3も同じ Screen Probe Gather で、違うのは間引きの粗さ(32倍か16倍か)やキャッシュの大きさです。つまり別の方式ではなく、同じ方式の粗さ違いでした。

さらに、10,355件の設定のどこにも「Lite」という名前も説明も出てきません。Epicの言う軽い経路に当たりそうなのは r.Lumen.FinalGatherMethod 0 で、その説明文が次のようになっています。

0 - Irradiance Field Gather - ... Faster but lower quality GI.
    Targeted at mid range PC and Switch 2.

そこで3条件目として、品質3のまま FinalGatherMethod だけ 0 にして測りました。結果は上の表のとおり8.4%速いだけ。品質2より遅いという、少し意外な並びになりました😳

「2倍」が嘘というより、測っている場所が違う
このシーンではGI が全体の1割ほどしか占めていません。GIだけ半分になっても、全体は半分になりません。
Epicの2倍はPS5の重いシーンでの話で、数字そのものではなく「どのくらいGIに時間を使っている場面か」を先に見る必要がある、というのが今回の学びでした。重いシーンなら比率は変わります。

【実験3・Windows】MegaLights は灯数を増やすほど効く

次は MegaLights です。影を落とす点光源を 100灯と300灯置いたシーンを用意して、入・切で測りました。

灯数MegaLightsGPU時間DrawsPrims効果
100灯切11.137 ms———
100灯入8.090 ms——1.38倍速
300灯切20.725 ms354135.1K—
300灯入8.591 ms394.5K2.41倍速
灯数とGPU時間(RTX 3060・300フレーム中央値) 100灯 切11.14 ms 100灯 入8.09 ms 300灯 切20.73 ms 300灯 入8.59 ms ★入のときは 100灯→300灯 で +6%(8.09→8.59ms)とほぼ横ばい ★切のときは +86%(11.14→20.73ms)

面白いのは、灯数を3倍にしても MegaLights を入れていればほぼ横ばいという点です。設定の説明文に「多数の影付きライトを、一定した低いGPU費用で描く」とありますが、その通りの形になりました。

種明かしは Draws(描画回数)が 354 → 39、Prims(三角形)が 135.1K → 4.5K に落ちていることです。ライトごとに影の地図を描く処理が、丸ごと消えています。

点光源300灯のシーンでMegaLightsの入と切を並べた比較。絵はほぼ同じでGPU時間とDrawsが大きく違う

見てのとおり絵はほとんど同じです。同じ絵で2.41倍という、気持ちのいい結果でした😊

ただし万能ではありません。暗いところにカメラを寄せると、確率的にサンプリングしている副作用が残っています。

MegaLights有効時に暗部へ寄った画面。粒状のノイズが残っている

【続き】前提が3つあって、欠けると黙って無効になる

MegaLights は、ただ有効にすれば動くものではありませんでした。3つの条件が揃わないと、警告すら出ずに効かないか、逆に起動しなくなります。

  1. r.MegaLights.EnableForProject=True をプロジェクト設定に書く
  2. ハードウェアレイトレーシングを有効にする(r.RayTracing=True)。無いと画面に赤字で警告が出て動かない
  3. r.SkinCache.CompileShaders=1 も一緒に書く。2番だけ足すと起動時にクラッシュする
MegaLights is enabled, but has no ray tracing data and won't operate correctly.
 - Hardware Ray Tracing is not allowed.
Ray tracing requires skin cache to be enabled. Set r.SkinCache.CompileShaders>=1.

なお MegaLights は太陽(Directional Light)には効きません。設定の説明文に明記されています。

★存在しない設定名に 0 や 1 を書いても、エラーは出ない
最初の計測では r.MegaLights.Enable という名前を使っていました。ところがUE 5.8 にこの名前は存在しません(10,355件を全部照合して確かめました)。実在するのは r.MegaLights.EnableForProject のほうです。
存在しない名前に値を書いても何も起きず、エラーも出ません。その結果、最初の計測は 300灯の入・切が 8.591ms 対 8.590ms、画像の平均画素差 0.69(255段階)=実質同一になりました。
このまま信じていれば「MegaLights は効かなかった」と書くところでした。名前を直したら2.41倍です。

「負荷を掛けたつもりで掛かっていなかった」という失敗はリモート越しの計測の回とクラウドゲーミングの回でも踏んでいます。今回は設定名のつづりで同じ穴に落ちました。差がゼロのときは、まず「本当にスイッチが入っているか」を疑うのが正解のようです。

【実験4・Windows】Mesh Terrain で洞窟は作れるのか

UE 5.8 の新しい地形 Mesh Terrain は、高さマップではなく3Dのメッシュです。売り文句どおりせり出した崖やトンネルが作れるのかを確かめました。

結論から書くと、どちらも作れました。ただし「オーバーハングを作るツール」も「トンネルを掘るツール」も存在しません。汎用の道具を組み合わせて作ります。

Mesh Terrainで作ったオーバーハングとトンネル。崖の面が巻き込み、丘にはくり抜かれた穴が空いている
作りたいもの実際の作り方
オーバーハング(せり出した崖)Sculpt の「移動」ブラシで縁を引き出す。面が波頭のように巻き込んで下向きの面ができる
トンネル(貫通した穴)Modifiers → Other → Boolean を Subtract にして、円柱を丘の中腹に置く

トンネルのほうは、エンジンのソースにも「地表の下に洞窟を作るにはBooleanの引き算を使う」という趣旨のコメントが書かれていました。専用ツールが無いのは設計どおりのようです。

パレットは区切り線で2組に分かれている

ここがいちばん腑に落ちた点です。Sculpt のパレットは区切り線で上下に分かれています。

Sculptのパレット。区切り線の上に移動やピンチ、下に高さスカルプトなどが並んでいる
  • 上の組(スカルプトN・移動・スムージング・ピンチ・平坦化・消去)… 頂点を3方向に動かせる。オーバーハングはここで作る
  • 下の組(高さスカルプト・高さスムージング・高さ平坦化・傾斜浸食)… 高さ方向にしか動かせない。従来のランドスケープと同じで、原理的にオーバーハングは作れない

上の画像で文字が灰色なのは、区画を選択していないとツールが押せないためです。先に全選択してから使います。

同じパレットに両方が並んでいるので、下の組だけ触って「できないじゃないか」と結論づけてしまいそうなところでした。

【続き】つまずいたところ

モードに入った直後の画面。Createのパレットに矩形を作成などが並ぶ

モードに入ると、まず出てくるのは Create のパレットです。MeshTerrainMode.EnableExperimentalTools 1 を入れると、ここに「パターン」、Modifiers に「ラティス」「パッチ」が増えます。

★World Partition のレベルでないと、そもそも作れない
ふつうのレベルで地形を作ろうとすると、赤字で「メッシュパーティションは、ワールド パーティションを有効にする必要があります」と出て、確定ボタンが押せません。
最初の挑戦で先へ進めなかった原因の一つがこれでした。World Partition のレベルに作り直したら、同じ操作がそのまま通っています。

  • 作った直後は何も見えない。カメラが原点で水平を向いていて、地形を真横から見ているため。上空に動かすと現れる
  • Sculpt のツールは、区画を選択していないと全部グレーアウトする。先に全選択しておく
  • ⚠同じ名前の「cylinder」が100倍違う。/Engine/BasicShapes/Cylinder は直径1mだが、/DatasmithContent/Meshes/cylinder は直径1cm。後者を選ぶと40倍に拡大しても直径40cmにしかならず、くり抜けていないように見える
  • 「トランスフォーマー パイプラインは一時的に無効です」はエラーではなく、編集を軽くするための意図的な一時停止(モディファイアを選んでいる間だけ止まる)

【続き】Nanite は自動で入る ── そして三角形の数は表に出てこない

Mesh Terrain は Nanite が前提です。区画を作り直すたびに裏で NaniteBuild が走ります(今回は16回・合計124秒、1回あたり3.6〜10.7秒)。地形の確定から表示までは約12秒でした。

面白かったのが三角形の数です。stat rhi で見ると、こうなります。

状態stat rhi の PrimitivesVertices
全区画 Nanite 有効7,19014,045
1区画だけ Nanite を切る1,015,205526,882

★stat rhi は Nanite の三角形を数えていません。 1区画切っただけで141倍に増えるのは、その区画の本来の50万三角形が数字に現れるようになるからです(作成時に指定した上限 500,000 とほぼ一致)。4区画で約200万三角形の地形を、有効時は7,190と表示していたことになります😳

Nanite は切ることもできます。切っても Nanite についての警告は出ず、代わりに出たのはナビゲーション(AIの経路探索)の衝突形状が大きすぎるという警告でした。

LogNavigation: Warning: Exporting collision geometry with too many triangles (504000).
This might cause performance and memory issues.

なお、Nanite が有効なときにプログラムから三角形数を問い合わせると 100,799 が返ります。これは表示用の簡略メッシュの数で、本来の数ではありませんでした。数字を取る場所によって、同じ地形が 7,190 / 100,799 / 504,000 の3通りに見えることになります。

【実験5・Windows】エディタに入ったMCPサーバー:3つの道具の裏に830

UE 5.8 の目玉のひとつが、エディタの中にMCPサーバーが入ったことです。プラグインの説明にはこう書かれています。

Anthropic MCP (Model Context Protocol) server implementation for Unreal Engine.

有効にすると http://127.0.0.1:8000/mcp で待ち受け、AIエージェントがエディタを操作できるようになります。自分でMCPサーバーを作った回と同じやり方で、素のJSON-RPCを投げて中身を調べました。

いちばん驚いたのは、道具の一覧を求めると3つしか返ってこないことです。

list_toolsets / describe_toolset / call_tool

この3つの裏に、52のツールセット・実ツール830個が隠れていました。

UE 5.8 のMCPは「探してから呼ぶ」2段構え AIに見える道具 list_toolsets describe_toolset call_tool 3 ツールセット Sequencer / Blueprint Niagara / PCG / UMG … 52 実際の道具 Sequencer 140 Blueprint 53 Niagara 46 … 830 ★830個を一度に見せない=AIに渡す一覧を小さく保つための設計 ★アクタ関連70個は「選択・フォーカス・可視判定・カメラ・PIE制御」が中心  =シーンを作る道具ではなく、エディタを運転して状態を見る道具

呼ぶときは、道具の名前を直接指定するのではなく、ツールセット名と道具名を call_tool に渡します。

{"name": "call_tool",
 "arguments": {"toolset_name": "editor_toolset.toolsets.actor.ActorTools",
               "tool_name": "set_label",
               "arguments": { ... }}}

「アクタを置く」「名前を変える」「マテリアルの色を変える」に当たる道具は、探せばすべてあります。名前が想像と違うだけでした。

やりたいこと実際の道具
アクタの一覧SceneTools.find_actors
アクタを置くSceneTools.add_to_scene_from_class/add_to_scene_from_asset
名前を変えるActorTools.set_label
色を変えるMaterialInstanceTools.create → set_vector_parameter

さらに、想定していたより強い道具が2つありました。

  • ★SlateInspectorToolset:エディタのUIそのものを木構造で取得して、ボタンを押す・入力欄に打ち込むことができる。人間向けのGUIしか無い機能でも、UIに出ていれば操作できる
  • ProgrammaticToolset.execute_tool_script:Pythonを実行できる。ただしサンドボックスで、使えるのは math や json などと登録済みの道具の呼び出しだけ。unreal モジュールは触れない

実際、実験4の「同意する」ボタンは、このUI操作の道具で押しました。地形のカメラ移動や stat rhi の入力、Naniteの切り替えもMCP経由です。

基本的な動きも確かめました。

呼び出し結果
GetVisibleActors成功。レベル内のアクタがパス付きで返る
SearchCVars {"name":"MegaLights"}成功。設定の説明がJSONで返る
SearchCVars {"name":"日本語テスト"}成功。化けずに「該当なし」が返る
存在しない道具 SpawnActorisError=true/Unknown tool SpawnActor
存在しないツールセットisError=true/Toolset 'NoSuchToolset' not found

★失敗しても JSON-RPC の error キーは付きません。 付くのは isError です。これは自作した回で見つけた挙動とまったく同じで、公式の実装でも同じ形でした。error だけを見ていると、失敗に気づけません。

ただし、UIを押す道具には癖が4つありました。実験4で実際に踏んだものです。

  • クリックは1回目が空振りする。true が返るのにツールチップが出るだけで、2回目で押せる。押せたかどうかはUIを取り直して確かめる必要がある
  • 入力はフォーカスが無いと何もしない(先にクリックで入力欄を選ぶ)
  • ⚠位置を省いて回転と大きさだけ渡すと、位置が原点にリセットされる。説明文には「省いた項目は変更しない」とあるのに逆の動きだった
  • カメラを動かしても画面が再描画されないことがある(値は変わっている)

それと、ビューポートの中は部品として見えません。ツールパレットや地図の描画エリアはUIの木に出てこないので、筆で地形を彫るような自由なドラッグはMCPからはできません。ここは人の手が要ります。

【続き】自作のMCP・Blender・UEを並べてみる

ここまでで、MCPの実装を3つ見たことになります。並べると、設計の考え方の違いがはっきりしました。

道具の見せ方何ができる道具か
自作(p992)数個を平らに並べる自分が必要なことだけ
Blender(p994)生のPython実行を1つ渡す方式が主流何でもできるが、正しく動いたのは13%。意味のある道具3つに切り直すと100%
UE 5.8(公式)3つ→52→830の2段構え作る・調べるに加えてエディタのUIを直接押せる。Python実行はサンドボックス(unreal は触れない)

p994で「生のAPIをそのまま渡すと精度が落ちる。意味のある単位に切り直すと上がる」という結果が出ていました。UE 5.8の作りは、その問題に真正面から答えた形になっています。830個を平らに並べれば、AIは選ぶだけで消耗します。だから「まず探す」段を1つ挟んだのだと思います。

もうひとつ特徴的なのが、UIを押す道具を持っていることです。ふつうなら「機能がAPIとして公開されていなければAIには触れない」はずですが、UE 5.8は画面のボタンを押す道具を用意することで、そこを飛び越えています。実験4の Mesh Terrain にはBlueprint やPythonから呼べる関数が1つも無いのに、確定ボタンをMCPから押せたのはこのためです。

ただし万能ではありません。ビューポートの中(筆で彫る・地図をドラッグする)は届きません。「ボタンは押せるが、絵は描けない」という線引きになっています。

【ここから整理】答え合わせ

測る前に立てた予想と、結果を並べます。

予想結果
① Lumen Lite は2倍には届かない(1.3〜1.7倍)当たり、しかも外れ。1.14倍で、予想よりさらに小さかった
② 品質を下げると見た目が目に見えて変わる外れ。ほぼ見分けがつかない
③ MegaLights は光が多いほど効く当たり。100灯1.38倍 → 300灯2.41倍
④ ノイズは減ったが暗所では分かる当たり。暗部に粒が残る
⑤ Mesh Terrain は作れるが編集が重い半分当たり。オーバーハングもトンネルも作れた。編集そのものは軽く、重いのは裏で走るNanite化(1区画3.6〜10.7秒)
⑥ Mesh Terrain は Nanite 必須で、切ると警告が出る外れ。Naniteは自動で入るが切れる。切っても警告は出ない(出たのはナビゲーションの警告)
⑦ MCPの道具は数十個で4系統外れ。52ツールセット830個を、3つの道具の裏に隠していた。★UIを押す道具まである
⑧ UE 5.8 は p994 の「道具の粒度」問題を自前で解決している当たり。ただし解き方は「粒度」ではなく「段を分ける」だった
⑨ 設定項目は増える一方で、消えるものはごく少ない部分的に確認。プラグイン有効化では +242 / 消えたもの0
⑩ 音声の既定変更には気づかない当たり。今回の範囲では何も起きなかった

外れた3つのうち、②と⑦はそのまま記事の山になりました。予想が当たった回より、外れた回のほうが書くことが増えるのはいつものことです😅

つまずき集

今回は測り始めるまでが長い回でした。同じところで止まる人がいそうなので、まとめて置いておきます。

★UE 5.8 で Lumen は自動では付いてこない

プロジェクトを手で作ると、警告も出ずに Lumen が無効のまま立ち上がります。窓のタイトルが (64-bit Development PCD3D_SM5) になっていたら、その状態です。必要だったのは次の設定でした。

[/Script/Engine.RendererSettings]
r.DynamicGlobalIlluminationMethod=1     ; 5.8のエンジン既定は 0 = GIなし
r.ReflectionMethod=1
r.GenerateMeshDistanceFields=True
r.Shadow.Virtual.Enable=1
r.MegaLights.EnableForProject=True
r.RayTracing=True                       ; MegaLightsに必要
r.SkinCache.CompileShaders=1            ; これが無いと上の行だけで起動時クラッシュ
r.AllowStaticLighting=False

[/Script/WindowsTargetPlatform.WindowsTargetSettings]
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
+D3D12TargetedShaderFormats=PCD3D_SM6   ; 無いとSM5で起動してLumenが効かない

Pythonで場面を組むときの3つの罠

  • CameraActor.set_auto_activate_for_player() が 5.8 で消えた。取得側の get_auto_activate_player_index は残っている。set_editor_property("auto_activate_for_player", ...) なら通る
  • ★unreal.Rotator の引数順は (roll, pitch, yaw)。Rotator(-15, 45, 0) は「下を向く」ではなく真上を向く。空が無い場面だったので真っ黒な画面を300フレーム測っていた。キーワードで書けば事故らない
  • new_level() は既存のレベルを上書きしない。ログには「作成」と出るのにファイルの日時が変わらず、修正が反映されないまま2回測っていた
unreal.Rotator(roll=0, pitch=-15, yaw=45)   # ★キーワードで書く

計測を自動で回すときの4点

  • -csvCaptureFrames だけでは撮り終わってもUEが終了しない。-ExitAfterCsvProfiling を足すと1条件12秒で終わる
  • CSVの出力先は %LOCALAPPDATA%\UnrealEngine\5.8\Saved\Profiling\CSV(プロジェクト側ではない)
  • 列名は GPU ではなく GPUTime。ついでに GPUMem/LocalUsedMB も採れる
  • CSVの末尾にコマンドライン全体が入るので、読み込み時に上限引き上げと例外処理が要る

それと、Windowsのコンソールは ▶ や ⚠ を出力できません(文字コードの既定が cp932 のため、最初の1行で止まります)。PYTHONUTF8=1 を付ければ回避できます。これはMCPサーバーを自分で作った回でも踏んだ罠の再発でした。

まとめ

  • UE 5.8 はUE5最後のメジャー版。設定項目は10,355件(Lumen 548 / MegaLights 158)
  • ★「2倍速い」GIは、手元では1.14倍だった。GIが全体の1割しか占めない場面では、GIを半額にしても全体は半額にならない
  • ★そもそも「Lumen Lite」という名前の設定は存在しない。品質2も3も同じ方式の粗さ違いで、軽い経路は r.Lumen.FinalGatherMethod 0 のほう
  • ★MegaLights は300灯で2.41倍。灯数を3倍にしても入なら+6%で横ばい。Draws 354→39 が効いている
  • ⚠存在しない設定名に値を書いてもエラーが出ない。差がゼロのときは、まずスイッチが入っているかを疑う
  • ⚠MegaLights には前提が3つ。ハードウェアレイトレーシングと skin cache が要る
  • Mesh Terrain はオーバーハングもトンネルも作れる。ただし専用ツールは無く、Booleanの引き算と頂点を3方向に動かすブラシで作る。⚠World Partition のレベルが必須
  • ★stat rhi は Nanite の三角形を数えない。同じ地形が 7,190 / 100,799 / 504,000 の3通りに見える
  • ★UE 5.8 の公式MCPは3つの道具の裏に830。★エディタのUIを直接押せる道具まであり、APIの無い機能にも手が届く。ただしビューポートの中(彫る・描く)は届かない。失敗は isError で返る
  • ⚠UE 5.8 で Lumen は自動では付いてこない。手作りのプロジェクトはSM5で立ち上がる

それでは、今回はここまで。最後までありがとうございました😊

参考サイト