【发布时间】:2019-06-25 15:15:13
【问题描述】:
我的 scene.scn 中有一个球体,并希望在 ViewController.swift 中定位该球体。我可以以某种方式为该对象创建一个出口吗?我是否必须创建一个变量并将其设置为等于该对象?
【问题讨论】:
标签: swift xcode scenekit augmented-reality arkit
我的 scene.scn 中有一个球体,并希望在 ViewController.swift 中定位该球体。我可以以某种方式为该对象创建一个出口吗?我是否必须创建一个变量并将其设置为等于该对象?
【问题讨论】:
标签: swift xcode scenekit augmented-reality arkit
您必须创建一个变量并使用childNodeWithNAme 实例函数来查找所需的节点。
let sphereNode = childNode(withName: "sphereNodeName", recursively: true)!
【讨论】:
如果您在 Scene graph 中有手动加载的 3D 对象以及您以编程方式制作的其他对象和灯光,则可以轻松地在 .scn 文件中定位此对象。
要使您的 3D 模型可供虚拟程序化灯光和其他几何图形访问,请使用以下代码:
func childNode(withName name: String, recursively: Bool) -> SCNNode? {
return SCNNode()
}
let geometryNode = childNode(withName: "art.scnassets/your3Dmodel",
recursively: true)!
scene.rootNode.addChildNode(geometryNode)
其中recursively: true 表示:搜索整个子节点子树,或false 仅搜索节点的直接子节点。
【讨论】: