如何在没有 Vectary 的情况下将 .obj 或 .stl 转换为 .usdz?

How can I convert .obj or .stl to .usdz without Vectary?

A​​pple AR Quick Look 显然只支持 .usdz 个文件。有没有办法将 .obj.stl 转换为 .usdz

我先用谷歌搜索了这个,但最受欢迎的结果是使用一个名为 Vectary 的免费工具,但当我真正尝试使用它时,它并不是免费的。

如果您正在使用 Xcode 12Xcode 11,您可以使用以下命令在 Terminal:

usdzconvert ~/Desktop/file.obj

usdzconvert 命令是一个 Python 脚本,可以将 .obj.gltf.fbx.abc.usda.usdc.usd 资产到 usdz

如果您想在终端中使用此命令,您需要从 HERE.

下载 usdz Tools


如果您使用的是 Xcode 10,请在 Terminal 中键入以下命令:

xcrun usdz_converter ~/Desktop/file.obj ~/Desktop/file.usdz

有关详细信息,请参阅 THIS POST and

借助 iOS 13 & Reality Kit,Apple 发布了不需要 Xcode 的 USDZ 转换器;该转换器是一个基于 Python 的工具。最近几天我一直在用它来转换各种文件 gltf、obj 文件。

下载link:

https://developer.apple.com/download/more/?=USDPython

用法示例:

usdzconvert someobject.obj  

您需要编辑环境变量的路径。

或双击文件夹顶层的文件:

USD.command

启动设置了环境变量的 shell。

并且在Xcode11 内,您可以将SCN 文件导出到USDZ 文件。

WWDC 2019视频非常值得一看;刚刚超过 30 分钟:

https://developer.apple.com/videos/play/wwdc2019/602/

If you're using Xcode, this is the easiest solution

打开 Xcode 中的文件,然后转到“文件”>“导出...”并选择文件类型(.usdz 为 'Universal Scene Description (Mobile)'):

Apple 发布了一款名为 Reality Converter 的工具,该工具的界面允许您将 .obj、.gltf 和 .usd 文件转换为 .usdz

查看:https://developer.apple.com/news/?id=01132020a

您上传到 sketchfab.com 的任何内容都会自动转换为 usdz(和 gltf),Sketchfab 支持 30 多种格式作为输入,包括 obj、fbx、stl、dae、blend...

如果您想在设备上进行转换(不需要 XCode):

import modelIO
import SceneKit
let asset = MDLAsset(url: objURL)
let scene = SCNScene(mdlAsset: asset)
scene.write(to: usdzURL, delegate: nil, progressHandler: nil)

这可能不适用于所有人,因为它没有正确加载材料。就我而言,在 RealityKit 中手动设置材质不是什么大问题。我也不知道它是如何处理动画的。另一位发帖人提到转换为 .usdc 并重命名为 .usdz,但我无法让它工作。 (link here)

其他转换为 .usdz 的方法: https://www.marxentlabs.com/usdz-files/