1

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

显示球体的 SCN 编辑器窗口 球体位置读数 0.074 0.391 0.392

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

截屏

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

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

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

截屏

4

1 回答 1

2

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

于 2019-02-03T23:05:47.840 回答