如何更改 SceneKit 中枢轴点的位置

How do I change location of pivot point in SceneKit

我正在尝试将枢轴点移动到对象的中心,以便它围绕其中心旋转。我该怎么做?

我在 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)

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

心(可能)不是场景的根节点。它是根节点的子节点(默认相机和任何灯光也是如此)。所以你可以试试

// (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 流量表明(但没有证明)在场景编辑器中设置的某些参数在运行时不被接受。