2015-10-21 71 views
0

在我的three.js場景中,我可以添加和編輯對象。 我最近添加了一個「旋轉相機」複選框,它非常棒。 但問題是附加到對象的transformControls似乎旋轉方式不同:當我停止旋轉時,控件與對象相比發生位移。 這裏是我的功能:Three.js - Camera rotation&TransformControls

function optionCameraRotation() { 
     "use strict"; 
     return { 
      ROTATION_Y_AXIS : false 
     }; 
    } 
    var rotationOption = optionCameraRotation(); 

我GUI.DAT按鈕:

guiCamera.add(rotationOption, 'ROTATION_Y_AXIS').name('Rotation Active'); 

我的動畫()函數:

function animate() { 
    requestAnimationFrame(animate); 
    THREE.AnimationHandler.update(0.05); 
    if (rotationOption.ROTATION_Y_AXIS) { 
     scene.rotation.y = (scene.rotation.y + 0.005 * 4) % (Math.PI * 2); 
    } 
    renderer.render(scene, camera); 
    update(); 
} 

哪裏出了問題所在?

+0

'scene.rotation'不是'camera.rotation' – mlkn

+0

是的,我知道,但如果我更換通過'camera.rotation'它不會進行旋轉 – sRcBh

回答

0

我必須糾正我,如果我的生命的聲明()函數是這樣的:

if (rotationOption.ROTATION_Y_AXIS) { 
    var timer = Date.now() * 0.0001; 

    camera.position.x = Math.cos(timer) * 200; 
    camera.position.z = Math.sin(timer) * 200; 
    camera.lookAt(scene.position); 

    renderer.render(scene, camera); 
}