我有一个简单的室内场景,我从搅拌机中导出。它有一个房间,天花板上有3个球体,里面有相应的光源。每个灯都独立工作,但是当我将它们全部插入场景中时,其中只有一个能够正常工作!有时和2一起工作,但从来不与三个人一起工作。 这里是我的灯代码:灯光问题(使用three.js)
luz_sala1 = new THREE.PointLight(0xFFFFFF,0.5, 50.0);
luz_sala1.position = new THREE.Vector3(16.14323,2.52331,13.93375);
scene.add(luz_sala1);
luz_sala2 = new THREE.PointLight(0xFFFFFF, 0.5, 50.0);
luz_sala2.position = new THREE.Vector3(27.70114,2.52331,-6.20571);
scene.add(luz_sala2);
luz_sala3 = new THREE.PointLight(0xFFFFFF, 0.5, 50.0);
luz_sala3.position = new THREE.Vector3(21.50580,3.10719,-27.82775);
scene.add(luz_sala3);
如果我的距离设定为0,它工作得很好,但我需要这些灯只影响他们在该地区 我也试过有三个。 Spotlight(0xFFFFFF,0.5,50.0,Math.PI,0)但结果相同。 当它们以某种方式分享相同的距离时,它看起来像灯互相否定?
请帮忙,这很混乱。编辑:另外,我有一些聚光灯模型的房间的另一部分(我有他们约4人),但我得到着色器编译错误,当我添加到场景4多聚光灯。在搜索问题后,我看到我需要在渲染器中设置maxLights属性。我将它设置为10,但问题仍然存在,现场不能有超过4个灯。还有什么我可以做的吗?
编辑2:这里有一些图像。作为参考,“luz_sala1”是离电视更近的那个,“luz_sala2”是中间一个,而“luz_sala3”是更远的一个。
这一个是与上面的代码(所有3灯),除了0.8强度。 http://www.mediafire.com/view/?s85qr4rplhort29
这是与2和3开启(评论了 “scene.add(luz_sala1);”): http://www.mediafire.com/view/?83qbbua9f8ee3b4
所以,你可以看到,2点灯很好地协同工作,但是有3个,他们似乎“加起来”到第一个?
你在使用什么操作系统? – mrdoob
我尝试了两台机器,一台使用Windows 7与ATI HD5850,另一台使用Windows XP(无法重新装载卡),两者都发生同样的事情。我可以尝试上传,但代码非常大。我会很快发布一些图片。 – CoreyTaylor
发布2个图片。同样的事情发生,如果灯是Spotlights而不是PointLights。 – CoreyTaylor