Unity3d 我如何看待物理世界和虚拟世界中的旋转?

Unity3d 我如何看待物理世界和虚拟世界中的旋转?,unity3d,rotation,coordinates,quaternions,imu,Unity3d,Rotation,Coordinates,Quaternions,Imu,我有两个IMU(旋转装置),我试着把它们固定在手指上,然后做一个手套。 我感到困惑,因为我没有一个好的方式来思考物理和虚拟世界中的旋转 现在,我的想法是,在物理世界中,有一个世界坐标(XYZ)。IMU的旋转四元数可能就是基于此。 我还认为每个IMU之间的物理世界坐标稍有不同(因为它们指向同一方向时给出的四元数值稍有不同)。 在虚拟世界中,每个IMU都有另一个虚拟世界坐标系 我很困惑,也许它只是一个坐标系,不能作为世界或虚拟分开?我不知道该如何思考这一切,这让我很难提出问题 请告诉我我需要理解哪些

我有两个IMU(旋转装置),我试着把它们固定在手指上,然后做一个手套。 我感到困惑,因为我没有一个好的方式来思考物理和虚拟世界中的旋转

现在,我的想法是,在物理世界中,有一个世界坐标(XYZ)。IMU的旋转四元数可能就是基于此。 我还认为每个IMU之间的物理世界坐标稍有不同(因为它们指向同一方向时给出的四元数值稍有不同)。 在虚拟世界中,每个IMU都有另一个虚拟世界坐标系

我很困惑,也许它只是一个坐标系,不能作为世界或虚拟分开?我不知道该如何思考这一切,这让我很难提出问题

请告诉我我需要理解哪些概念/术语才能理解 获得关于如何在物理和物理世界中思考旋转的直觉 虚拟世界


动机是什么?我正在尝试校准手套(每个手指有一个IMU,手掌有一个IMU),以便在Unity场景中显示正确的手模型。但是我很难理解它。

了解Unity如何处理对象旋转的主要概念是,每个元素都有一个世界旋转和一个局部旋转

局部旋转是对象相对于其父对象的旋转,而世界旋转是相对于场景根对象的旋转

  • 局部旋转:
  • 世界轮换:
这些变量存储为四元数,但如果要有效地使用它们,可能需要使用Vector3值。这就是eulerAngles的作用:


四元数的欧拉角实际上是您在文章中提到的旋转的XYZ值。

请记住,所有变换(平移、旋转)都是从一个坐标系到另一个坐标系(CF)的变换。所以您需要为每个转换定义“from”和“into”CF。通常情况下,当物理(世界)CS与虚拟CF一致时