2017-08-22 14 views
0

私はすべてのSCNNodeを軸の周りに回転させたいと思っていました(SCNVector3Zeroは中央にあります)。しかし、私がこれをするとき:SceneKitは回転しますか(: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)ですが、 は方向または軸を指定しません。一例として、

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

おかげを使用し、z軸を中心に回転させます!私は軸の周りの意味を誤解していると思う。ノード位置を中心にすべてのノードを回転させる方法はありますか(位置SCNVector3Zeroで述べています)? –

+0

@LimThyeChean:これは役に立ちます:https://developer.apple.com/documentation/scenekit/scnnode/1408044-pivot:*ノードの回転軸を移動します。たとえば、トランスフォームトランスフォームを使用すると、ノードをその中心の周りを回転するのではなく、遠方の点を中心に回転させることができます。 –

関連する問題