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
Three.js 三次旋转_Three.js_Quaternions_React Three Fiber - Fatal编程技术网

Three.js 三次旋转

Three.js 三次旋转,three.js,quaternions,react-three-fiber,Three.js,Quaternions,React Three Fiber,我正在做一个虚拟现实游戏,在3d旋转中我的头都碎了 在视频1中:我将辅助块设置为组位置和四元数。如果我使用控制器旋转组,我仅通过复制四元数和位置设置的黑色辅助对象的位置就可以了 但是,在视频2中,当我将辅助对象(黑色块)偏移到第一个子对象的本地位置(视频1中位于其上方的位置)时,初始位置是正常的,但当我开始旋转组并尝试同步位置和四元数时,似乎缺少一个偏移 你知道什么是正确的术语吗?我如何在谷歌上搜索并了解更多信息?或者你知道怎么解决这个问题吗 编辑:已成功修复此问题!提出了以下解决方案: 我可

我正在做一个虚拟现实游戏,在3d旋转中我的头都碎了

在视频1中:我将辅助块设置为组位置和四元数。如果我使用控制器旋转组,我仅通过复制四元数和位置设置的黑色辅助对象的位置就可以了

但是,在视频2中,当我将辅助对象(黑色块)偏移到第一个子对象的本地位置(视频1中位于其上方的位置)时,初始位置是正常的,但当我开始旋转组并尝试同步位置和四元数时,似乎缺少一个偏移

你知道什么是正确的术语吗?我如何在谷歌上搜索并了解更多信息?或者你知道怎么解决这个问题吗

编辑:已成功修复此问题!提出了以下解决方案:


我可以将其缩小为以下内容:

您要查找的主题是3D变换层次。这意味着要指定三维对象相对于彼此的变换(平移、旋转和缩放)。这样的系统需要区分不同的坐标空间(如局部空间或世界空间)

可以将辅助对象添加到对象中,使其自动继承所有三维变换。这样,您根本不必费心复制转换


如果出于某些原因不想这样做,则必须在世界空间中提取转换数据。在轮换上下文中,
three.js
提供了此任务。

感谢您的回复!我曾考虑过附加对象,但是使用react three fiber不可能,因为它会将网格移动到其范围之外。我提出了以下建议,甚至把范围缩小到了决赛。