2016-02-12 98 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有關? –