有关场景工具包转换工作原理和加速度计的问题


  1. 我过去做过一点点3D图形。当您移动或旋转场景套件精灵时,它是自动更新其平移矩阵,还是必须自己制作?
  2. ">
  3. 位置"和"欧拉角"都是...绝对。
    • 例如,如果我在精灵套件中并将翻译设置为 (1, 0(,它将在相对于原点的那一点。
    • 如果我将 z 旋转设置为 90,它将旋转 90 度。
    • 如果我增加翻译(带有 +=(x 它会开始排成一行。
    • 对于 zRotate 也是如此,如果递增,它将旋转。在场景套件中,如果我对平移和欧拉角值做类似的事情,他们会做同样的事情吗?
  4. 另外,加速度计究竟认为它的测量是什么,它就像一定时间内的运动量?所以基本上是设备所在的两个同时点之间的增量。

是的,这个问题绝对是广泛的,但是它们放在这里要好得多,然后分散在三个小帖子中。

> Doe,让我看看我是否可以提供帮助

  1. 翻译矩阵?它有一个 TRANSFORM 矩阵,包括平移、缩放和旋转,是的,当您更改这 3 个之一时,它会自动更新,反之亦然。

  2. 如果我理解得很好,是的,就像在雪碧套件中一样。它们与其父坐标相关。位置 (1,0,0( 表示节点(其中心,除非您更改其枢轴(spriteKit 中的锚点((将沿其父节点的 X 轴与其父原点的距离为 1(。这同样适用于旋转,如果 NodeA 在 X 轴上旋转 30 度,并且您在 NodeA 中添加一个在 X 处旋转 20 度的节点 B,则 NodeA 在视觉上在 X 处旋转 50 度。

  3. 加速度计测量设备在设备的三个轴上在特定时刻给予设备的加速力。它的单位不是 [m^2/s],而是 [重力/s](大约是 [10m^2/s](。一个重要的细节是,这个测量也包括重力加速度。因此,如果您尝试在设备垂直于地面的情况下测量加速度,您会期望 (0, 0, -1((或 0,0,1,如果倒置(。将设备放在地上将是(0,1或-1,0((取决于屏幕是面向地面还是天花板(

对于每个刻度(加速度计的更新速率(,它计算当时施加给设备的加速度是多少。这不是增量本身,但如果存储值,可以轻松计算。

最新更新