ios - 错误 "OBJ file has no faces"

标签 ios swift scenekit arkit

我想用 ARKit 和 SceneKit 放置一个 obj-3D-Model。

这就是我使用的模型:https://free3d.com/3d-model/chest-50529.html

我正在使用以下代码:

private func createChestFromScene(_ position: SCNVector3) -> SCNNode? {
    guard let url = Bundle.main.url(forResource: "art.scnassets/Models/chest", withExtension: "obj") else {
        NSLog("Could not find door scene")
        return nil
    }
    guard let node = SCNReferenceNode(url: url) else { return nil }

    node.load()

    // Position scene
    node.position = position

    return node
}

但是,我收到以下错误:OBJ 文件没有面孔

为什么? - 谢谢。

最佳答案

问题出在obj文件的编码上。特别是,问题是回车差异。

在终端 session 中,运行以下命令: 文件 testcube.obj(其中 test cube 是您的模型名称)

将导致您提到的错误的文件的结果是: testcube.obj:ASCII 文本,带有 CR 行终止符

删除 CR 行终止符后,文件命令的结果是: testcube.obj:ASCII 文本

后者在 XCode 和 Scenekit 以及 Model IO 中正确打开。

我只是简单地复制了一个空的新行并手动用新行替换了 CR,但请参阅以下关于如何使用 mac2unix 命令的答案: https://stackoverflow.com/a/14080318/7426374

关于ios - 错误 "OBJ file has no faces",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48154432/

相关文章:

ios - SceneKit:漫反射 Alpha 与透明/透明

scenekit - 如何编辑已包含在 AR 项目中的 USDZ 网格?

ios - 隐藏在 iPhone 6 键盘下的自动更正

ios - 自定义 iOS 应用启动画面

ios - Swift/SceneKit - 为游戏创建菜单/关卡选择场景的最佳实践

ios - Xcode swift 失败,退出代码为 254

string - 删除字符串中的空格不起作用

iOS 'Web App' 的 localStorage 与 Mobile Safari 不同

ios - 如何用 Observable 包装异步函数

ios - 将 subview 置于所有其他 View 的前面