2016-09-17 10 views
0

THREE.SpotLightでフラッシュライト効果を得ることができるかどうか誰かが知っているかどうかは分かりません。Three.js - フラッシュライト "リング"エフェクト

// Line 110 
spotLight = new THREE.SpotLight(0xffffff, 0.5, 150); 
spotLight.power = 6000; 
spotLight.angle = 0.5; 
spotLight.decay = 2; 
spotLight.penumbra = 0.1; 
spotLight.distance = 200; 

私はCodePenを設定している(http://codepen.io/anon/pen/ALXNYQ - ポインタロックに係合するようにウィンドウをレンダリングクリック)が、私は、フラッシュ光がより現実的になりたいです。多分それはでなければならない、のように - 私は読み込むことができますいくつかの種類の「マップ」があるだろうと考え、私はドキュメントを見回してみた

Flash Light "Ring" Effect

、:ここでは所望の効果を持つ画像ですアルファマップまたは何か。 3Dゲームの世界ではまだまだ新しいものなので、どんな援助も感謝しています。

ありがとうございました。

答えて

2

異なるアングルと異なるパラメータ値を持つスポットライトを追加して、そのリングエフェクトを作成できます。

spotLight = new THREE.SpotLight(0xFFFFFF, 0.5, 150); 
spotLight.power = 4000; 
spotLight.angle = 0.5; 
. 
. 
. 
spotLight2 = new THREE.SpotLight(0xCCCCCC, 0.5, 150); 
spotLight2.power = 2000; 
spotLight2.angle = 0.55; 
. 
. 
. 
flashLight.add(spotLight); 
flashLight.add(spotLight.target); 
flashLight.add(spotLight2); 
flashLight.add(spotLight2.target); 

this codepenで見ることができます。 私は、あなたがパラメータを調整すると、あなたが探しているのと同じ効果を達成できると思います。

+0

パフォーマンスに大きな影響があると思いますか?同様に、もし私がすでに7つまたは8つのライトを持つシーンを持っていれば、懐中電灯のためだけに3つのライトを持つことが賢明でしょうか?私はそれが最終的に私のことだと思う。それでも答えに感謝します。 – user973259

+0

明らかに多くのライトがあるとパフォーマンスに影響します。余分なスポットライトのシャドウキャスティングを無効にすることができます。 [Stats.js](https://github.com/mrdoob/stats.js/)を使用してパフォーマンスを監視することができます。 – guardabrazo