Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DeviceOrientationControl.js-校准至理想启动中心_Javascript_Three.js - Fatal编程技术网

Javascript DeviceOrientationControl.js-校准至理想启动中心

Javascript DeviceOrientationControl.js-校准至理想启动中心,javascript,three.js,Javascript,Three.js,我使用一个等矩形视频作为球体的纹理。您可以在环境中使用鼠标平移,但在移动设备上,我希望使用以下解决方案: 它工作得很好,但是,我不知道如何“校准”或“定向”一开始到一个理想的中心。由于视频以视频死点处的徽标开始,用户必须移动设备才能找到徽标所在的位置。在开始时,我想确定球体或相机的方向,以便用户看到的“中心”是理想的开始中心。我想这是绕Y轴的初始校准 很抱歉,我对使用的术语不太熟悉。请让我知道,如果我可以帮助澄清。我很肯定我的理解存在根本性的差距 我在抓取初始alpha时取得了一些成功,并在向上

我使用一个等矩形视频作为球体的纹理。您可以在环境中使用鼠标平移,但在移动设备上,我希望使用以下解决方案:

它工作得很好,但是,我不知道如何“校准”或“定向”一开始到一个理想的中心。由于视频以视频死点处的徽标开始,用户必须移动设备才能找到徽标所在的位置。在开始时,我想确定球体或相机的方向,以便用户看到的“中心”是理想的开始中心。我想这是绕Y轴的初始校准

很抱歉,我对使用的术语不太熟悉。请让我知道,如果我可以帮助澄清。我很肯定我的理解存在根本性的差距

我在抓取初始alpha时取得了一些成功,并在向上移动时将其用作偏移量,但方向变化会对此产生负面影响

提前感谢您的帮助

编辑:这是一张粗糙的图纸。2015年3月14日更新


根据@WestLangley的评论,我可以旋转网格。这将很好地工作,但我需要能够基于初始偏移旋转网格,以确保球体在开始时最初旋转到“相同”点。

您正在使用
DeviceOrientationControl
,并查看球体网格内表面上的纹理

如果要对球体上的纹理应用初始旋转,可以使用以下图案:

mesh.material.map.wrapS = mesh.material.map.wrapT = THREE.RepeatWrapping;
mesh.material.map.offset.set( 0.25, 0 ); // quarter-turn
或者,在您的情况下,可以旋转球体,而不是:

mesh.rotation.set( 0, Math.PI / 2, 0 );

three.js r.70

谢谢你@WestLangley。我正在努力解决的是如何将网格定向到一个自然中心,从而使网格旋转到相同的起始位置,而不管用户最初看的是哪里。我想我会将其描述为初始网格旋转偏移。我正在用一幅粗糙的图画编辑原始问题。你试过我的建议吗?是的,我试过后者。不幸的是,尽管这会旋转网格,但问题仍然存在,因为网格始终以相同的方式定向(即使使用初始的固定旋转偏移)。基本上,网格应该在开始时旋转到偏移,而不管用户最初开始查看时面对的是什么位置。我已经更新了我的:)我正在努力解决的是如何制定动态旋转偏移。在我的iPhone上,我使用我建议的任何一种方法都可以获得你想要的行为。我可能对这应该如何工作有误解。网格应根据用户最初看起来的位置旋转。这可能是北、西等。根据我的理解,网格只是以固定偏移旋转。例如,如果有一个标识在向北看时总是显示,那么现在我可能只看到这个标识在向西看。网格未校准到用户最初开始查看的位置。