- 我过去做过一些 3D 图形。当您移动或旋转场景套件 Sprite 时,它会自动更新其平移矩阵,还是您必须自己制作?
- “position”和“eulerAngles”这两个属性都是……绝对的。
- 例如,如果我在 Sprite 套件中并将平移设置为 (1, 0),则它将位于相对于原点的那个点。
- 如果我将 z 旋转设置为 90,它将旋转 90 度。
- 如果我增加翻译(用+=)x,它将开始排成一行。
- zRotation 也一样,如果增加它就会旋转。在场景工具包中,如果我对平移和欧拉角值执行类似的操作,它们会执行相同的操作吗?
- 另外,加速度计到底认为它测量的是什么,比如某个时期内的运动量?所以基本上它是设备所在的两个同时点之间的增量。
是的,这个问题确实很广泛,但是最好将它们放在这里,然后分散在三个小帖子中。
最佳答案
Doe,让我看看是否可以帮忙
翻译矩阵?它有一个包含平移、缩放和旋转的变换矩阵,是的,当您更改这三个矩阵之一时,它会自动更新,反之亦然。
如果我理解得好的话,是的,就像在 SpriteKit 中一样。它们与其父坐标相关。位置 (1,0,0) 意味着节点(其中心,除非您更改其枢轴(spriteKit 中的 anchor ))将位于其父级 X 轴与其父级原点的距离 1 处)。 对于旋转也是如此,如果 NodeA 在 X 轴上旋转 30 度,并且您在 NodeA 中添加一个在 X 处旋转 20 度的 NodeB,则 NodeA 在 X 处视觉上会旋转 50 度。
里>加速度计测量在特定时刻在设备的三个轴上给予设备的加速力。它的单位不是[m^2/s],而是[重力/s](大约为[10m^2/s])。一个重要的细节是该测量还包括重力加速度。 因此,如果您尝试在设备垂直于地面的情况下测量加速度,您会期望得到 (0, 0, -1)(如果倒置则为 0,0,1)。 将设备平放在地上,其值为 (0, 1 或-1, 0)(取决于屏幕是面向地面还是面向天花板)
对于每个刻度(加速度计的更新速率),它都会计算当时施加给设备的加速度是多少。这不是增量本身,但如果您存储这些值,则可以轻松计算它。
关于ios - 有关场景套件翻译如何工作和加速度计的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33272670/