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

描画順序とソート

Gaussianのソート方法

GSplatComponent内の個々のGaussianは、カメラの深度に基づいて奥から手前にソートされます。このソートはメインスレッドをブロックしないようにWeb Workerで非同期に行われます。計算されたソート順序はメインスレッドに戻され、レンダリングのためにGPUにアップロードされます。

注記

ソートは非同期で行われるため、Web Workerが新しいソート順序を再計算するのに時間がかかるため、カメラのトランスフォームが非常に短い時間で大きく変化すると、視覚的な遅延が発生する場合があります。

複数のGSplatComponent

GSplatComponentはバウンディングボックスに基づいて奥から手前にレンダリングされ、各コンポーネントのGaussianはそのコンポーネント内で独立してソートされます。

統合レンダリング

デフォルトでは、PlayCanvas Engineは複数のGSplatComponent間での「グローバルソート」(すべてのコンポーネントのすべてのGaussianが一緒にソートされる)をサポートしていません。ただし、統合スプラットレンダリングを有効にすることができます。これは、複数のコンポーネントのすべてのGaussianを一緒にソートし、可視性とポッピングのアーティファクトを排除するベータ機能です。

深度バッファの考慮事項

GSplatComponentはレンダリング中に深度バッファに書き込みません。この制限により、アプリケーションで深度バッファデータの読み取りや活用に依存する機能を使用できません。例えば、通常深度バッファを必要とする被写界深度ポストエフェクトは、一般的にスプラットレンダリングとは互換性がありません。

回避策として、スプラットのメッシュベースの近似を生成し、別のレイヤーで深度バッファにレンダリングできます(フレームバッファには書き込まない)。このテクニックにより、Gaussian splatレンダリングの視覚品質を維持しながら、深度依存エフェクトを使用できます。