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

2024-01-04

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

该模型附带:

  • 5 x .obj files
  • 5 x .mtl files
  • n x .jpg files
  • n x .tga files

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

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


更新 [2015 年 8 月 25 日]

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

  2. 我复制了我所有的.jpg and .tga文件到“纹理”同一目录下的文件夹。

  3. 我使用 FBX Converter 来转换.obj文件到.fbx.

  4. 进口了.fbx进入Unity3D。

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

更新 [8/25/2015] #2

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

更新 [2015 年 8 月 27 日]

我没能得到.obj / .mtl组合工作。我能够让作者转换为 fbx,所以我也尝试让它工作(与我转换的 fbx 文件遇到的问题相同)。我此时创建了一个新的问题(导入的 .fbx 模型是透明的 https://stackoverflow.com/questions/32259456/imported-fbx-model-is-transparent)


  • 使用fbx(将obj转换为fbx,obj不起作用)
  • 导入 fbx 作为资产
  • 导入纹理图像文件作为资源
    (图像命名:modelname_Texture_0.jpg modelname_Texture_1.jpg等,fbx名称:modelname.fbx)
  • 从收藏夹中选择型号 -> 所有型号
    在材料下的检查员选项卡中
  • 选择进口材料> 材料命名
  • 选择型号名称+型号材质
    材料搜索
  • 选择本地材料的文件夹
  • 单击“应用”
    done
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何导入 3D 场景(.obj 文件和 .mtl 文件) 的相关文章

  • Unity3d 协程在 while 循环后停止

    我有一个加载关卡的单例 LevelManager 等待来自新加载关卡的脚本将 GameObject 分配给 LevelManager 然后对其进行处理 我有以下代码 some GameObject calls the loadLevel c
  • 在下载的同时从 UnityWebRequest 获取数据?

    我有这段代码可以进行 REST 调用 public IEnumerator GetCooroutine string route string finalURL URL route UnityWebRequest www UnityWebR
  • TypeScript / JavaScript - 导入所有类型

    如何从某个文件导入所有类型 假设我有myClass ts and otherClass ts 我想从中导入所有课程otherClass ts 我见过很少的导入语法 import ClassA ClassB ClassC from other
  • 在eclipse中的另一个项目中使用一个项目的包

    如何在定义包的主项目之外使用包的类 例如 假设 people 包中有一个属于 ProjectOne 的 Employee 类 假设另一个具有相同功能的项目 ProjectTwo 需要 Employee 我应该在那里做什么 在 Package
  • Unity3D 播放器在石头上行走

    大家好 我的玩家正在石头上行走并穿过石头 名为 Champ 的玩家有一个 Box Collider 而 Stone 有一个 Mesh Collider 玩家也有刚体 我尝试了我发现的一切 但没有任何帮助我解决我的问题 MovePlayer
  • 为什么宇宙飞船与盒子对撞机相撞后不再回头?

    我希望当发生碰撞时将宇宙飞船转回来 但他们继续前进 开箱即用的对撞机和地形 使克隆船在碰撞时我想返回的脚本 using System using UnityEngine using Random UnityEngine Random usi
  • FindObjectOfType 返回 null

    我遇到的问题是我捡起一个掉落的物品 为枪添加弹药 使用所有方法和变量构建了一个 Gun 类 构建了一个从 Gun 类派生的 Rifle 类 步枪工作完美 没有任何问题 我现在添加一个 拾取 系统 其中 x 数量的敌人会掉落拾取 这是要拾取的
  • 与 firebase 集成的 Unity 可在 Unity 编辑器上运行,但不适用于移动设备

    我在 Unity 2020 3 0 f1 上创建了一个简单的应用程序 集成了 Firebase sdk 7 1 0 我基本上是在对 firebase 进行简单的读写 尽管 apk 构建 100 成功 但它在 Unity 编辑器中运行良好 但
  • 如何使用 .schema 文件在 sqlite3 中创建 DB 文件

    我们的客户向我们提供了一个名为db schema 现在有一个命令可以用来运行这个文件来创建一个 dbsqlite3 中的文件 我可以做到这一点而不必输入中提到的所有查询吗db schema file 请帮忙 谢谢 如果该文件仅包含格式正确的
  • Unity Transform.LookAt 仅在一个轴上

    我一直在开发一款游戏 进展非常顺利 从这里得到了一些帮助 我再次需要它 所以我正在制作一个 2D 自上而下的射击游戏 我需要我的敌人看着玩家 显然敌人会在所有轴上旋转 因此是无敌的 或者看起来很奇怪 那么 如何让它只在Z轴上旋转呢 另外 如
  • Unity - 在生成时获取随机颜色

    我有一个小问题 我想在我的场景中生成四边形 它们都应该有红色或绿色作为材质 但 Random Range 函数只能是 int 我该如何解决它 void SpawningSquadsRnd rndColor 0 Color red rndCo
  • 如何导入 .tsv 文件

    我需要读取一个表 tsvR 中的文件 test lt read table file drug info tsv Error in scan file what nmax sep dec quote skip nlines na strin
  • 无法添加脚本,因为它是编辑器脚本错误

    如何在 Unity 中解决此问题 无法添加脚本 因为它是编辑器脚本 我想将此脚本从后处理中放入 Unity 但由于这个问题我不能 Unity 有特殊的文件夹名称 其中之一是 编辑 Editor 文件夹用于放置在编辑器中执行的编辑器脚本 它不
  • 无法使用 MV3 从 Firefox 下的通用脚本导出到 background.js

    我试图在服务工作者 background js 和内容脚本之间重用一些功能 https stackoverflow com questions 73421706 how to reuse a javascript function betw
  • CodedUI 测试不从 CSV 输入文件读取数据

    我在使用编码 UI 测试方法映射 CSV 文件时遇到困难 这很可能是一个愚蠢的问题 但我似乎找不到解决我的问题的方法 至少没有一个有效的方法 我已确保将 CSV 文件的属性设置为始终复制 我还通过在测试方法上方写入以下行来导入 CSV 文件
  • Spyder 未检测到导入的 python 文件中的更改

    我正在使用 Spyder 3 2 4 Python 3 6 Spyder 不会检测导入的 python 文件中的更改 例如 测试2 py def func return 5 测试1 py import test2 a test2 func
  • 如何在jsp代码中导入java库?

    我有以下jsp代码 我想添加 java io 等库 我怎样才能做到这一点
  • 为什么从字典中获取时会得到 Action<> 的克隆?

    我有以下字典 private Dictionary
  • 当我“绘制”线条时,如何将点平均分配到 LineRenderer 的宽度曲线?

    我正在使用线条渲染器创建一个 绘图 应用程序 现在我尝试使用线条渲染器上的宽度曲线启用笔压 问题在于 AnimationCurve 的 时间 值 水平轴 从 0 标准化为 1 因此我不能在每次添加位置时都在其末尾添加一个值 除非有一个我不知
  • Python - 来自 .进口

    我第一次尝试图书馆 我注意到解决图书馆内导入问题的最简单方法是使用如下结构 from import x from some module import y 我觉得这件事有些 糟糕 也许只是因为我不记得经常看到它 尽管公平地说我还没有深入研究

随机推荐