我写了这些代码行,但是当我开始时,我将报告以下错误:
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(_:)
)并打印其名称以查看所有可能的节点名称的列表。