Three.js lensflare显示和渲染太慢
我想让lensflare三人一组工作。 当距离相机有一定距离时,它似乎可以正常工作,但如果我将相机移动到距离镜头约50个单位或更短的距离,光斑就会消失!为什么? 更新: 在进一步调查之后,我注意到lensflare在webgl_lensflares.html示例中运行良好。问题是当我尝试将它添加到ThreeJS编辑器时。将其添加到编辑器会导致3个问题:Three.js lensflare显示和渲染太慢,three.js,Three.js,我想让lensflare三人一组工作。 当距离相机有一定距离时,它似乎可以正常工作,但如果我将相机移动到距离镜头约50个单位或更短的距离,光斑就会消失!为什么? 更新: 在进一步调查之后,我注意到lensflare在webgl_lensflares.html示例中运行良好。问题是当我尝试将它添加到ThreeJS编辑器时。将其添加到编辑器会导致3个问题: 渲染变得非常缓慢 当我旋转场景时,镜头水平旋转良好,但当我移动场景时,镜头水平移动方向相反 如果我把lensflare放在(0,0,0),当我离
var textureLoader = new THREE.TextureLoader();
var textureFlare0 = textureLoader.load("textures/lensflare/lensflare0.png");
var flareColor = new THREE.Color(0xffffff);
flareColor.setHSL(0.55, 0.9, 0.5 + 0.5);
var lensFlare = new THREE.LensFlare(textureFlare0, 100, 1.0, THREE.AdditiveBlending, flareColor);
lensFlare.position.set(0, 0, -10);
scene.add(lensFlare);
我找到了我所有3个问题的答案:
什么镜头光斑?您使用的是THREE.js示例吗?还是编写/下载/复制自定义后期处理着色器?请包括您所拥有的、您试图纠正问题的内容以及帮助我们重现您所看到的内容的示例代码等详细信息。我使用的是这三个.js示例:webgl_lensflares.htmlI无法重现您所看到的问题。这就是说,更新镜头光斑的代码在示例中,因此您可以观察相机移动时发生的情况。比较远处的摄影机与您描述的非常近的摄影机的结果。我的猜测是,其中一个结果值正在变成
NaN
,这导致耀斑位置未定义。您可能应该提供一些代码,无法说明错误。要检查的一件事是您为相机设置的“近剪裁平面”的值3.PerspectiveCamera(45,宽/高,11000)代码>,是否有一个高值作为此构造函数的第三个参数?谢谢你们两位的帮助。请参阅上面更新的问题+代码。