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

コリジョン

ビューア上のスプラットは、デフォルトでは物理的な存在を持たず — カメラはスプラットを通り抜けてしまいます。StudioCollisionセクションは、シーンのボクセル表現をスプラットに付加し、ビューアがそれに対して衝突できるようにします。コリジョンが付加されると、スプラットはウォーカブルになり — 訪問者は周囲をオービットやフライで見るだけでなく、徒歩で移動できるようになります。Exploreページでもwalkableの特徴フィルタによってウォーカブルシーンが浮かび上がります。

スプラットを実世界の単位にスケールする

ウォーカブルなシーンを快適にするために、コリジョンを追加する前に、1ユニットが1メートルになるようにスプラットをスケールしてください。ウォークモードではカメラが1.8 mの固定の頭の高さを使用するため、シーンが実世界のスケールになっていないと、移動するには大きすぎたり小さすぎたりするように感じられます。

ボクセルコリジョンとは

ボクセルコリジョンアセットは、スプラットの粗い低解像度のボックスベース再構築です — 訪問者が立てる面、寄りかかれる面、ぶつかって止まる面です。スプラット自体とは別アセットなので、ビジュアル品質ではなくランタイム物理向けに独立して最適化できます。

デバッグ描画でボクセルコリジョンを表示したスプラット

通常、シーンごとに1度生成し、ベースのスプラットに大きな変更があった場合のみ再生成します。

ボクセルコリジョンの生成

コリジョンを追加する推奨方法は、Studio内で直接生成することです。AssetsタブのCollisionセクションにはGenerateボタンがあり、公開済みのスプラットに対してサーバーサイドのボクサライザを実行します — ファイルを準備したりアップロードしたりする必要はありません。

StudioのGenerate Voxel Collisionダイアログ

  1. スプラットをStudioで開きます — スプラットのサムネイルをクリックしても表示されるだけなので、Open in Studio(Manageから)またはEdit in Studio(シーンページから)を使用してください。次に、左パネルのAssetsタブを選択し、Collisionセクションを見つけます。
  2. GenerateをクリックしてGenerate Voxel Collisionダイアログを開きます。
  3. Scene typeを選びます — IndoorOutdoor(デフォルト)、Objectのいずれか。再構築する空間の種類に合わせてボクサライザを調整します。
  4. Seed positionXYZ)を設定します。これはボクサライザが移動可能な空間を見つけるために外側へフラッドフィルしていく起点なので、訪問者が立てる場所に置く必要があります。フィールドには現在のビューポートカメラ位置があらかじめ入力されています — ダイアログを開く前に目的の位置にシーンを合わせるか、座標を手入力してください。
  5. Generateをクリックします。

生成はサーバー上で実行され、通常は数分かかります。実行中はCollisionセクションに**Generation in progress. Reload to refresh status.と表示されます — Studioはポーリングを行わないため、結果を取得するにはページを再読み込みしてください。完了するとscene.voxel.jsonscene.voxel.binのファイルがセクションに表示され、次のビューア再読み込みでシーンがウォーカブルになります。生成に失敗した場合は、セクションにGeneration failed.**と表示されます。

すでにコリジョンが存在する場合、ボタンはRegenerateになり、Deleteで現在のボクセルアセットを削除できます。

ボクセルサイズ

ジェネレータはデフォルトのボクセルサイズとして5 cm0.05ユニット)を使用します。これはほとんどのシーンに適しています。別のボクセルサイズを使用したい場合は、splat-transformでコリジョンを生成し、その結果をアップロードしてください — 下記のカスタムボクセルコリジョンのアップロードを参照してください。

カスタムボクセルコリジョンのアップロード

アップロードは、カスタムコリジョンが必要なときに選ぶ方法です — たとえば、Generateボタンでは望みどおりの結果が得られず、自分でボクセルファイルを作成または調整した場合などです。互換性のあるペアは、ブラウザでConvertユーティリティを使うか、スクリプトやバッチ処理向けにsplat-transform CLIで生成できます。

  1. AssetsタブでCollisionセクションを開き、UploadをクリックしてUpload Voxel Collision Pairダイアログを開きます。
  2. コリジョンを記述するファイルペア — .voxel.jsonファイルと、その相方の.voxel.bin — をドロップ(またはクリックして選択)します。まとめて追加することも、2ステップで追加することもできます。
  3. Upload Voxel Pairをクリックします。すでにコリジョンが存在する場合、ボタンはUpload Overrideになり、既存のものを置き換えます。

アップロードはすぐに反映され、次のビューア再読み込みでシーンがウォーカブルになります。

関連項目

  • Convert — ブラウザでボクセルコリジョンを生成する
  • splat-transform — スクリプトやビルドパイプラインでボクセルコリジョンを生成する
  • Experience Settings — シーンアセット参照を格納するJSONコントラクト