我正在使用精灵作为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类,我不确定在不先修改类的情况下甚至可以更新光源位置,还是我错过了什么?
答案 0 :(得分:0)
好吧,我做了一些挖掘,来到了这里:
移动光源不会造成任何问题,当您更改精灵位置时,射线会跟随精灵光源。 问题实际上来自于光源位于旋转组中的事实。 通过将光源从该组中移出并沿与该组相同的轴旋转,使godray表现出预期的效果。