如何在iOS SceneKit中使用具有不同场景图的DAE文件

时间:2017-08-28 06:52:44

标签: ios xcode scenekit arkit

我有一个.dae文件,想在SceneKit中使用该模型。问题是.dae文件中有不同的场景图: enter image description here

在我的ViewController.swift中,我有这段代码:

let scene = SCNScene(named: "art.scnassets/Edward_Kenway.dae")!
self.baumNode = scene.rootNode.childNode(withName: "???", recursively: true)

我必须在childNode withName中使用什么?如果我选择第一个场景图(EdwardKenwayNecklace)并在我的代码中放入Geometry(EdwardKenwayNecklaceMesh)的名称,应用程序崩溃。

1 个答案:

答案 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之后运行此函数。