Three.js向け3DGSレンダラー Gaussian-Splat-Lite v1.6.1、LCC2ストリーミングに対応
Three.js用の3DGSレンダラーGaussian-Splat-Liteがv1.6.1を公開し、LCC2形式のシーンをカメラ位置に応じて段階読み込みする機能を加えました。SH圧縮の追加は材料からは確認できていません。
この記事はAIが作成し、人による事前の確認を経ずに自動で公開しています。
- 発表日
- 2026.11.02(現地)
- 用途
- 研究・制作・インフラ
- 出典
- 1件(en)(うち一次情報 1件)
要点
- Three.js向けの3DGSレンダラーで、WebGPUとWebGL2の両方に対応しています
- 2026年11月2日公開のv1.6.1でLCC2用のストリーミング読み込み機能が加わりました
- 話題になったSH圧縮の追加は、リポジトリ材料からは確認できませんでした
何が起きたか
Gaussian-Splat-Liteは、Three.jsで3D Gaussian Splatting(3DGS)を表示するオープンソースのレンダラーです。ライセンスはApache-2.0で、GitHubのスター数は272、npmパッケージとして配布されています。
PLY、SPZ、SOG、RADの各形式を読み込めます。RAD、SOG、LCC2のシーンでは、カメラの動きに合わせて詳細度(LOD)を読み込むストリーミングにも対応しています。
2026年11月2日にv1.6.1が公開されました。リリースノートの追加項目は、LCC2用の読み込み管理クラス Lcc2StreamScheduler と、ビューアでLCC2シーンを開く機能です。LCC2はインデックスのURLか、関連ファイルを含むローカルフォルダから開けます。
この日はX上で「Web用3DGS変換にSH圧縮を追加」という話題が出ていました。ただ、取得できたREADMEとリリースノートには、SH圧縮に関する記述がありません。
仕組みと中身
利用側は、GaussianSplatRendererをシーンに1つ追加します。表示したいモデルはSplatMeshとしてシーンに置きます。WebGPURendererを使えば、WebGPUが使えない環境ではWebGL2に自動で切り替わります。従来のWebGLRendererも使えます。
大きなシーンでは、形式ごとのスケジューラーを使います。RadStreamScheduler、SogStreamScheduler、Lcc2StreamSchedulerの3種類です。いずれも空の状態で作り、addSource()で入力を追加し、removeSource(id)で外します。
描画ループ内でupdate()を呼ぶと、カメラ位置に応じて詳細が読み込まれます。スプラット数の上限(splatBudget)や、LOD切替時のフェード時間(既定200ms)を設定できます。
Lcc2StreamSchedulerは、SOG、SPZ、PLYのチャンクを含むLCC2シーンを扱えます。複数入力で予算を共有する設定や、環境の読み込み、表示のフェードにも対応するとされています。
そのほかの機能として、確率的(stochastic)描画モードがあります。ノイズが出るため、実験的なニューラルデノイザーで滑らかにする方式が用意されています。オフスクリーン描画(画像・キューブマップ・環境マップ)、SDFによる色変更や非表示、大規模なGIS/ECEF座標でのモデル配置も備えています。
数字で見る
| 最新リリース | v1.6.1(2026-11-02) |
|---|---|
| ライセンス | Apache-2.0 |
| 対応レンダラー | WebGPU / WebGL2 |
| 読み込み形式 | PLY、SPZ、SOG、RAD(LCC2はストリーミング) |
| ストリーミングLOD | RAD、SOG、LCC2 |
| 必要なThree.js | 0.187.0以上 |
| 開発環境 | Node.js 22.12以降、Rust(wasm32-unknown-unknown) |
| GitHubスター数 | 272 |
実務への影響
Webで実写の3DGSを見せたい制作者や開発者にとって、Three.jsの既存シーンに組み込める選択肢が増えます。他のThree.js用ライブラリと同じ流れでカメラやオブジェクトを扱えます。
大規模な屋外・施設スキャンのように、一度に読み込むと重いシーンでは、LODストリーミングが実用上のポイントになります。LCC2への対応で、扱える入力の幅が広がりました。
GIS/ECEF座標でのモデル配置に対応しているため、地図系や測量系のシーンに3DGSを載せたい用途でも検証の候補になります。ただし実際の精度や性能は、使うデータと環境で確かめる必要があります。
試すには
- 公開デモ(gaussian-splat-lite.vercel.app)で、手持ちのPLYやSPZをドロップして表示を確かめます。
- npm install gaussian-splat-lite three で導入します。Three.jsは0.187.0以上が必要です。
- クイックスタートのコードで、WebGPUとWebGL2の両方を試し、表示や速度を比べます。
- 大きなシーンはRAD、SOG、LCC2のいずれかに変換し、対応するスケジューラーで読み込みます。splatBudgetを変えて負荷を見ます。
注意点・未確認のこと
- X上の「SH圧縮を追加」という話題は、取得できたREADMEとv1.6.1のリリースノートでは確認できませんでした。別のリリースやコミットにある可能性はありますが、材料からは判断できません。
- SH(球面調和関数)は、見る角度による色の変化を表す係数です。圧縮の方式・効果・対応形式は未公表です。
- 描画速度、メモリ使用量、他ライブラリとの性能比較の数値は材料にありません。
- ニューラルデノイザーは実験的機能と明記されています。確率的描画はノイズが出るモードで、既定は並べ替えありのアルファブレンドです。
- LCC2の仕様の詳細や、対応するデータの範囲はdocs/Lcc2StreamScheduler.mdに記載があるとされています。今回の材料では中身を確認していません。
- 開発側のビルドにはRustとwasmツールチェーンが必要です。利用側だけならnpmで導入できます。
用語
- 3D Gaussian Splatting(3DGS)
- 多数の半透明な楕円体(ガウシアン)で実写の場面を表し、高速に描画する技術です。
- LOD(詳細度)
- カメラからの距離などに応じて、データの細かさを切り替える仕組みです。
- SH(球面調和関数)
- 3DGSで、見る方向による色の違いを表す係数です。データ量が大きくなりやすい部分です。
- SPZ / SOG / RAD / LCC2
- 3DGSのデータ形式の名称です。SPZ、SOG、RAD、LCC2の細かな仕様は本材料では確認していません。
- WebGPU / WebGL2
- ブラウザでGPUを使って描画するためのAPIです。WebGPUは新しい世代の規格です。
出典
一次情報(発表元・論文・リポジトリ)
- WilliamLiu-1997/Gaussian-Splat-LiteGitHub(github.com)・en
きっかけになったXのポスト
- @lyzzz97 のポストをXで見るx.com
この記事は、AIが出典(一次情報)をもとに日本語で作成し、人による事前の確認を経ずに、出典との照合などの自動の検査を通ったものを公開しています(AIの利用について)。数値や仕様は発表元の情報で、当社が独自に検証したものではありません。詳しくは原典をご確認ください。誤りのご指摘はお問い合わせからお願いします。確認のうえ速やかに訂正します。
運営会社のサービス3DGS Universal Viewer(3Dasset.io)(株式会社IZUTSUYA)