2016-09-17 168 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

我试着在文档四处寻找,以为会有某种形式的“地图”,我可以加载 - 样,也许它会是一个alpha地图或其他东西。我对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