Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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
Unity3d 如何基于不同坐标系的坐标系获取四元数值?_Unity3d_Quaternions_Coordinate Systems - Fatal编程技术网

Unity3d 如何基于不同坐标系的坐标系获取四元数值?

Unity3d 如何基于不同坐标系的坐标系获取四元数值?,unity3d,quaternions,coordinate-systems,Unity3d,Quaternions,Coordinate Systems,我有一个特定坐标系的四元数值,我需要把它映射到Unity的坐标系,它使用左手坐标系。使用x,y,z是Unity坐标系的轴,我想从使用坐标系y,-x,-z生成的四元数值中获取Unity坐标系的四元数,请参见下文 如何基于新的坐标系计算新的四元数值,该坐标系仍然允许对象正确定向,因此在新系统中,什么面朝上仍然是面朝上的 好的,这是我的建议-因为存在旋转和翻转,如果我理解正确,您只需要在unity中呈现从某个应用程序导出的对象,我将执行以下操作: 对于每个需要“修复”的对象,将“变换”设置为90或-9

我有一个特定坐标系的四元数值,我需要把它映射到Unity的坐标系,它使用左手坐标系。使用x,y,z是Unity坐标系的轴,我想从使用坐标系y,-x,-z生成的四元数值中获取Unity坐标系的四元数,请参见下文

如何基于新的坐标系计算新的四元数值,该坐标系仍然允许对象正确定向,因此在新系统中,什么面朝上仍然是面朝上的


好的,这是我的建议-因为存在旋转和翻转,如果我理解正确,您只需要在unity中呈现从某个应用程序导出的对象,我将执行以下操作:


对于每个需要“修复”的对象,将“变换”设置为90或-90,我永远无法确定围绕Z轴旋转的方向和比例1,1,-1。如果您希望能够轻松地应用更多,您可以将这些对象封装在空的GameObject中,每个对象使用裸变换,并将所需的变换应用到这些GameObject。

通过查看值,它看起来像是围绕z轴的简单90度旋转,四元数类应该提供轴角度构造函数,可以用它来做旋转,参数:90-90我不确定角度,0,0,1axis@Rychu我附上了一个截图,以更好地说明。z轴也是倒转的。在这种情况下,问题更大——这是一个旋转和翻转,我认为不可能仅仅表示为一个旋转。