-1

高さのある THREE.PlaneGeometry を作成し、最高点で THREE.PointLight を見つけますが、これはこの点から見えない領域を照らします。なんで?見られている部分だけを点から照らしたい。

4

1 に答える 1

0

デフォルトでは、サーフェス上の任意のポイントの外観は、ライト、それらのプロパティ、およびもちろんマテリアルプロパティを使用して計算されます。計算コストが非常に高くなるため、シーンの残りの部分は考慮されません。さまざまなレイトレーシングレンダラーがこれを実行しますが、実際には低速であり、WebGLおよびThree.jsの動作とは異なります。

あなたが欲しいのは影です。Three.jsは、シャドウマップメソッドを使用してシャドウをレンダリングできます。ネットとThree.jsのexamplesフォルダーの両方でシャドウマップを使用するさまざまな例があります。

ただし、警告の言葉ですが、基本をうまく理解していないと、シャドウをうまく機能させるのは難しい場合があります。ある程度の勉強が必要になる場合があります。シャドウは、アプリケーションの速度を低下させ(特に多くのライトがある場合)、適切に構成および微調整されていない場合、見栄えが悪くなる可能性があります。また、シャドウマップはSpotLightとDirectionalLightでのみサポートされていると思いますが、PointLightは扱いにくいです。

于 2013-02-26T19:53:22.367 に答える