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

时间:2018-07-13 01:27:40

标签: scenekit augmented-reality arkit xcode10 usdz

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

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

已创建USDZ文件,但未应用属性和纹理。将OBJ模型转换为USDZ模型时,有什么方法可以包含MTL文件?

4 个答案:

答案 0 :(得分:5)

Vectary 3D设计工具可以将OBJ和其他3D文件(例如GLTF,STL,DAU)转换为USDZ。

  1. 打开Vectary-在线创建免费帐户。它在Chrome浏览器中效果最好。
  2. 上传OBJ文件-只需将其拖放到3D场景中即可。
  3. 在右侧面板中以USDZ格式导出。
  4. 您将收到一封包含USDZ文件的电子邮件。

屏幕截图:Export-In-Engine.png

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:1)

针对USDZ的Xcode命令行转换器目前无法理解MTL 3D模型的关联材料OBJ文件。

要在Xcode 10中对转换后的USDZ模型进行纹理化处理,首先,您需要在Autodesk Maya中将UV映射的纹理另存为JPEGPNG文件(对于OBJABCDAE模型),然后在Xcode中分配此UV纹理。或者,您可以使用Maya的Pixar RenderMan插件来生成包含纹理的USDZ模型。

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

答案 3 :(得分:1)

对于它的价值,我在Blender中创建了一个用于usdz的模型,并使用常规的Texture和UV映射为其着色。当我输出OBJ时,我也有一个.mtl文件,但不需要它。当我将纹理.png作为color_map参数传递给usdz_converter时,纹理显示在iOS 12的“快速查看”中。