我使用Xcode创建了一个scn文件(如下所示),其中有两个节点(一个球体和一个平台)。我设置了球体的位置:
我使用了一个创建节点平台的类,您可以调整其大小并移动它:
按下按钮后,它将放置我的scn文件而不是该平台(具有相同的比例,位置和方向),但问题是我不知道如何从场景视图中获取球体的位置。
let sphere = SCNNode()
self.scene.parent!.enumerateChildNodes { (node, _) in
if node.name == "sphere" {
sphere = node
sphere.position = node.position
print(sphere.position)
}
}
使用该代码,它始终会打印我在scn文件中设置的位置(如您在上面看到的),但是我想要它在视图中的真实位置。
答案 0 :(得分:2)
使用sphere.position
,您将获得sphere
相对于其父节点的位置。如果要在场景中定位,则必须使用sphere.worldPosition
。