我正在尝试Three.js,我试图将SpotLight放置在相机的位置。我用下面的代码(剥离窗口创建):将位置设置为其他对象的位置在THREE.js中不起作用
$(document).ready(function() {
init();
});
function init() {
var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 1, 1000);
camera.position.set(50, 10, 0);
camera.lookAt(new THREE.Vector3(0, 0, 0));
var spotLight = new THREE.SpotLight(0xffffff);
spotLight.position = camera.position;
console.log(camera.position);
console.log(spotLight.position);
}
我得到的输出camera.position为50,10,0(如预期),但spotLight.position是0,1,0 - 甚至是艰难的我只需将其设置为指向相同的值?
但是,如何让它自动跟着相机呢?我必须在渲染循环中调用它吗? – user3820008 2014-12-02 13:40:42
当摄像头位置变化似乎足够了......我是three.js的新手,所以我不知道是否存在自动执行此操作的情况。 – AllForum 2014-12-02 13:48:19
当相机位置改变时:'spotLight.position.copy(camera.position)'。 – WestLangley 2014-12-02 14:58:57