2017-08-22 70 views
0

我希望所有的SCNNodes圍繞一個軸旋轉(在中心說SCNVector3Zero)。但是當我這樣做:SceneKit是否旋轉(by:around:duration :)是否有效?

for node in nodes { 
    node.runAction(SCNAction.rotate(by: 3.14, around: SCNVector3Zero, duration: 0.5)) 
} 

什麼都沒有移動。更改爲SCNAction.move而不是旋轉工作正常。任何想法?

我在ARKit測試。

回答

3

SCNVector3Zero是零長度矢量(0, 0, 0),它不指定方向或軸的 。

舉個例子,以繞Z軸,使用

SCNAction.rotate(by: .pi, around: SCNVector3(0, 0, 1), duration: 0.5) 
+0

謝謝!我想我誤解了繞軸的意思。有沒有辦法在節點位置周圍旋轉所有節點(在位置SCNVector3Zero中說)? –

+0

@LimThyeChean:這可能有所幫助:https://developer.apple.com/documentation/scenekit/scnnode/1408044-pivot:*移動節點的旋轉軸。例如,通過轉換轉換,您可以使節點圍繞遠離中心的點旋轉,而不是圍繞其中心旋轉...... * –