角落里的聚光灯Three.js

时间:2017-02-11 21:56:29

标签: three.js

我正在尝试使用PointerLockControls和聚光灯作为手电筒连接并定位到相机,但我得到“不需要的结果”或者我还没有找到“工作考试”,其中聚光灯将其光束指向面对角落时,角落不在两侧。

可以通过一个直射方向的聚光灯来实现,还是必须从两侧操纵两个不同的灯光以使光线在角落的中心或类似的东西?

Illustrative image of current behaviour and wanted result

使用Point SpotLight in same direction as camera three.js (Flashlight)

中描述的手电筒示例
function user_box() {
    var group = new THREE.Group();
    group.position.y = 0.001 - 10;
    controls.getObject().add( group );

    bigball = new THREE.Mesh( new THREE.SphereGeometry( 0.3, 16, 16 ), new THREE.MeshBasicMaterial( { color: 0xff0040 } ) );
    group.add(bigball);
    bigball.position.set(0, 10, -5);

    flashlight = new THREE.SpotLight(0xffffff,4,40);
    group.add(flashlight);
    flashlight.position.set(0,10,0);
    flashlight.target = bigball;
}  

按建议http://codepen.io/BringerOfTheDawn/pen/LxMbex

添加了演示

1 个答案:

答案 0 :(得分:0)

您的聚光灯具有广角和短距离。减小角度并增加范围。还要试验其他参数,以便了解它们的含义。

flashlight = new THREE.SpotLight( 0xffffff, 1, 1000, Math.PI / 8, 1 )

three.js r.84