0

所以我开始学习scenekit,我有一些模型我想在iphone模拟器上尝试所以我只是改变了

let scene = SCNScene(named: "art.scassets/ship.scn")!

在scenekit默认文件中工作正常

let scene = SCNScene(named: "art.scassets/battleship.scn")!

这是战舰的 3d 模型,但是当我运行它时,它在一行代码附近给了我一个错误:

let ship = scene.rootNode.childNodeWithName("ship", recursively: true)!

错误说:线程 1:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP,subcode=0x0) 并且:致命错误:在展开可选值 (lldb) 时意外发现 nil

很抱歉,这很难解释,但如果有人理解我所说的话,请告诉我如何将 3d 模型导入到 scenekit,我还没有找到任何教程来展示如何将自定义 3d 模型导入到 scenekit

4

1 回答 1

1

如果您上面的最后一行代码生成错误,则表示您的scn文件不包含名为“ship”的节点。如果您需要在 DAE 文件中查找节点的名称,请在编辑器窗口中打开 .dae 文件,然后单击左下方的小侧边栏图标。您可以在此窗口中获取名称、重命名和重新排列层次结构。

这里有一张图片和更多解释: 在 Scenekit 中变换和旋转

于 2016-07-03T00:01:12.683 回答