Ios 如何以.dae格式编程保存arkit对象
我正在开发一个应用程序,可以创建用户面部的3d网格。我成功地生成了用户面部的数据 我想通过编程将这些数据保存为.dae格式,这样我就可以导出我的.dae文件,在blender等3d软件中进行编辑,然后进一步将其导入iphone并在sceneview中显示该文件 长话短说,我希望通过编程以.dae格式保存数据。我在网上找不到关于这件事的任何信息Ios 如何以.dae格式编程保存arkit对象,ios,swift,ios11,arkit,Ios,Swift,Ios11,Arkit,我正在开发一个应用程序,可以创建用户面部的3d网格。我成功地生成了用户面部的数据 我想通过编程将这些数据保存为.dae格式,这样我就可以导出我的.dae文件,在blender等3d软件中进行编辑,然后进一步将其导入iphone并在sceneview中显示该文件 长话短说,我希望通过编程以.dae格式保存数据。我在网上找不到关于这件事的任何信息 如果有其他方法,请告诉我。SceneKit在iOS中不以本机方式读取或写入DAE格式。(SceneKit仅在macOS中读取/写入DAE。当您在应用程序的
如果有其他方法,请告诉我。SceneKit在iOS中不以本机方式读取或写入DAE格式。(SceneKit仅在macOS中读取/写入DAE。当您在应用程序的捆绑资源中提供DAE时,Xcode会在构建时将其转换为iOS优化格式。) 从iOS将网格导出为通用文件格式的最佳选择是。该框架支持多种格式,但不支持DAE。如果您只是想输出ARKit生成的
ARFaceGeometry
网格,那么您实际上不需要比OBJ更复杂的格式,而模型I/O就是这样做的
要点:
您可以尝试以下代码:
let scene2 = sceneView.scene
let documentsPath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let timeInterval = Date().timeIntervalSince1970 * 1000
let filename = String(format: "test_%d.dae", timeInterval)
let exportUrl = documentsPath.appendingPathComponent(filename)
scene2.write(to: exportUrl, options: nil, delegate: nil, progressHandler: nil);
谢谢回复,但我想导出网格文件,并在blender等3d软件中进行编辑。你给出的这个方法适合吗?你好,瑞克斯特,我也在尝试这样做;以编程方式将网格导出到Obj中。我在网上找不到任何东西。您是否可以提供一些关于我如何做的更多信息,或者与我共享一些资源?如果使用
MDLMesh(scnGeometry:)
导入标题的方法是import SceneKit.ModelIO
是否有任何方法导出具有实际面大小的ARFaceGeometry??我对此感到困惑,希望得到一些示例代码,我问了一个与此相关的问题:你好,Jagjot,我也想做同样的事情,但在网上找不到任何东西,如果你已经做了,你能帮我吗?嘿,你能告诉我,在导出到文件时我们能保存面部表情吗?之后,使用相同的文件和网格复制相同的表情。?你能告诉我怎么做吗?