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

时间:2019-02-03 21:09:18

标签: swift scenekit arkit scnscene arscnview

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

SCN editor window showing a sphere Readout of the sphere position 0.074 0.391 0.392

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

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

1 个答案:

答案 0 :(得分:2)

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