我有一个.dae文件,想在SceneKit中使用该模型。问题是.dae文件中有不同的场景图:
在我的ViewController.swift中,我有这段代码:
let scene = SCNScene(named: "art.scnassets/Edward_Kenway.dae")!
self.baumNode = scene.rootNode.childNode(withName: "???", recursively: true)
我必须在childNode withName中使用什么?如果我选择第一个场景图(EdwardKenwayNecklace)并在我的代码中放入Geometry(EdwardKenwayNecklaceMesh)的名称,应用程序崩溃。
答案 0 :(得分:0)
您可以遍历场景的子节点,然后将它们全部添加到您创建的新节点中。
这样的事情可能有用,假设这就是你要找的东西。
func loadModel() {
let virtualObjectScene = SCNScene(named: path)
let wrapperNode = SCNNode()
for child: SCNNode in virtualObjectScene?.rootNode?.childNodes {
wrapperNode.addChildNode(child)
}
addChildNode(wrapperNode)
}
其中path是场景的名称。 在初始化SCNNode类型的对象,然后在该对象上调用loadModel之后运行此函数。