メインコンテンツまでスキップ

Gaussian Splats

In-App Navigation
Supported ­file types
.PLY.SOG.COMPRESSED.PLY.ZIP

Splat 編集 UI

Gizmo を開く 1

このボタンを押すと変形 Gizmo が開き、選択した 3D モデルを移動、回転、拡大縮小できます。詳しくは Gizmo のセクションを参照してください。

アップロード / 置き換え / ダウンロード 2

これを選択すると、新しい 3D Object ファイルをアップロードでき、現在読み込まれているモデルを上書きします。

削除 3

このボタンを使うと、選択した 3D モデルを現在の Space から完全に削除できます。

Splat の高度な編集オプション

回転速度

Asset を Y 軸の周りに回転させます。正の値では Asset が時計回りに回転し、負の値では反時計回りに回転します。

Splat の明るさ

Splat の明るさを調整します。入力欄を使うか、スライダーを左右にドラッグして値を増減してください。

Splat のコントラスト

Splat のコントラストを調整します。入力欄を使うか、スライダーを左右にドラッグして値を増減してください。

Edit Splat (SuperSplat)

Arrival.Space では拡張版の SuperSplat を提供しています。この統合により、おなじみの SuperSplat の操作をすべて利用できます。さらに、.spz files を直接操作でき、SuperSplat ウィンドウを閉じるだけで変更内容をそのまま保存できます。

次の表は、SuperSplat でよく使われる操作、その目的、そして典型的な用途をまとめたものです。

OperationPurposeTypical Use Case
Crop / TrimSplat の不要な領域を削除する読み込み時間の短縮、主要オブジェクトへのフォーカス、空白または不要領域の除去
Merge / Combine複数の Splats を 1 つにまとめるRender pipeline の簡略化、多数の小さい Splats でのパフォーマンス向上、シーン最適化
Floater Cleaning浮遊している、または接続されていない Splats(ノイズ、スキャンのアーティファクト)を削除するスキャンを取り込んだ後の視覚ノイズ削減とファイルサイズ最適化
Versions異なる Asset バージョンやチェックポイントを作成、管理する大きな編集前、バリエーション比較、または共同作業ワークフロー向け
Rearrangingシーン内の Splats やグループを再編成する構造化されたシーン構築、Object 配置の修正、編集ワークフローの改善
Insert Volume分離や制限のための Volume(bounding box / shape)を定義または配置するSplat の一部だけを編集する
備考

このオプションは Splat ファイル(.SPZ.PLY.SPLAT.SOG)にのみ適用されます。

Splats についてもっと知りたいですか?

Splats のアップロード方法、Gizmo を使った操作方法、複数の Splats を結合して Arrival.Space に戻す方法を解説した動画チュートリアル付きの専用 Space を用意しています。

Collision

Collision は Splats を歩行可能にするための仕組みです。独自の Collision ファイルをアップロードするか、自動生成ツールを使用できます。

Collision をアップロード 1

.glb の Collision ファイルをアップロードします。

Collision Settings 1

Collision Settings を開いて設定を調整します。Splat に自動 Collision 生成で無視したい floaters が含まれている場合は、特にこの設定を推奨します。

利用できるオプションは次のとおりです。

  • Collision Detail: Collision mesh の詳細レベルを定義します。値が高いほど詳細になりますが、Splat の地面に隙間がある場合は穴が発生することがあります。
  • Inclusion Radius (m): 重心から何メートルの範囲のポイントを Collision 生成に含めるかを設定します。
  • Minimum Opacity: Collision 生成前に、見えにくいポイントを除外します。
  • Maximum Scale: Collision 生成前に、過大なポイントを除外します。
Generate Collision 1

このボタンをクリックすると、アップロードした Splat に対して Collision mesh を自動生成 します。生成後、このアイコンは アイコンに変わります。

Show Collision 2

Collision がアップロードまたは生成されている場合、このボタンをクリックすると Collision mesh が紫色のオーバーレイとして表示されます。さらに、Collision の位置を変更するための Gizmo メニューが開きます。

Hide Collision 2

Collision が正しく配置できたら、このアイコンを使って Gizmo を無効化できます。

Collision Offset 2

Collision の Gizmo を開いて位置を調整します。

Download Collision Pro2

このボタンをクリックすると現在の Collision mesh がダウンロードされます。これにより、外部プログラムで Collision の境界を調整してから、修正したファイルを再アップロードできます。

Delete Collision 2

これで Collision を削除します。

Collision を有効化 / 無効化 2
Collision を生成またはアップロードしたあと、このトグルで Collision を有効化または無効化できます。

編集した Collision の位置合わせで問題がありますか?

Arrival.Space で生成した Collision をダウンロードし、別のプログラムで編集すると、位置合わせが一致しなくなることがあります。
これは Arrival.Space の Collision を Blender に取り込んだ際、Blender と Arrival.Space で Y 軸と Z 軸 が異なるためによく起こります。

Blender では、エクスポート時に Transform セクションで +Y Up を有効にできます。これにより、その後に必要な回転量を減らせます。

問題が続く場合は、シーンを Additional Content としてアップロードしてみてください。その場合、Collision は常にシステムによって自動的に位置合わせされるはずです。

Advanced Tips

Collision に 500k indices を超えるデータが含まれている場合は、mesh の簡略化または複雑さの削減が必要です。さらに、良好なパフォーマンスを維持するため、Collision mesh は 10 MB を超えないようにしてください。

これを実現する方法はいくつかありますが、このガイドでは複雑さを減らすためのシンプルで効果的な方法を紹介します。このガイドの例はすべて Blender を使って説明しています。

1. Normals と UVs を含めずにエクスポート

エクスポート時には、ファイルサイズと複雑さを大きく減らせる設定をいくつか調整できます。

手順:

  1. Blender を開きます
  2. mesh をインポートします
  3. File > Export > glTF 1 に進みます。
  4. Transform+Y Up 2 を有効にします。
  5. Data > Mesh を開き、UVsNormals 3 を無効にします。
  6. mesh をエクスポートします。

2. 到達できない領域を削除する

複雑なシーンでは、通常のカメラモードでユーザーが到達できない領域に Collision が存在することがよくあります。
例えば森のシーンでは、tree crowns には到達できない場合があります。
こうした詳細な領域は mesh の中でも最も複雑な部分であることが多いため、それらを削除することが Collision の複雑さを減らす最も簡単な方法です。

手順:

  1. Blender を開きます
  2. mesh をインポートします
  3. Modeling Mode 1 に切り替えます。
  4. クリックしてドラッグし、削除したい領域を選択します 2
  5. DEL または ENTF または を押して、Vertices 3 を選択します。
  6. これで mesh の簡略化が完了です。

3. Merge by Distance

場合によっては、個々の Vertices が非常に近く、互いに重なっていることがあります。
これにより Collision 領域が重複する可能性があります。そのような Vertices は Merge by Distance を使ってまとめられます。

手順:

  1. Blender を開きます。
  2. mesh をインポートします。
  3. Modeling Mode に切り替えます。
  4. A を押してすべて選択します。
  5. Modeling ツールバーで Mesh > Clean Up > Merge by Distance 1 に進みます。
  6. 左下に小さな展開メニューが表示されるので開きます 2
  7. distance10 cm 3 に設定します。パネルには統合された Vertices 数が表示されます。

SOG (Spatially Ordered Gaussians) Compression

Spatially Ordered Gaussians (SOG) は 3D Gaussian Splatting のためのオープンソースファイル形式です。以前の SOGS format を拡張し、Splat データ(Gaussians)を GPU 向けに最適化されたレイアウトでまとめます。単一の .sog ファイルとして保存することも、meta.json.webp 画像群として保存することもできます。 この圧縮レベルにより、シーンサイズを 元ファイルの 3 分の 1 まで削減できます。

SOG を作成する

PLY または compressed PLY から SOG file を自動生成します。
ただし、より高速なアップロードを希望する場合は、SOG file をローカルで作成して直接アップロードすることもできます。
どちらの方法を選んでも、その後 Arrival.Space SuperSplat Editor でモデルの編集を続けられます。

SOG を Arrival.Space にアップロードする

生成された SOG ファイルを使用し、Upload Content または Additional Content としてアップロードします。

SOG の Collision Generation

SOG の Collision は PLY ファイルと同じように動作します。Collision Generation ボタンを使うか、独自の custom Collision をアップロードしてください。

LCC (Lixel CyberColor)

Lixel CyberColor Compression (LCC) は、XGRIDS が開発した 3D Gaussian Splatting dataset 向けの圧縮形式です。各 Gaussian を個別に保存する代わりに、LCC は階層的な空間構造、パラメータ量子化、冗長性削減の技術を使って、視覚品質を維持しながら保存容量を大きく削減します。これにより、大規模な Gaussian Splatting シーンを Web、Desktop、Mobile platform で効率よくストリーミングおよびレンダリングできます。この圧縮方式は公式の White Paper from XGRIDS で詳しく説明されています。

LCC を Arrival.Space にアップロードする

In-App Navigation
Supported ­file types
.ZIP (LCC2).ZIP (LCC1)

Arrival.Space で使うには、次のファイルを含むフォルダを zip 化してください。

LCC1:

- attrs.lcp
- data.bin, index.bin, environment.bin
- meta.lcc
- shcoef.bin (optional - 存在する場合は含めてください)
- collision.lci (optional - 存在する場合は含めてください)

LCC2:

- meta.lcc2
- data (folder)
- 3dgs
- *.sog
- mesh (optional folder - Collision が必要な場合)
- *.ply / *.btree (optional - Collision が必要な場合)

圧縮後(zip 作成後)は、zip folder を Additional Content として直接アップロードできます。

LCC1

LCC1 dataset は、Gaussian Splats をレンダリングおよびストリーミングするために octree ベースの空間階層を使用します。アップロード後、Arrival.Space はレンダリング性能と帯域利用を最適化するために追加の Level-of-Detail(LOD)データを生成します。この処理中は、Asset がすぐに利用できない場合があります。dataset のサイズによっては、LOD 生成に数分かかることがあります。

LCC2

LCC2 は octree ベースの方式を、より効率的なストリーミング、スケーラビリティ、将来的な編集ワークフローを想定した chunk ベースのアーキテクチャに置き換えます。dataset 自体に効率的なストリーミングと可視性管理に必要な構造が含まれているため、アップロード後に追加の LOD 生成は不要です。

LCC1 の Collision Generation

アイコンを使うだけで、システムが LCC1 用の Collision を自動生成します。自分で作成することもできます。Generate Collision for LCC and LOD のセクションにステップごとのガイドがあります。

LCC2 の Collision Generation

Arrival.Space では、LCC2 dataset にすでに含まれている Collision データがそのまま使われるため、追加の Collision 生成は不要です。

LOD (Level of Detail) Optimization

大きな Splat ファイルでは、LOD 構造を作成することで読み込みパフォーマンスを大幅に改善し、さまざまなデバイスで滑らかな表示を確保できます。Splat ファイル向けに最適化された LOD 階層の作り方については、LOD Creation Guide を参照してください。splat-transform を使ったマルチレベル LOD 構造生成のステップごとの説明、または手動でマルチレベル LOD を作成するための step-by-step guide も確認できます。