2
  1. 过去我做过一点点 3d 图形。当您移动或旋转场景套件精灵时,它会自动更新其平移矩阵,还是您必须自己制作?
  2. “位置”和“eulerAngles”都是......绝对的属性。
    • 例如,如果我在 sprite kit 中并将平移设置为 (1, 0),它将位于相对于原点的那个点。
    • 如果我将 z 旋转设置为 90,它将旋转 90 度。
    • 如果我增加翻译(使用+=)x,它将开始排成一行。
    • 同样对于 zRotation 如果增加它会旋转。在场景工具包中,如果我对平移和欧拉角值做类似的事情,他们会做同样的事情吗?
  3. 加速度计到底认为它的测量值是什么,就像一定时期内的运动量?所以基本上它是设备所在的两个同时点之间的增量。

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

4

1 回答 1

2

Doe,让我看看我能不能帮上忙

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

  2. 如果我理解得很好,是的,就像在 SpriteKit 中一样。它们与其父坐标相关。位置 (1,0,0) 将意味着节点(它的中心,除非你改变它的枢轴(spriteKit 中的anchorPoint))将在距离其父原点的 X 轴距离为 1)。旋转同样适用,如果 NodeA 在 X 轴旋转 30 度,并且您在 NodeA 中添加一个在 X 旋转 20 度的 NodeB,您将看到 NodeA 在 X 轴旋转 50 度。

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

对于每个滴答声(加速度计的更新率),它计算当时施加给设备的加速度是多​​少。这不是增量本身,但如果您存储这些值,它可以很容易地计算出来。

于 2015-10-22T06:20:00.747 回答