The*_*ffe 2 objective-c quaternions ios scenekit swift
我是来自2D SpriteKit的SceneKit的新手,并试图弄清楚如何调整相机,使其处于面向世界的顶端.我的位置部分是正确的,但是在旋转时我会卡住.如果我调整X,
Y or
Z axis, nothing seems to happen, however on the W axis the slightest change (even
0.1"更高或更低",似乎将摄像机向未知方向移动.我究竟做错了什么?
cameraNode.position = SCNVector3Make(0, 10, 0)
cameraNode.rotation = SCNVector4Make(0, 0, 0, 0.5)
Run Code Online (Sandbox Code Playgroud)
旋转矢量被分解为 (x_axis, y_axis, z_axis, angle)
设置具有零角度的旋转轴是标识(无有效旋转).使用空旋转轴设置角度实际上不会定义旋转.
至于为什么角度的微小变化会产生巨大的影响,这是因为它们以弧度表示.
围绕x轴旋转90°可以如下实现
node.rotation = SCNVector4Make(1, 0, 0, M_PI_2)
Run Code Online (Sandbox Code Playgroud)
但是SCNNode.eulerAngles
如果你觉得它更容易,你也可以使用欧拉角(见):
node.eulerAngles = SCNVector3Make(M_PI_2, 0, 0)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2106 次 |
最近记录: |