作者:love28119_529_700 | 来源:互联网 | 2022-12-22 10:08
我正在开发一个可创建3d用户面网格的应用程序。我成功地生成了用户面部数据。
我想以编程方式将数据保存为.dae格式,这样我就可以导出.dae文件,在Blender等3d软件中进行编辑,然后再将其导入到iPhone中并在SceneView中显示该文件。
长话短说,我想以编程方式将数据保存为.dae格式。我在互联网上找不到任何有关此的信息。
如果还有其他方法,请告诉我。
1> rickster..:
SceneKit在iOS中不是本机读取或写入DAE格式的。(SceneKit仅在macOS中读取/写入DAE。当您将DAE放入应用程序的捆绑资源中时,Xcode会在构建时将其转换为iOS优化格式。)
对于出口而言,网格从iOS的通用的文件格式最好的办法是型号I / O。该框架支持多种格式,但不支持DAE。如果您只是想输出ARFaceGeometry
由ARKit生成的网格,则实际上并不需要比OBJ更复杂的格式,而Model I / O可以做到这一点。
要点:
MDLMesh
根据您的顶点/索引数据创建一个。MDLMeshBuffer
顶点和纹理坐标数据需要s,MDLSubmesh
三角形索引数据需要es。或者,如果SceneKit中已经有网格,则使用进行转换MDLMesh(scnGeometry:)
。
创建一个empty MDLAsset
,然后将您的网格添加为子对象。
将资产导出到文件。您提供的用于写入资产的URL的文件名扩展名,以确定导出的文件格式,因此,如果要写入OBJ文件,请使用“ .obj”文件名。