2016-02-12 93 views
1

在场景构建器中,我将一个圆柱节点以(0,90,0)的欧拉角添加到我的场景中。这在我的场景看起来很棒。现在,当我去运行它时,欧拉角在iOS 8上被忽略,但在iOS 9上运行。我尝试在这里寻找使用欧拉角度的工作,但我找不到一个,所以我问是否有人已经找到了解决这个问题的方法。我尝试删除节点并将其添加回现场,但这并不奏效。就像我说的,这是通过场景构建器完成的,所以没有代码可以显示。SceneKit euler角度不适用于iOS 8

回答

2

答案/解决方法是,iOS中必须手动指定代码中的欧拉角,似乎从scn文件中拉出节点不会带来分配给它的欧拉角,而且您不能甚至可以重新指定当前值(让x = node.euler.x; node.euler.x = x),因为它将拉动0. 0

另外,场景构建器需要度数,代码需要弧度。

代码背后:

let node = scene.rootNode.childNodeWithName("nodename") 
node.eulerAngles = SCNVector3Make(Float(M_PI_2),0,0) 
+0

酷BUG!我提交了rdar:// 24634001。我开始使用默认的游戏模板,并在场景编辑器中给出了每个45度的俯仰,滚动和偏航。在iOS 8.4和iOS 9.2上,当我以编程方式查询它们时,所有方向,eulerAngles和旋转全部为0。而在iOS 8.4上,这艘船根本没有旋转过。 –

+0

即使在iOS 9上它来到0? – Knight0fDragon

+0

是的。它在iOS 9上正确呈现,但检索的值是错误的。可能与http://stackoverflow.com/questions/33378583/scnaction-rotatebyangle-rotation-is-inverted-in-el-capitan-or-metal有关? –