Swift SceneKit和加载3D型号



我写了这些代码行,但是当我开始时,我将报告以下错误:

2017-10-02 19:53:38.856088 0200 sceneViewApp [38539:1262873] 致命错误:在解开可选值

时出乎意料地发现了无效

但文件位于显示的文件夹中。

我将3D模型保存为.dae,然后转换为.scn

如何解决问题?谢谢你

class GameViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        let scene = SCNScene(named: "3Dmodels/coffee.scn")!
        _ = scene.rootNode.childNode(withName: "coffee.scn", recursively: true)!
    }
}

由于该行上发生了错误:

_ = scene.rootNode.childNode(withName: "coffee.scn", recursively: true)!

看来没有一个名称为" coffe.scn"的子节点,这意味着 childNode(withName:recursively:)返回 nil,然后将其解开( !)触发致命错误。


没有您正在从事的资产,我真的不能告诉您该节点的名称应该是什么。

我看不到节点名称包含文件扩展名(" .scn")的原因,因此可能是该节点被称为"咖啡"。您可以在XCode中打开资产文件,然后选择要查找的节点,并在节点Inspector中查看其名称。您也可以列举所有子节点(使用enumerateChildNodes(_:))并打印其名称以查看所有可能的节点名称的列表。

相关内容

  • 没有找到相关文章

最新更新