unity3d - 如何导入 3D 场景(.obj 文件和 .mtl 文件)

标签 unity3d import fbx

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

该模型附带:

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

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

    更新 [8/25/2015]
  • 我编辑了我所有的 .mtl 文件并删除了路径,所以它只是图像文件名(即 map_Ka Arch 53-wood 14.jpg )。
  • 我将所有 .jpg.tga 文件复制到同一目录中的“Textures”文件夹中。
  • 我使用 FBX 转换器将 .obj 文件转换为 .fbx
  • .fbx 导入 Unity3D。

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

    更新 [8/25/2015] #2

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

    更新 [8/27/2015]

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

    enter image description here

    enter image description here

    最佳答案

  • 使用 fbx(将 obj 转换为 fbx,obj 不起作用)
  • 导入 fbx 作为 Assets
  • 导入纹理图像文件作为 Assets
    (图片命名:modelname_Texture_0.jpg modelname_Texture_1.jpg 等,fbx 名称:modelname.fbx)
  • 从收藏夹中选择模型 -> 所有模型
    在 Material 下的检查员选项卡中
  • 选择进口 Material >
    Material 命名
  • 选择型号名称+型号的 Material
    Material 搜索
  • 选择本地 Material 的文件夹
  • 点击申请
    完成
  • 关于unity3d - 如何导入 3D 场景(.obj 文件和 .mtl 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32211612/

    相关文章:

    c# - Unity 中的动态网格计算未正确索引三角形

    gradle - 运行任务时Gradle不会导入groovy类

    linux - 如何开始使用 fbx-conv? "Command not found"问题

    Python 和循环导入再次

    python - 使用 Google App Engine 时出现导入错误

    visual-c++ - Fbx SDK 上轴转换

    animation - Three.js 克隆 FBX 动画

    unity3d - 使用 unity Visual Studio 编写统一着色器

    c# - 从文件夹中获取预制件然后转换为列表<GameObject>

    c# - 如何从 URL 流式传输/下载和播放音频?