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

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

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

スプラットの影

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

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

entity.gsplat.castShadows = true;

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

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

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

entity.light.castShadows = true;

影の品質

より良い影の品質を得るために、グローバルGSplatマテリアルのアルファクリップしきい値を調整できます。これは、半透明のスプラットが影にどのように寄与するかを制御します:

app.scene.gsplat.material.setParameter('alphaClip', 0.4);
app.scene.gsplat.material.update();

値が低いほど、より多くの半透明スプラットが影に含まれます。値が高いほど、よりシャープですが不完全な影になる可能性があります。

注記

alphaClip パラメータは一時的な措置です。影の品質を制御するためのより正式なAPIは、将来のリリースで予定されています。

影の受け取り

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

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