【问题标题】:How to import 3D scene (.obj file with .mtl file)如何导入 3D 场景(.obj 文件和 .mtl 文件)
【发布时间】:2015-11-19 14:33:49
【问题描述】:

我买了一个房间的 3D 模型。该模型采用.obj 格式。现在,我正在尝试将此模型导入 Unity3D。

模型附带:

  • 5 x .obj 文件
  • 5 x .mtl 文件
  • n x .jpg 文件
  • n x .tga 文件

.mtl 文件包含我的 PC 上不存在的路径。所以我删除了路径。图像文件 (.jpg & .mtl) 与 .obj 文件位于同一目录中。当我尝试导入.obj 文件时,房间里没有任何材料。 然后我尝试使用 FBX 转换器(选中“嵌入媒体”)将.obj 转换为.fbx,但当我导入它时,3D 房间中没有任何材料(它是不可见的)。我还尝试将所有 .jpg.tga 文件导入 Unity 根 Assets 文件夹下的文件夹,然后导入 .obj.mtl 文件。

我做错了什么? Unity3D 是否使用.mtl 来确定在哪里可以找到所需的图像文件?是否有可能提供一些启示的导入日志?


更新 [2015 年 8 月 25 日]

  1. 我编辑了所有 .mtl 文件并删除了路径,因此它只是图像文件名(即map_Ka Arch 53-wood 14.jpg)。

  2. 我将所有 .jpg.tga 文件复制到同一目录中的 "Textures" 文件夹中。

  3. 我使用 FBX 转换器将 .obj 文件转换为 .fbx

  4. .fbx 导入Unity3D。

它仍然会创建一个没有材质(不可见)的模型,但它在导入时自动创建的材质文件夹中的文件要少得多,并且这些文件映射到我在 Assets 文件夹下导入的图像——也许这是进步?不确定...

更新 [2015 年 8 月 25 日] #2

可能我的模型导入正确,但我没有设置正确?我导入的.fbx 模型下面有许多网格过滤器。每个网格过滤器的反照率确实映射到我在资产文件夹下导入的图像(见屏幕截图),但当我将根模型拖到场景中时它仍然是透明的——为什么?

更新 [2015 年 8 月 27 日]

我无法让 .obj / .mtl 组合工作。我能够让作者转换为 fbx,所以我试图让它也能正常工作(我在转换后的 fbx 文件时遇到了同样的问题)。我此时创建了一个新的 SO 问题 (Imported .fbx model Is Transparent)

【问题讨论】:

  • 后来有进步吗?我现在面临同样的情况。任何帮助都会很棒!
  • 我的模型在太空中遥遥无期......意味着在我缩小后我可以看到它......然后我将它拖回我所有其他对象所在的位置。跨度>
  • 是的,最终我还将所有内容以及同一文件夹中的所有纹理图像都转换为 fbx,并且它工作正常。不过谢谢:>

标签: unity3d import fbx


【解决方案1】:
  • 使用 fbx(将 obj 转换为 fbx,obj 不起作用)
  • 将 fbx 作为资产导入
  • 将纹理图像文件作为资产导入
    (图片命名:modelname_Texture_0.jpg modelname_Texture_1.jpg等,fbx名称:modelname.fbx)
  • 从收藏夹中选择型号 -> 所有型号
    在材料下的检查器选项卡中
  • 选择进口材料> 材质命名
  • 选择型号名称+型号材质
    素材搜索
  • 选择本地材料的文件夹
  • 点击申请
    完成了

【讨论】:

    【解决方案2】:

    最简单(也是正确)的方法是不使用 .mtl 文件。只需引入纹理和模型,然后在 Unity 中创建材质。作为起点,最好使用标准着色器。然后只需将纹理拖动到材质上的正确属性即可。

    如果网格中的 UV 不正确,上述方法可能不起作用,但它很有可能起作用。

    你没有提到纹理的名称,但大概它们会与属性名称大致匹配。 例如,_d_ 可能是 Diffuse/Albedo

    编辑:在上述不是选项的情况下(例如您的复杂对象),您可以通过在模型的导入设置中使用Import MaterialsMaterial NamingMaterial Search 选项获得成功。但是,这假设至少纹理引用与 .obj 一起使用,但情况可能并非如此。

    【讨论】:

    • 我尝试只导入 .obj 文件 --- 它在其下导入了许多对象以及一个包含许多对象的材料文件夹(见屏幕截图)。我不知道该把什么拖到哪里。
    • 在上面进行了编辑,这可能会有所帮助。您提到您尝试了 FBX 转换器。您可以尝试将其放入搅拌机中,然后使用嵌入式媒体从那里导出。
    • 嗯,是的,可能会将 obj 或 fbx 文件导入搅拌机。另请参阅“更新 [2015 年 8 月 25 日]”上方的我的更新
    • 尝试将 obj 和 fbx 文件导入 Blender 中,但均无效 ---- 没有错误或消息 --- 没有实际发生 --- 所以不确定出了什么问题。
    猜你喜欢
    • 2015-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    相关资源
    最近更新 更多