SceneKit SceneKitRotation中的节点旋转

我刚刚跳入iOS的场景工具包第一次。 我想要做的是导入一个.dae文件,并在代码中旋转对象。 发生的事情是,当我导入我的文件时,我发现它的方向是我期望的。 Imgur

这很好,现在我想旋转它,以便较长的一端水平。 在我的坐标系中,应该围绕Z轴旋转90度。 这样做在xcode的graphics部分显示了这一点。 旋转后

当我开始在代码中操作时,问题就出现了。 如果我在graphics界面中撤消旋转,并尝试在代码中执行它,我会得到意想不到的行为。

如果我从没有更改代码开始,模拟器就会显示出来 Imgur

如果我用此代码围绕Z轴执行代码旋转

// create a new scene SCNScene *scene = [SCNScene sceneNamed:@"art.scnassets/board.dae"]; SCNNode *board = [scene.rootNode childNodeWithName:@"board" recursively:NO]; board.rotation = SCNVector4Make(0, 0, 1, M_PI/2); 

我没有看到模拟器中的预期行为,我明白了 Imgur 其中没有显示太多的细节,但是电路板已经绕着垂直轴旋转了,我认为这是Y轴。 这导致我尝试围绕Y轴旋转踢和咧嘴笑。 这是这个代码。

 // create a new scene SCNScene *scene = [SCNScene sceneNamed:@"art.scnassets/board.dae"]; SCNNode *board = [scene.rootNode childNodeWithName:@"board" recursively:NO]; board.rotation = SCNVector4Make(0, 1, 0, M_PI/2); 

这产生以下,这是我想要的。 Imgur

现在对于真正的问题,为什么我必须在代码中围绕不同的轴旋转? 在这种情况下,我能够使其工作,但在像我的相机,我不能。 我认为一旦某些事情发生了,我一定会有某种协调性的转变。

提前致谢。