WebGPUとWebGL2に対応し、大規模モデル向けのストリーミングLODを備えた、3D Gaussian Splattingシーン用のThree.jsレンダラー。
sparkjsdev/spark
通常のメッシュと同じシーンにスプラットを混在させられる、THREE.js向け3D Gaussian Splattingレンダラー。
- スター
- 3,879
- フォーク
- 581
- 未解決の Issue
- 111
- 最終コミット
- 18 日前
これは何?
Sparkは、3D Gaussian SplattingをTHREE.jsで扱えるようにするレンダリングライブラリです。THREE.jsのレンダーパイプラインに組み込めるため、スプラットオブジェクトとメッシュベースのオブジェクトを同じシーン内で正しくソートして描画でき、複数のスプラットオブジェクトもまとめてレンダリングできます。
PLY(圧縮・非圧縮)、SPZ、SPLAT、KSPLAT、SOGなど、一般的なスプラット形式の読み込みに対応しています。WebGL2を対象としており、低性能なモバイル端末を含む幅広いデバイスでの動作を想定しています。スプラットごとの変換、色の変更、変位、スケルトンアニメーションが可能で、シェーダーグラフを使ってGPU上でスプラットを作成・編集できます。
Sparkはnpmからインストールするか、import mapを使ってCDNから読み込めます。プロジェクトには、サンプル、PLYファイルをSPZに圧縮するアセットツール、ドキュメントサイトも含まれています。
主な機能
- 01THREE.jsのパイプラインに統合され、スプラットとメッシュを同じシーンで扱える
- 02PLY(圧縮形式を含む)、SPZ、SPLAT、KSPLAT、SOG形式に対応
- 03複数のスプラットオブジェクトを正しくソートしてまとめてレンダリング
- 04WebGL2を対象とし、モバイルを含む幅広いデバイスで動作
- 05スプラットごとの変換、色の編集、変位、スケルトンアニメーションに対応
- 06スプラットの作成・編集に使えるGPUシェーダーグラフを搭載
ユースケース
- THREE.jsで構築したWebページに、フォトグラメトリや撮影した3Dシーンを表示する
- インタラクティブな3D体験で、スプラットスキャンをメッシュベースの小道具やUIと組み合わせる
- 撮影したオブジェクトをブラウザー上でアニメーションさせたり、色を変更したりする
- Web経由でモバイルユーザーにスプラットビューアーを提供する
クイックスタート
- 1
npmからパッケージをインストールします
npm install @sparkjsdev/spark - 2
または、READMEのHTMLの例をindex.htmlファイルにコピーして、ブラウザーで開きます
使う前に知っておきたいこと
- ソースからビルドするには、Rustをインストールし、別途WebAssemblyのビルド手順を実行する必要があります。
トピック
よくある質問
- spark とは?
- 通常のメッシュと同じシーンにスプラットを混在させられる、THREE.js向け3D Gaussian Splattingレンダラー。 Sparkは、3D Gaussian SplattingをTHREE.jsで扱えるようにするレンダリングライブラリです。THREE.jsのレンダーパイプラインに組み込めるため、スプラットオブジェクトとメッシュベースのオブジェクトを同じシーン内で正しくソートして描画でき、複数のスプラットオブジェクトもまとめてレンダリングできます。
- spark は無料で使えますか?ライセンスは?
- spark は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- spark は今もメンテナンスされていますか?
- 活発にメンテナンス中。spark の最終コミットは 2026年10月20日 です。
- spark は何に使えますか?
- THREE.jsで構築したWebページに、フォトグラメトリや撮影した3Dシーンを表示する インタラクティブな3D体験で、スプラットスキャンをメッシュベースの小道具やUIと組み合わせる 撮影したオブジェクトをブラウザー上でアニメーションさせたり、色を変更したりする Web経由でモバイルユーザーにスプラットビューアーを提供する
- spark のインストール方法は?
- npmからパッケージをインストールします: npm install @sparkjsdev/spark または、READMEのHTMLの例をindex.htmlファイルにコピーして、ブラウザーで開きます
- spark はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/sparkjsdev/spark
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Three.jsを基盤とする、ブラウザー向けのインタラクティブな3D/WebGL・2Dデータ可視化用JavaScriptツールキット兼フレームワーク。
JSXコンポーネントを使い、宣言的に3Dシーンを構築できるThree.js向けReactレンダラーです。
react-three-fiberで3Dシーンを構築するための、すぐに使えるReact用ヘルパーコンポーネントとフックのコレクションです。
three.jsのWebGLシーンにブルーム、SSAO、カラーグレーディングなどのフルスクリーン画像効果を連ねて適用するポストプロセッシングライブラリ。
react-three-fiberのシーンに、JSXコンポーネントとして宣言的にポストプロセスエフェクトを適用できる、postprocessingライブラリのReactラッパーです。