[英]Move camera to sides and rotate it [Autodesk forge 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:我是在第一人称视角下进行的。
注意相反的方向显然是对称的。 _camera
是viewer.getCamera()
。
它看起来在您对相机的每个操纵中,没有调用navigation.setView吗? 在另一个线程中,还将讨论摄影机操作: 在Forge Viewer中控制摄影机
在主题中,我们的同事Cyrille提到了他制作的样本 ,其中手机摄像头非常适合VR。 您可以在以下位置找到相关代码: https : //github.com/cyrillef/google-cardboard-vr/blob/2015c7e9c653422d1c466ff129dc1d503f8218c0/www/js/VRTool.js
我还提到了我制作的一个小样本,我通过手机来操纵相机 。 相关代码https://github.com/xiaodongliang/Forge-Viewer-Mobile-Sensor/blob/master/www/main-js/MobileGyro.js
您能否检查一下是否对您的问题有所帮助? 如果不起作用,您能否提供代码项目的小样本? 如果有任何私人数据,可以通过发送电子邮件至forge.help@autodesk.com与我们联系。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.