Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iOS SceneKit中将DAE文件与不同的场景图一起使用_Ios_Xcode_Scenekit_Arkit - Fatal编程技术网

如何在iOS SceneKit中将DAE文件与不同的场景图一起使用

如何在iOS SceneKit中将DAE文件与不同的场景图一起使用,ios,xcode,scenekit,arkit,Ios,Xcode,Scenekit,Arkit,我有一个.dae文件,想在SceneKit中使用该模型。问题在于.dae文件中有不同的场景图: 在我的ViewController.swift中,我有以下代码: let scene = SCNScene(named: "art.scnassets/Edward_Kenway.dae")! self.baumNode = scene.rootNode.childNode(withName: "???", recursively: true) 我必须在名为的childNode中使用什么?如果选择

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

在我的ViewController.swift中,我有以下代码:

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

我必须在名为的childNode中使用什么?如果选择第一个场景图形(EdwardKenwayNeckrace),并在代码中输入几何体的名称(EdwardKenwayNecklaceMesh),则应用程序将崩溃

可以循环场景的子节点,然后将它们全部添加到已创建的新节点

假设这是您正在寻找的,那么类似的方法可能会起作用

func loadModel() {
    let virtualObjectScene = SCNScene(named: path)
    let wrapperNode = SCNNode()
    for child: SCNNode in virtualObjectScene?.rootNode?.childNodes {
        wrapperNode.addChildNode(child)
    }
    addChildNode(wrapperNode)
}
其中路径是场景的名称。 初始化SCNNode类型的对象,然后在此对象上调用loadModel后,将运行此函数