【问题标题】:Three.js - Updating godrays light source positionThree.js - 更新godrays光源位置
【发布时间】:2019-02-04 01:05:08
【问题描述】:

我在 Three.js 中使用精灵作为神光后处理通道的光源。 但是,当我更新精灵位置时,后处理的光会停留在其初始位置,导致精灵在没有神光的情况下移动。

我尝试在每帧初始化后重置光源位置,如下所示:

...    
PostProcessor.godRaysPass.lightSource.position.set(sprite.position.x, sprite.position.y, sprite.position.z)
PostProcessor.composer.render(clock.getDelta());

...    
godRaysPass.lightSource = sprite
PostProcessor.composer.render(clock.getDelta());

但是没有任何效果,通过查看 GodRays 类,我不确定是否可以在不先修改类的情况下更新光源位置,还是我遗漏了什么?

【问题讨论】:

    标签: three.js post-processing


    【解决方案1】:

    好吧,我做了一些挖掘并得出了这个结论:

    移动源光不会造成任何问题,当您更改精灵位置时,神光确实会跟随精灵源。 问题实际上来自于源光在一个旋转组内。 通过从组中移除光源并沿与组相同的轴旋转它,godrays 的行为符合预期。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-24
      • 2017-04-18
      • 2020-07-03
      • 2017-01-06
      • 2016-12-27
      • 1970-01-01
      • 2021-05-07
      相关资源
      最近更新 更多