gpt4 book ai didi

ios - 如何以编程方式将 arkit 对象保存为 .dae 格式

转载 作者:可可西里 更新时间:2023-10-31 23:59:49 28 4
gpt4 key购买 nike

我正在开发一款创建用户面部 3D 网格的应用程序。我成功生成了用户面部数据。

我想以编程方式将此数据保存为 .dae 格式,以便我可以导出我的 .dae 文件,在 blender 等 3d 软件中对其进行编辑,然后进一步将其导入我的 iPhone 并在场景 View 中显示该文件。

长话短说,我想以编程方式将数据保存为 .dae 格式。我无法在互联网上找到任何关于此的信息。

如果还有其他方法,请告诉我。

最佳答案

SceneKit 本身不能在 iOS 中读取或写入 DAE 格式。 (SceneKit 仅在 macOS 中读取/写入 DAE。当您在应用程序的捆绑资源中发布 DAE 时,Xcode 会在构建时将其转换为针对 iOS 优化的格式。)

从 iOS 将网格导出为常见文件格式的最佳选择是 Model I/O .该框架支持多种格式,但不支持 DAE。如果您只是想输出由 ARKit 生成的 ARFaceGeometry 网格,您实际上不需要比 OBJ 更复杂的格式,Model I/O 可以做到这一点。

要点:

  1. 创建 MDLMesh来自您的顶点/索引数据。那需要 MDLMeshBuffer s 用于顶点和纹理坐标数据,MDLSubmesh es 为三角形索引数据。或者,如果您已经在 SceneKit 中拥有网格,请将其转换为 MDLMesh(scnGeometry:) .

  2. 创建一个空的 MDLAsset , 和 add您的网格作为子对象添加到它。

  3. Export Assets 到文件。您提供的用于写入 Assets 的 URL 的文件扩展名决定了导出的文件格式,因此如果您想要写入 OBJ 文件,请使用“.obj”文件名。

关于ios - 如何以编程方式将 arkit 对象保存为 .dae 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49626697/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com