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

Gaussian Splatsは、シーン内のメッシュやその他のサーフェスに影を落とすことができます。

ライブデモを見る - スプラットの影の動作を確認できます。

スプラットの影

シャドウキャスティングの有効化

GSplatコンポーネントでシャドウキャスティングを有効にするには、castShadows プロパティを設定します:

entity.gsplat.castShadows = true;

または、コンポーネント作成時に設定できます:

entity.addComponent('gsplat', {
asset: splatAsset,
castShadows: true
});

シャドウキャスティングが有効なライトも必要です:

entity.light.castShadows = true;

影の品質

アルファクリップしきい値を調整することで、影の品質を向上させることができます。これは半透明のスプラットが影にどのように寄与するかを制御します。値が低いほど、より多くの半透明スプラットが影に含まれます。値が高いほど、よりシャープですが不完全な影になる可能性があります。

統合モード

統合レンダリングモードでは、グローバルGSplat設定でアルファクリップしきい値を設定します:

app.scene.gsplat.alphaClip = 0.4;

非統合モード

非統合モードでは、コンポーネントのマテリアルに直接アルファクリップしきい値を設定します:

entity.gsplat.material.setParameter('alphaClip', 0.4);

影の受け取り

スプラットは他のオブジェクトからの影を直接受け取ることができません。ただし、シャドウキャッチャーを使用することでこの制限を回避できます。シャドウキャッチャーは、スプラットの形状を近似し、デプスバッファに書き込んで影を受け取る不可視のメッシュです。

このテクニックの実際の例については、3DGS with Physics and Relighting を参照してください。