【问题标题】:Three.js - Flash Light "Ring" EffectThree.js - 闪光灯“环形”效果
【发布时间】:2016-09-17 22:13:37
【问题描述】:

我只是想知道是否有人知道是否可以使用 THREE.SpotLight 获得闪光灯效果。

// 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 - 单击渲染窗口以启用指针锁定)但我希望闪光灯更逼真。这是具有所需效果的图像:

我尝试过查看文档,认为会有某种我可以加载的“地图”——比如,它可能必须是 alpha 地图或其他东西。我对 3D 游戏世界还很陌生,因此我们将不胜感激。

谢谢。

【问题讨论】:

    标签: javascript html three.js flashlight spotlight


    【解决方案1】:

    您可以尝试添加更多不同角度和不同参数值的聚光灯来创建环形效果。

    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 中查看它的外观。 我认为如果你调整参数,你可以达到与你想要的效果相似的效果。

    【讨论】:

    • 您认为对性能有很大影响吗?就像,如果我已经有一个有 7 或 8 个灯的场景,那么只为我的手电筒设置 3 个灯是否明智?我想这最终取决于我。不过还是谢谢你的回答。
    • 灯多肯定会影响性能。您可以尝试禁用额外聚光灯的阴影投射。然后您可以使用Stats.js 监控性能
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    相关资源
    最近更新 更多