ガイドStefan VaskevichStefan Vaskevich

Unreal Engine 5 で 3D ガウシアンスプラット:ワールドとオブジェクトを無料・ローカル生成

Unreal Engine 5 向けの無料・ローカルな 3DGS スタック:スプラットを描画するプラグイン、コライダーを作る CLI、そしてワールドとオブジェクトを無料で生成する方法。

いま3D Gaussian Splattingの世界では本物の革命が起きています。ここ数か月だけでも、オブジェクトとワールド全体の両方をスプラットとして生成できる、オープンソースかつローカルで動く ツールが一気に登場しました。しかも無料で、自分のGPUで動き、スキャン用のリグもクラウドも要りません。そして ついに、それらをそのままUnreal Engine 5に持ち込めるようになりました。ちゃんと描画され、 FPSを台無しにすることもありません。

これは、このスタック全体を手短に、リンク中心でまとめた版です。UE5でスプラットを描画するプラグイン、変換して コリジョンを作るCLI、クリーンアップ用のブラウザエディタ、そしてワールドとオブジェクトを無料でローカル生成できる 場所まで。すべてのリンクは最後のリストにまとめてあります。

top3d.aiの新機能:メッシュだけでなくスプラットも比較
ちょうど3D Gaussian SplattingをCompareツールに追加しました。まずはオブジェクトとワールドの両方で約10件のスプラットから。プロジェクトに採用する前に、 ブラウザ上で並べて回転させながら確認できます。ぜひ 3DGS Compareページで試してみてください。

フルビルドを動画で見る

フル解説動画は公開日にここに掲載されます。

動画は近日公開公開され次第、YouTubeのフル解説動画をここに埋め込みます。
3D Gaussian Splatとして生成されたネオン調サイバーパンクのスポーツカーが、その下に別個のコリジョンメッシュを伴ってUnreal Engine 5内で動作している様子
NanoGSでUnreal Engine 5に持ち込んだスプラットのクルマと、その周りを実際に走り回れるようにするための別個のコリジョンメッシュ(白い塊)。このパイプライン全体が無料かつローカルで完結します。

1. Unreal Engine 5でスプラットを描画する:プラグイン

Unreal Engineは標準ではスプラットファイル(.ply .sog)に対応していないため、プラグインが必要です。 小さな実験的プラグインはたくさんありますが、もっとも人気のある3つを試したので、忖度なしの評価をお届けします。

  • NanoGS - 今のところ私の一押し。最近のUnrealバージョン(5.7)向けに作られており、インストールが一番簡単で、スター数も多く、英語ドキュメントも充実、活発にメンテされています。現状は.plyのみ対応(SOG対応も近いことを期待)。
  • MLSLabs Renderer - 唯一4DGS(スプラットのシーケンス=アニメーション/ボリュメトリックキャプチャ)にも対応するプラグイン。Lite版(PLYのみ)とPro版(圧縮SOG形式に対応)があり、Proは現状テスト版のみでビューポートにウォーターマークが入ります。GitHubページには5.5とありますが、Google Driveのリリースには5.7ビルドも含まれています。
  • XScene (XVerse) - 最初期のもののひとつですが、対応はUnreal Engine 5.5止まりなので、5.7/5.8の新規プロジェクトでは見送っています。
3DGSと4DGSのサポート、Apache 2.0ライセンス、寺院シーンのスプラットを表示するMLSLabs Gaussian Splatting RendererのGitHubページ
4DGSが欲しいなら選ぶべきはMLSLabs。それ以外ならNanoGSの方がシンプルです。プラグインをプロジェクトのPluginsフォルダに入れて再起動し、有効化したら、任意の.plyをGaussian Splatアクターとしてインポートするだけです。
NanoGSのインストール、手短に
対応するリリース(例:NanoGS UE5.7)をダウンロードし、 プロジェクト内にPluginsフォルダ(Pは大文字)を作成して そこに解凍します。Unrealを再起動し、PluginsでNanoGSを有効化してください。あとはインポートから任意の.plyを読み込み、 シーンにドラッグするだけ。MLSLabsはもっと重く、エンジンフォルダにインストールされ、初回起動時にPyTorchの 依存関係を取得します。

2. スプラットを変換し、コリジョンを追加し、クリーンアップする

スプラットにはいくつかの形式があり、Unrealが扱えるのはそのうち数種類だけなので、相互に変換でき、さらに重要な点としてコリジョンを作成できるツールが1つ欲しくなります。生のスプラットは浮遊する色情報にすぎず、上に立ったり ぶつかったりできるジオメトリを持たないからです。そのツールが splat-transform、 PlayCanvasのCLIです。Node.jsが入っていればワンライナーでインストールでき(自分のファイルに合わせた正確なコマンドは ChatGPTが書いてくれます)、形式の変換とコリジョンメッシュの.glb書き出しの両方をこなします。

# install (needs Node.js)
npm install -g @playcanvas/splat-transform

# convert a raw .ply into compressed SOG
splat-transform scan.ply scan.sog

# export a collision mesh (.glb) from a splat
splat-transform car.ply car-collider.glb

そのコリジョン用.glbをUnrealに取り込み、スプラットと位置を合わせ、 コリジョン設定をUse Complex Collision As Simpleにして、Actor Hidden In Gameを チェックすれば、歩いたり、走ったり、落下したりできるスプラットの完成です。オブジェクトでもワールド全体でも、やり方は 同じです。

形式をサクッと整理
.plyは生で重いスプラット形式。SOGは高圧縮版(~300 MBのPLYが~20 MBに縮むイメージ)で、 急速に新しい標準になりつつあります。SPZはもう一つの圧縮/ストリーミング系の形式です。使うツールが 求める形式に応じて、splat-transformで相互に変換しましょう。

スプラットを実際に編集する(ゴミを刈り取り、不要な部分を切り落とす)には、もっとも手軽な選択肢が SuperSplat、 ブラウザでそのまま動く無料エディタです。スプラットを放り込み、消したい部分を投げ縄選択して、削除、書き出し。これはまだ Blenderではできないので、クリーンアップにはこれが定番です。

イチゴのスプラットを開いたSuperSplatブラウザエディタで、削除する準備として一部が黄色で選択されている様子
SuperSplatはブラウザで動作します。はみ出したスプラット(黄色)を選択して削除し、生成またはダウンロードしたデータをエンジンに入れる前にきれいに整えましょう。

3. スプラットをどこで生成するか:ワールドもオブジェクトも無料で

SuperSplatのようなライブラリから出来合いのスプラットを入手することもできます(クレジット表記を条件に無料で使えるものも あります)。ですが、面白いのは必要なものを自分でぴったり生成することです。2つのオープンモデルがこの2つの領域をカバー しており、どちらもローカルで動かすことも、無料のWebサイトを使うこともできます。

ワールド - Hunyuan World 2.0

Hunyuan World 2.0 は、ある場所の1枚の画像を、スプラットとしての完全な3Dワールドに変換します。コードとチェックポイントを揃えてApacheライセンスで 公開されており(GitHub)、強力なGPU(~24 GB VRAM)があればローカルで動かせますし、無料のWebサイトを使うだけでもかまいません。1回の生成に20分以上 かかることもありますが、それはクリーンなコリジョンまで作ってくれるからで、これは正直うれしいおまけです。 有償の代替手段は Marble (World Labs)で、こちらにも無料枠があり、GLBで書き出せます。ただしHunyuanも同等に、時にはそれ以上に健闘しました。

Hunyuan World 2.0で3Dワールドスプラットとして生成された中世の石造りの中庭
画像を1枚入れれば、スプラットのワールドが丸ごと出来上がります。Hunyuanはパノラマを生成し、その周囲にスプラットシーンを構築し、コリジョンまで渡してくれます。ワールドはまだカメラ起点に固定されているため、開始地点から遠ざかるほどアーティファクトが増えていきます。

オブジェクト - TripoSplat

TripoSplat はオブジェクト向けの手軽な選択肢です。必要なVRAMは~8 GBだけで、最新のComfyUIでネイティブに対応しています。 ComfyUIをインストールし、TripoSplatのテンプレートを検索して、不足している依存関係をインストールし、出力をPLYに設定して、 実行するだけ。生成は約1分で完了します(ComfyUIの手間をかけたくなければ Hugging Faceのデモ の方がさらに高速です)。結果をUnrealに放り込めば、数百万ガウシアンにまで膨らませない限り、すでにかなり最適化された状態です。

ComfyUI上で動作するTripoSplatが、鉢植えの花を3D Gaussian Splatオブジェクトとして生成している様子
ComfyUI上のTripoSplat:画像を入れれば、わずか8 GBのVRAMで約1分でスプラットオブジェクトが出てきます。ガウシアン数を調整して、品質とパフォーマンスのバランスを取りましょう。

パフォーマンス:実際に通用するのはどこまでか

どちらのプラグインも数百万スプラットを60 FPSで、とうたっており、オブジェクトや整然としたシーンなら本当に滑らかに動きます。 正直な上限はこうです。~1,000万スプラットを超えると依然としてボトルネックになります。Unrealにはまだスプラット用の ストリーミング形式がないからです。シーンを合計~100万スプラット未満に保てば、たいていは問題ありません。

FPSを守る2つのルール
  • 生成時にガウシアン数をコントロールすること。環境用の小物なら、32kスプラットでも262kとほぼ同等に 見えることがあり、しかも描画コストははるかに低くなります。
  • 大きなものはパーツに分割すること。1つの巨大なスプラットオブジェクトにしてはいけません。NanoGSの 開発者もこれを推奨しています。1つの巨大なスプラットはカリング(画面外で非表示にする処理)されないため、同じ内容を 分割した場合よりはるかに重くなるからです。
クラゲ、キノコ、花、サイバーパンクのクルマなど、TripoSplatで生成したスプラットオブジェクトで埋め尽くされたUnreal Engineのコンテンツブラウザ
TripoSplatで生成し、Unrealにインポートしたオブジェクトのライブラリ。スプラットはそれ自体は静的ですが、従来のメッシュには出せないフォトリアルなディテールを宿します。これがセットドレッシングにおける真骨頂です。

リンク一覧

Unreal Engineで描画する
加工・編集する
  • splat-transform- 形式変換+コリジョン作成(CLI)
  • SuperSplat- 無料のブラウザ用スプラットエディタ
スプラットを生成する

この種のワークフローに使える新しいAI×3Dツールは、絶え間なく登場します。登場したら、すぐに 3DGS Compare Arena に追加するので、採用する前にテストできます。さらに多くのエンジン向けワークフローについては、 Claude Code + Unreal Engine 5 スプラットをプレイ可能にするガイドをご覧ください。

これらのツールを自分で比較してみませんか?3D AIアリーナをご覧ください。

Unreal Engine 5 で 3D ガウシアンスプラット:ワールドとオブジェクトを無料・ローカル生成 | Top 3D AI