シャドウコンポーネントは、エンティティおよびその子オブジェクトのシャドウを有効にします。周囲のオブジェクトから影を受け取ることと、他のオブジェクトに影を投げることは、独立して有効にすることができます(多くの場合、そうする必要があります)。
このコンポーネントがない場合、エンティティは影を落としたり受け取ったりしません。
# 例
以下の例では、木のモデルが周囲のシーンに影を落としていますが、自分自身は影を受けないように設定されています。
<a-entity light="type:directional; castShadow:true;" position="1 1 1"></a-entity>
<a-gltf-model src="tree.gltf" shadow="receive: false"></a-gltf-model>
重要: shadow
コンポーネントを追加するだけでは、シーンに影を表示することはできません。castShadow: true
を有効にしたライトが少なくとも1つ必要です。さらに、ライトのシャドウカメラ(深度投影に使用)は、通常、正しく設定されている必要があります。詳細については、ライトコンポーネントを参照してください。
# プロパティ
Property | 概要 | デフォルト値 |
---|---|---|
cast | エンティティが周囲のシーンに影を落とすかどうか。 | true |
receive | エンティティが周囲のシーンから影を受け取るかどうか。 | true |
# シーンプロパティ
シャドウシステムは、シャドウのためのレンダラーを設定するためのシーンレベルのプロパティを公開しています。これらは <a-scene>
で設定されます (例: <a-scene shadow="autoUpdate: false">
)。
Property | 概要 | Default Value |
---|---|---|
enabled | 影コンポーネントと castShadow: true が有効なライトがある場合でも、グローバルに影を無効にするかどうか。 | true |
autoUpdate | シャドウマップを毎フレーム動的に更新するかどうか。最高のパフォーマンスを得るには、 renderer.shadowMap.needsUpdate = true を設定して無効化し、手動で更新します。シャドウマップの計算には大きな負荷がかかります。 | |
true | ||
type | シャドウの種類。pcf か basic のどちらか pcfsoft . | pcf (フィルタリングのパーセンテージ) |