Ios “错误”;OBJ文件没有面”;
我想用ARKit和SceneKit放置一个obj-3D模型 这就是我使用的模型: 我正在使用以下代码:Ios “错误”;OBJ文件没有面”;,ios,swift,scenekit,arkit,Ios,Swift,Scenekit,Arkit,我想用ARKit和SceneKit放置一个obj-3D模型 这就是我使用的模型: 我正在使用以下代码: private func createChestFromScene(_ position: SCNVector3) -> SCNNode? { guard let url = Bundle.main.url(forResource: "art.scnassets/Models/chest", withExtension: "obj") else { NSLog("
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文件的编码。特别是,问题在于回车差 在终端会话中,运行以下命令: 文件testcube.obj(其中testcube是您的模型名) 导致您提到的错误的文件的结果是: testcube.obj:ASCII文本,带CR行终止符 删除CR行终止符后,file命令的结果为: testcube.obj:ASCII文本 后者在XCode、Scenekit和Model IO中正确打开 我只是复制了一个空的新行,并手动将CR替换为新行,但有关如何使用mac2unix命令,请参见以下答案:
我还没有答案,但我遇到了同样的问题。我在文本编辑器中剥离了obj文件,使其仅包含面和顶点,但仍然会出现相同的错误。而其他人装得很好。我将使用较小的模型进行一些测试,看看是否可以跟踪问题。我注意到,将3D资源作为DAE文件使用效果更好(model io中的obj导入存在其他问题),因此,如果可以转换文件,这将是避免问题的一种简单方法。