three.js聚光灯方向(定向)问题

8

好的,这里是问题所在,

实际上我试图实现的是在基本的three.js示例中,在某些地方放置一些聚光灯。

以下是我尝试设置聚光灯目标位置的方法:

var light = new THREE.SpotLight(0xFFFFFF);
light.position.set(0,130,0);
light.target.position.set(200,-130,400);
scene.add(light);

即使我在控制台中使用console.log目标.位置.(x,y,z)时,聚光灯(光)仍然保持照亮点(0,0,0)的状态。

这是我的完整示例的快速演示。

http://jsfiddle.net/1xfno37y/7/


请查看 http://stackoverflow.com/questions/26727379/three-js-translate-target/26739232#26739232。 - WestLangley
1个回答

12

谢谢,我明白了!但是你能告诉我为什么“light.target.position.set(x,y,z);”不起作用吗?它只是改变光的目标位置,对吧?它应该可以起作用... - Julo0sS
你为什么认为light.target.position.set(x,y,z);没有起作用?你看到更新后的fiddle了吗? - Falk Thiele
是的,它正在工作,我只是想说如果没有“将目标添加到场景”它就不会起作用。但是,光源有一个默认目标,对吧?如果它已经在场景中,为什么还需要添加其他东西...(我不知道我是否清楚了...) - Julo0sS
2
因为spotlight.target是光源的属性,但它不是场景图的一部分。因此,target.matrixtarget.matrixWorld没有被更新。我在答案中添加了更新。 - Falk Thiele

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接