如何在 scenekit 中使用 3d 模型?
how to use 3d models in scenekit?
所以我开始学习 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(代码=EXC_I386_INVOP,子代码=0x0)
并且:致命错误:在展开可选值时意外发现 nil (lldb)
对不起,这很难解释,但如果有人明白我说的,请告诉我如何将 3d 模型导入 scenekit,我还没有找到任何说明如何进行自定义 3d 的教程模型到 scenekit
如果上面的最后一行代码产生了错误,这意味着您的 scn
文件不包含名称为 "ship" 的节点。如果您需要在 DAE 文件中查找节点名称,请在编辑器 window 中打开 .dae 文件,然后单击左下方的小边栏图标。您可以在此 window.
中获取名称、重命名和重新排列层次结构
这里有一张图片和更多的解释:
所以我开始学习 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(代码=EXC_I386_INVOP,子代码=0x0) 并且:致命错误:在展开可选值时意外发现 nil (lldb)
对不起,这很难解释,但如果有人明白我说的,请告诉我如何将 3d 模型导入 scenekit,我还没有找到任何说明如何进行自定义 3d 的教程模型到 scenekit
如果上面的最后一行代码产生了错误,这意味着您的 scn
文件不包含名称为 "ship" 的节点。如果您需要在 DAE 文件中查找节点名称,请在编辑器 window 中打开 .dae 文件,然后单击左下方的小边栏图标。您可以在此 window.
这里有一张图片和更多的解释: