🌌

Unity * 3D Gaussian Splatting

に公開

🎄 はじめに

こちらの記事はAkihabara Advent Calendar 2025の6日目の記事です。
✅ 5日目の記事は AS によるこちら:家でも開発しよう!開発時間を共有できるサイトを作りました
✅ 7日目の記事は めとろ によるこちら:長編連載その2(投稿済み)

みなさんこんにちは!初めましての方は初めまして、お久しぶりの方はお久しぶりです。Life is Tech! 秋葉原スクールでUnityコースとAIコースのメンターをしています、しまとーです!

2022~2023年ごろに生成AIが台頭してきて今年で2,3年になりますね。当時はAI元年などと言われましたが、今年をAI3年と呼んでる人はいるのでしょうか?
さて、本題に入りますが、ここ最近私が注目している技術の一つに 3D Gaussian Splattingがあります。

最近では

  • Marble
  • SAM3D

など、個人で簡単に扱えるツールも充実してきました。

この記事では、まず GS の基本原理を説明しつつ、Marble / SAM3D の具体的な使い方、そしてさらに Unity 上でのリアルタイムレンダリングまで一気に解説します!


✨ 1. Gaussian Splatting とは?

◾️ そもそも何の技術?

3D Gaussian Splatting(以下GS) は、📌 たくさんの色付きの小さな“光の粒(ガウス)”を空間中に配置して立体を再現する技術です。

従来3Dモデルといえば頂点を集めて面(ポリゴン)を作り、立体(メッシュ)を構築するような手法が一般的でした。
従来の3Dモデル表現

それに対して、GS はを先に作るのではなく、半透明の小さな色球(ガウス) それぞれが持つ色・向き・大きさ・不透明度を 大量に空間へ配置して重ね合わせることで、結果的に立体的な像が浮かび上がるという考え方です。
従来の3Dモデル表現

髪の毛・草・透明な液体表現など、メッシュでは表現しにくい細かな情報も 軽量なまま高精細に再現できることが強みです。

もっと詳しく知りたい方は、とてもわかりやすい参考記事を置いておくので、参考にしてみてね!
https://cgworld.jp/special-feature/2509-3d-gaussian-splatting.html


✨ 2. 3D生成AIツール紹介

続いて先ほど紹介したGaussian Splatting技術を活用した3D生成AI技術で最近アツイものをいくつか紹介します!

🟦 Marble とは(3Dモデル生成AI)

Marble は World Lab社が開発した 📌 マルチモーダルな3D空間生成AI です。
テキストや画像、動画などから空間そのものを立体的に生成することができます。
https://x.com/theworldlabs/status/1988653082872631738?s=20

🟩 SAM3D とは(シーン復元AI)

SAM3D は、Meta社が開発した 📌 画像から選択的に3Dモデル生成可能なAI です。
一枚の画像から、物体を選択することで、見えていない範囲も補完して3Dモデルを復元したり、 人物を選択することでキャラクターポーズの推定を行うことができます。
https://x.com/AIatMeta/status/1991184188402237877?s=20


✨ 3. Marble / SAM3D の使い方

ここからはそれぞれの使い方に関してみていきましょう。

🟦 Marble の使い方

Marbleは無料でも使用可能ですが、使用回数が月4回までに制限されます。
ここでは生成~データダウンロードまでの手順に関して説明していきます!

  1. 公式サイトにアクセス
    Marbleホーム画面

  2. 画面上部の "Imagine a world....." 部分をクリックして入力欄を開く
    入力画面

  3. 画像/動画/パノラマ画像をアップロード
    今回はみんな大好き秋葉原スクールのシーンを入力として生成してみましょう
    みんな大好き秋葉原スクール
    画像を選択したのちに右下にあるCreateボタンをクリック!
    画像が不鮮明だったりする場合は、テキストプロンプトで補足を入れてもいいですね
    画像を入力

  4. モデル生成を待つ
    大体10分も立たないうちに生成が完了します。
    生成が完了すると以下のGIFのように、実際のスクール会場のような空間が広がっていることがわかりますね!
    生成結果の様子
    ※ GIFサイズ限界に合わせてサイズダウンしたら嘘みたいに画質が荒くなってしまいましたmm
    気になる方はこちらのリンクからワールドをご覧ください

https://marble.worldlabs.ai/world/d71dfc2a-bc12-42b0-91b9-ab50ccd7b6dc

  1. GLB / SPZ / PLY をダウンロード
    生成された空間はさまざまな形式でダウンロードが可能です。
  • GLB形式:3Dモデル形式で、実体のあるデータ形状
  • SPZ形式:Gaussian Splatting専用のデータ形式。高速に表示できる
  • PLY形式:一般的な点群データ形式。SPZ形式に比較するとデータ形式が大きくなりがち
    出力形式
    今回はこの先の手順のために PLY 形式でダウンロードをしておきましょう!

🟩 SAM3D の使い方

ローカル版も提供されていますが、今回はWebサイト内のPlayground上で生成してみようと思います!

  1. 公式サイトにアクセス
    今回は3Dの物体生成を行うため右から2番目の、「Create 3D Scene」を選択しましょう。
    SAM3Dのホーム画面

  2. 画像をアップロード
    今回はしまとーの写真フォルダにあったベストオブカレー写真を例に試してみましょう。
    My Best Of Curry
    画面内Uploadボタンから生成したい物体がある画像をアップロード!
    画像を入力

  3. 生成したい物体をクリックで選択
    画像をアップロードできると、以下のようにMask編集画面へ遷移するので、ここで生成したい物体をクリックして選択してあげましょう。
    画像を編集する
    今回は左上のナンを選んでみました。
    ナン選択
    生成したい物体の形状によっては適宜マスク範囲をRemove/Add切り替えていい感じに調整していきましょう。

  4. 物体生成をする
    いい感じに範囲が指定できたら、Generate 3D をクリックして物体生成をしましょう。数秒~数十秒の高速で生成が完了するはず!
    今回はこんな素敵なナンが完成しました!
    ナン完成
    横から見ても上から見ても良いナンですね!
    全方向ナン
    ちなみに画面上部のAdd Objectsから、画像内の別オブジェクトも同時に1つの物体として書き出すことが可能です。
    Objectを分けることで、Objectごとに位置や角度を調整することも可能です。
    カレーセット
    こちらの画像では左下にあった杏仁豆腐を、少し右上にずらしています。

  5. PLY 形式データダウンロード ※SAM3Dのダウンロード方法は少しわかりづらいの要注意
    生成が完了したら右上の Add effects ボタンをクリック
    エフェクトをつけたい人はたくさんつけていただき、PLY形式ダウンロードがしたい方は右上の Shareボタンをクリック
    エフェクトを加えられるよ
    するとクルクル回転するビデオが書き出され、同時に 3D Model のダウンロードボタンが登場します。
    Share画面
    画面上部タブ右の 3D Model をクリックすると、以下のような画面が表示されるため、 Download 3D Modelをクリックします。
    Share画面
    ちなみにダウンロードできるデータ形式は PLY 形式のみとなっています。

※ 12/06時点で検証していたところここで3Dモデルがダウンロードできない状態です>< 12/2時点ではできていたのですが...検証中!

今回生成したカレーデータはこちら↓↓
https://aidemos.meta.com/segment-anything/gallery/?template_id=1073117961528962


✨ 4. Unity で Gaussian Splatting 形式データを表示する

ここからが本題です。
MarbleやSAM3Dで出力される PLY は通常の点群ではなく、Gaussian Splatting PLY形式になっているため、専用のビュワーが必要です。
以下の手順でどちらの形式のデータも綺麗に描画できるはず!試してみてください


🟥 Step 1. Unity プロジェクトを用意する

今回は以下の構成でプロジェクトを用意しました。

  • Unity 2022.3 LTS
  • Buildin RP
  • Apple M2 Sequoia

🟥 Step 2. Gaussian Splatting Renderer の導入

Gaussian Splatting PLYデータを表示するツールは種々ありますが、ここでは gsplat-unity を使用するやり方をご紹介します。

  1. Window > Package Manager
  2. +Add package from git URL
  3. 以下を入力: git@github.com:wuyize25/gsplat-unity.git
  4. インストール

🟥 Step 3. Graphic API 設定

このパッケージは一部GPU機能を活用するために、サポートされているGraphics APIに制限があります。
Macで試す場合には問題ありませんが、Windowsで試される場合には以下のように設定する必要があります。

  1. Edit > Project Settings > Player > Other Setting
  2. Auto Graphics API for Windows. のチェックを外す
  3. Vulkanないし、Direct3D12のどちらかのGraphics APIを追加し、それ以外のオプションは削除しておく

🟥 Step 4. Render Pass設定

BuildinRPの場合には設定が必要ありませんが、URP/HDRPの場合にはそれぞれ以下の操作が必要です。

URPの場合

  1. Project > Assets > Settings > URP Renderer
  2. “Renderer Features” → Gsplat URP Feature を追加
  3. (Unity 6+の場合:RenderGraph の Compatibility Mode を OFF)

HDRPの場合

  1. Hierarchy > Create > Volume > Custom Pass Volume
  2. Inspector で Is Global にチェックを入れる
  3. Add Custom Pass をクリック
  4. Gsplat HDRP Pass を追加
  5. Injection Point を Before Transparent に設定

🟥 Step 5. PLY を Unity にドラッグ&ドロップ

ここまでセットアップできたら、あとは先ほどダウンロードしたPLYファイルをUnityのエディタ上にD&Dしてインポートしてあげましょう!
すると以下画像のように、GSplat Asset形式のデータが生成されます。
Unityにインポート


🟥 Step 6. GSplat Rendererを追加

あとは、適当なEmpty Objectを作成し、GSplat Renderer コンポーネントを追加しましょう。
追加したGSplat Renderer コンポーネントのGSplat Assetの欄に先ほどインポートしたアセットを追加してあげると、UnityのScene/Gameウィンドウ共に先ほど生成した3Dデータが表示される様子がわかるかと思います。
Unityで描画される様子


🎁 まとめ

ここまででざっと3D Gaussian Splatting技術の紹介~実例までを紹介していきました。
これら全てがここ一ヶ月以内で発表されたツールばかりです。ぜひ皆さんも日常にアンテナをはって、得た情報はすぐに試してみるチャレンジ精神大事に日々の開発にも向き合っていきましょう〜!🫶

📝 参考

https://github.com/facebookresearch/sam-3d-objects
https://gigazine.net/news/20251120-meta-sam-3d-object-human-body/
https://gaprot.jp/2025/09/29/unity-gaussian-splatting-drawing/
https://weel.co.jp/media/innovator/marble/
https://cgworld.jp/flashnews/01-202511-Meta-SAM3D.html
https://ai-market.jp/technology/3d-gaussian-splatting/#NeRF
https://cgworld.jp/special-feature/2509-3d-gaussian-splatting.html

GitHubで編集を提案

Discussion