如何将带有 MTL 文件的 OBJ 文件转换为 USDZ 格式

How to convert OBJ with MTL file to USDZ format

所以我有一个 OBJ 3D 模型及其关联的 MTL 文件。 MTL 文件包含所有纹理。但是,当我将文件转换为 USDZ 格式时,纹理不属于该文件。这是我使用的代码。

xcrun usdz_converter /Users/SaiKambampati/Downloads/Models/object.obj /Users/SaiKambampati/Downloads/Models/object.usdz

已创建 USDZ 文件,但未应用属性和纹理。 OBJ模型转USDZ模型时,有没有办法包含MTL文件?

Xcode 的 USDZ 命令行转换器目前无法理解 OBJ 3D 模型的相关 material MTL 文件。

对于 Xcode 10/11/12/13 中的纹理转换 USDZ 模型,您首先需要保存Autodesk Maya 中的 UV 贴图纹理作为 JPEGPNG 文件(对于 OBJABCFBXUSDDAE 模型),然后在 Xcode 中分配此 UV 纹理。或者,您可以使用 Maya 2020 / 2022 USD Plug-in 生成带有纹理的 USDZ 模型。

有关详细信息,请阅读 Pixar USD 文件格式 HERE

为了它的价值,我在 Blender 中为 usdz 创建了一个模型,并使用常规纹理和 UV 贴图为其着色。当我输出 OBJ 时,我也得到了一个 .mtl 文件,但并不需要它。当我将纹理 .png 作为 color_map 参数传递给 usdz_converter 时,纹理显示在 iOS 12.

上的快速查看中

要将 OBJ 转换为 USDZ,我建议使用 GLB 作为中间格式。

您可以使用 Blender 将 OBJ 转换为 GLB,方法是导入 OBJ,然后导出为 GLB。

然后 Spase 在 https://spase.io/converter 有一个 GLB 到 USDZ 的转换器,可以快速进行转换(免费),由 Google USDZ 库提供支持。这是一个拖放工具,转换后可以立即下载USDZ。