Gaussian Splattingアドオンの新機能

GPUでの高速化、より多くのフォーマット、そしてアプリケーションのためのより優れたツール

Gaussian Splattingアドオンでレンダリングされた、カルモナのローマ橋のGaussian Splattingキャプチャ

3D Gaussian Splattingは、現実世界を3Dアプリケーションに取り込むための最良の方法の一つとして急速に普及しました。数分間の写真や動画があれば、場所やオブジェクトを写真のような精細さで再構築でき、産業分野のチームでは、デジタルツイン、現場の記録、検査、没入型トレーニングでの活用がますます進んでいます。

Gaussian Splattingアドオンは、この技術をデスクトップ、モバイル、Web上のEvergineアプリケーションにもたらします。5月のリリースでは、圧縮SOGフォーマットとWebGPUレンダリングを追加しました。それ以来、私たちはアドオンを2つの方向で改善し続けてきました。特にWebでの高速化と、どのツールで作成されたかに関わらず既存のファイルを読み取れるようにすることです。その過程で、インタラクティブアプリケーション向けの新機能や、よりクリーンで堅牢な内部構造も獲得しました。

これらの改善点を簡単に確認できるように、アドオンで構築されたWebビューアーも公開しました。誰でもGaussian Splattingファイルをドロップしてブラウザで開くことができます。

概要:

この記事の内容

コンピュートシェーダーによる高速レンダリング

Gaussian Splattingシーンを描画するには、各フレームですべてのスプラットをスクリーンに投影する必要があります。その3D形状は2D楕円になり、その色は現在の視点方向に対して評価されます。これまで、この作業は頂点シェーダーで行われ、すべてのスプラットの全頂点に対して繰り返されていました。

DirectX 12、Vulkan、Metal、WebGPUなど、コンピュートシェーダーをサポートするプラットフォームでは、アドオンが描画前のコンピュートパスでこの作業を行うようになりました。スプラットデータはコンパクトなレイアウトでGPUに保存され、コンピュートシェーダーがフレームごとに各スプラットを一度処理し、描画はその結果を読み取るだけです。スプラットを正しい順序でブレンドするソートもGPU上で実行されます。これによりGPUがより有効活用され、フレームあたりの作業量が削減され、CPUはアプリケーションの他の処理に専念できます。

WebGPU

Webでは、コンピュートシェーダーはWebGPUを通じてのみ利用可能です。アドオンは5月のリリースからWebGPUをサポートしており、今回そこでもコンピュートパスを使用するようになったため、WebGPU対応ブラウザでのシーンレンダリングが大幅に高速化されました。これにはEvergine WebGPUバックエンドの変更も必要でした。

WebGLは、WebGPU非対応ブラウザ向けのフォールバックとして引き続きサポートされています。そこでは、スプラットはWebワーカーでソートされるため、ページがブロックされることはありません。

あらゆるデバイス向けに調整

高速なGPUパスは要素の半分に過ぎません。もう半分は、誰の目にも触れない無駄な処理を省くことです。これは、フレームレートと同じくらい発熱やバッテリー消費が重要になるスマートフォンやタブレットにおいて特に大きな意味を持ちます。

どちらも GSplatMesh コンポーネントの通常のプロパティであるため、アプリケーションごとに品質とコストのバランスを選択したり、デバイスに応じて実行時に変更したりできます。

より安定し、より軽く、より高速な読み込み

すべての改善が画面に表示されるわけではありません。作業のかなりの部分は、アドオンの信頼性向上に費やされました。

より多くのフォーマット、一つのパイプライン

3D Gaussian Splattingはまだ若い分野であり、多くのキャプチャアプリ、トレーニングツール、Webビューアは独自のフォーマットを使用しています。シンプルさを重視するものもあれば、圧縮、ストリーミング、非常に大規模なシーンを重視するものもあります。既存のファイルを開くために、アドオンは最も一般的なフォーマットを読み取れるようになりました。

フォーマット拡張子提供元
PLY.plyオリジナルの3DGSトレーニングコードとほとんどのトレーニングツール新規
圧縮PLY.plyPlayCanvas SuperSplat
Splat.splat初期のWebビューア
SOG.sogPlayCanvas改善
SPZ.spzNiantic、Scaniverseで使用新規
KSplat.ksplatGaussianSplats3D新規
LCCフォルダXGRIDS新規
LCC2フォルダXGRIDS新規

新しいフォーマットに関するいくつかの注意点:

ファイルがどのフォーマットを使用しているかをアドオンに指示する必要はありません。拡張子ではなくコンテンツから検出されます。各リーダーは入力を同じ内部表現に変換するため、すべてのフォーマットが同じレンダリング、同じGPUパイプライン、同じオプションの恩恵を受けます。

選択とセグメンテーション

スプラットが個別に追加情報を持てるようになり、インタラクティブなアプリケーションへの扉が開かれました。

はじめに

Evergine Studioのアドオンマネージャーから Evergine.GaussianSplatting アドオンをインストールし、GSplatPrefab プレハブをシーンにドラッグしてください。または、コードからエンティティを作成します。

using Evergine.Framework;
using Evergine.Framework.Graphics;
using Evergine.GaussianSplatting;

public class MyScene : Scene
{
    protected override void CreateScene()
    {
        var gaussianSplatting = new Entity("GaussianSplatting")
            .AddComponent(new Transform3D())
            .AddComponent(new GSplatMesh()
            {
                // Any supported format: .ply, .splat, .sog, .spz, .ksplat or an LCC folder
                SplatPath = "Splats/warehouse.spz",

                // Optional: skip splats that barely contribute to the image
                MinContribution = 0.15f,

                // Optional: re-sort at most every 150 ms
                SortIntervalMs = 150,
            })
            .AddComponent(new GSplatRenderer());

        this.Managers.EntityManager.Add(gaussianSplatting);
    }
}

アドオンは、サポートされているプラットフォームでは自動的にコンピュートパスを選択するため、同じコードがどこでも動作します。EvergineドキュメントのGaussian Splattingセクションでは、各コンポーネントとWebプロジェクト向けの追加手順について説明しています。

実際にご覧ください:Webビューアー

誰でも簡単にアドオンを試せるように、splat.evergine.com でGaussian Splattingビューアーを公開しました。これはEvergineとGaussian Splattingアドオンで構築されたサンプルアプリケーションであり、この記事で説明されているすべてがそこで動作しています。無料で、ブラウザで実行され、インストールは不要です。モデルをページにドラッグするだけで開きます。

ドラッグ&ドロップでモデルを受け入れる準備ができたWebビューアー

ファイルまたはフォルダをページにドロップするか、参照してください

主な機能は次のとおりです。

Webビューアーのカメラ操作パネル

ツールバーでオービットカメラとフリーカメラを切り替え、モデルをフレームに収め、トランスフォームパネルとオプションパネルを開きます。ヘルプボタンはカメラ操作の一覧を表示します

Webビューアーのオプションパネルとパフォーマンスパネル

オプションパネル、左側にパフォーマンスパネル

モデル上に点として描画されたGaussianの中心

すべてのGaussianの中心を表示すると、キャプチャの密度と構造を確認するのに役立ちます

スマートフォンでのWebビューアー

タッチ操作に対応したスマートフォン上のビューアー

アドオンの機能を示すだけでなく、エクスポートが正しく開かれたかの確認、スキャンの2つのバージョンの比較、プロジェクトを準備せずに会議でキャプチャを表示するなど、日常業務に便利なツールです。

今後の予定

Gaussian Splattingは急速に進化しており、登場する新しい形式や技術へのサポートを継続的に追加していきます。現在取り組んでいるものの一部を紹介します。

どちらも同じ目標を目指しています。それは、Gaussian Splattingシーンを単に見るものではなく、アプリケーションがインタラクトできるものにすることです。

ぜひお試しいただき、ご意見をお聞かせください

これらの改善は、Evergineの2026年11月リリースの一部です。Evergineをアップデートし、Gaussian Splattingアドオンをプロジェクトに追加して、キャプチャを読み込んでください。

皆様のキャプチャや、次に希望される形式や機能について、ぜひお聞かせください。

David Ávila
著者
David Ávila
Plain Concepts Research