我正在嘗試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