获取在 scn 文件中创建的球体的位置

Get the position of a sphere created in scn file

我使用 Xcode 创建了一个 scn 文件(如下所示),其中有两个节点(一个球体和一个平台)。我设置了球体的位置:

我使用了 class 创建了一个节点平台,你可以调整它的大小和移动它:

Screenshot

按下按钮后,它会放置我的 scn 文件而不是那个平台(具有相同的比例、位置和方向)问题是我不知道如何从场景视图中获取球体的位置。

  let sphere = SCNNode()
  self.scene.parent!.enumerateChildNodes { (node, _) in
        if node.name == "sphere" {
            sphere = node
            sphere.position = node.position
            print(sphere.position)
        }
    }

使用该代码,它总是打印我在 scn 文件中设置的位置(如您在上面看到的),但我想要它在视图中的真实位置。

ScreenShot

使用sphere.position,您将获得sphere 相对于其父节点的位置。如果你想要场景中的位置,你必须使用 sphere.worldPosition.