3D Gaussian Splatting Viewer の開発 - Spark.jsを使ったブラウザ実装
3D Gaussian Splatting(3DGS)ファイルをブラウザで閲覧できるビューアを開発しました。本記事では、3DGSの概要と、通常のPLY Viewerでは表示できない理由、そして専用ビューアの実装について解説します。 デモ: https://3dtiles-viewer.vercel.app/3dgs-viewer.html?manifest=https://3dtiles-viewer.vercel.app/iiif/ply/manifest.json なぜ通常のPLY Viewerでは3DGSを表示できないのか 3DGSファイルは拡張子が.plyであるため、一見すると通常のPLYファイルと同じように扱えそうに見えます。しかし、Three.jsのPLYLoaderで読み込んでも正しく表示されません。 通常のPLYファイルと3DGS PLYファイルの違い 通常のPLY(メッシュ/点群): element vertex 1000 property float x property float y property float z property uchar red property uchar green property uchar blue element face 500 property list uchar int vertex_indices 3DGS用PLY: element vertex 142000 property float x property float y property float z property float f_dc_0 # 球面調和関数(色) property float f_dc_1 property float f_dc_2 property float opacity # 不透明度 property float scale_0 # スケール(楕円体サイズ) property float scale_1 property float scale_2 property float rot_0 # 回転(クォータニオン) property float rot_1 property float rot_2 property float rot_3 PLYLoaderで読み込むとどうなるか Three.jsのPLYLoaderは3DGS用のプロパティを理解できません。読み込むと以下のような問題が発生します: ...



















