获取在 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
.
我使用 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
.