【发布时间】:2018-12-06 04:16:10
【问题描述】:
现在我可以将我在 ARKit 中创建的内容保存为场景文件,稍后再加载。
sceneView.scene.write(to: path, options: nil, delegate: nil, progressHandler: nil)
但是是否可以将场景保存为 USDZ 文件并重新加载?
【问题讨论】:
标签: swift augmented-reality arkit
现在我可以将我在 ARKit 中创建的内容保存为场景文件,稍后再加载。
sceneView.scene.write(to: path, options: nil, delegate: nil, progressHandler: nil)
但是是否可以将场景保存为 USDZ 文件并重新加载?
【问题讨论】:
标签: swift augmented-reality arkit
首先,阅读下面的SO post很有帮助。
如要将OBJ模型转换为USDZ模型,首先需要导入SceneKit.ModelIO模块。然后使用以下代码:
let objAsset = MDLAsset(url: objFileUrl)
let destinationFileUrl = URL(fileURLWithPath: "path/Scene.usdz")
objAsset.exportToUSDZ(destinationFileUrl: destinationFileUrl)
在 Xcode 10 中:仅 OBJ-to-USDZ、单帧 ABC-to-USDZ 和 USD(x)-to-USDZ可以通过命令行进行转换:
xcrun usdz_converter file.obj file.usdz
在 Xcode 11/12/13 中:您可以使用更多输入格式通过命令行将它们转换为 USDZ:obj、gltf、@ 987654333@, abc, usd(x).
usdzconvert file.gltf
在 Xcode 12 及更高版本中:您可以使用 Reality Composer 软件将任何 RC 场景转换为 usdz 文件格式(右来自用户界面)。此外,还有一个 Reality Converter 独立应用程序。
附言
当然,您还可以使用带有 USD 插件的 Autodesk Maya 2022。
【讨论】: