将相机移到两侧并旋转它[Autodesk锻造查看器]

时间:2017-03-02 08:45:30

标签: javascript camera autodesk autodesk-forge autodesk-viewer

我正在尝试将相机向左,向右,向后和向前移动并向左和向右旋转。

这是我尝试轮换的内容:

function onRotateLeftButtonClicked(event) {
    event.preventDefault();
    var target = viewer.navigation.getTarget();
    var q = new THREE.Quaternion();
    q.setFromAxisAngle(new THREE.Vector3(0, 0, 1), 0.1);

    target.applyQuaternion(q);
    viewer.navigation.setTarget(target);
    orientUp();
}

向左移动:

function onLeftButtonClicked(event) {
    event.preventDefault();
    _camera.translateX(-1);
    orientUp();
}

FOWARD:

function onForwardButtonClicked(event) {
    event.preventDefault();
    _camera.translateZ(-1);
    orientUp();
}

但这仅在某些情况下有效,而其他时候旋转完全混乱,左右旋转沿z轴向前和向后将摄像机沿z轴翻转180度。

那你怎么这样控制相机呢?

PS:我是在第一人称视角中这样做的。

注意相反的方向显然是对称的。 _cameraviewer.getCamera()

1 个答案:

答案 0 :(得分:0)

它看起来在你对相机的每个操作中,都没有调用navigation.setView?在另一个线程中,还讨论了相机操作: Controlling camera in Forge viewer

在线索中,我们的同事Cyrille提到了the sample he produced,其中移动相机适用于VR。你可以在以下网址找到相关的代码: https://github.com/cyrillef/google-cardboard-vr/blob/2015c7e9c653422d1c466ff129dc1d503f8218c0/www/js/VRTool.js

我还提到了我制作的一个小样本,其中manipulated the camera by mobile。相关代码 https://github.com/xiaodongliang/Forge-Viewer-Mobile-Sensor/blob/master/www/main-js/MobileGyro.js

你能检查一下这些对你的问题有所帮助吗?如果它不起作用,您能提供代码项目的一小部分样本吗?如果有任何私人数据,您可以发送电子邮件至forge.help@autodesk.com与我们联系。