Cocoa touch 围绕父级旋转SCNNode';s轴使用动作

Cocoa touch 围绕父级旋转SCNNode';s轴使用动作,cocoa-touch,scenekit,scnnode,Cocoa Touch,Scenekit,Scnnode,我有一堆共享同一个父节点的SCNNode。我可以使用它们围绕自己的轴旋转一组 func handleTap(gestureRecognize: UIGestureRecognizer) { let sceneView = self.view as SCNView let action = SCNAction.rotateByAngle(CGFloat(M_PI_2), aroundAxis: SCNVector3Make(-1, 0, 0), duration: 1) l

我有一堆共享同一个父节点的SCNNode。我可以使用它们围绕自己的轴旋转一组

func handleTap(gestureRecognize: UIGestureRecognizer) {
    let sceneView = self.view as SCNView
    let action = SCNAction.rotateByAngle(CGFloat(M_PI_2), aroundAxis: SCNVector3Make(-1, 0, 0), duration: 1)
    let slice = self.cubes[18...26]

    for node: SCNNode in slice {
        node.runAction(action, completionHandler: { () -> Void in
            println("hmm")
        })
    }

}

但理想情况下,我想做的是绕父轴旋转它们。我可以旋转整个父节点,但旋转的节点比我想要的多得多,我尝试将它们分组到自己的父节点中,但当我将它们添加回以前的父节点时,它们不会保持其新位置。

将所有这些节点分组到父节点的子节点下有意义吗?父节点将具有要单独移动的节点和新“组”节点作为子节点。在“组”节点下,可以找到所有要一起移动的节点。需要旋转的节点组会频繁更改,但是的,我现在的解决方案是将它们分组到一个新节点下,然后旋转该节点。很好。如果您想定期重新租用节点,可以查看
-convertTransform:fromNode:
,以保持它们的世界方向。我希望您能告诉我,当我问哈哈时,我花了一段时间才弄明白