如何在SceneKit中更改轴心点的位置

时间:2016-02-27 17:55:23

标签: ios swift scenekit

我正在尝试将轴心点移动到对象的中心,使其围绕其中心旋转。我怎么能这样做?

enter image description here

我在Xcode编辑器中看不到这样做的选项。我尝试以编程方式更改轴心点:

    // create a new scene
    let scene = SCNScene(named: "art.scnassets/Heart.scn")!

    // change pivot point
    scene.rootNode.pivot = SCNMatrix4MakeTranslation(0.5, 0.5, 0.5)

但它也不起作用,对象仍围绕其旧的枢轴点旋转。

1 个答案:

答案 0 :(得分:3)

心脏(可能)不是场景的根节点。它是根节点的子节点(默认摄像头和任何灯光)。所以你可以试试

// (use the Scene Editor to figure out what the node name really is)
if let heart = scene.rootNode.childNodeWithName("HEART", recursively: true) {
    heart.pivot = SCNMatrix4MakeTranslation(0.5, 0.5, 0.5)
}

对于场景编辑器......你确定你操纵的是心脏,而不是整个场景吗?我还看到一些SO和Devforum流量表明(但没有证明)在场景编辑器中设置的某些参数在运行时没有得到尊重。