【问题标题】:Why am I loosing .obj texture when loading the model in aframe?为什么在框架中加载模型时会丢失 .obj 纹理?
【发布时间】:2018-02-16 11:11:27
【问题描述】:

我在 Maya 中创建了一个模型,然后将其导出为 .obj 文件。 Maya 创建了.obj.mtl 文件,但它没有引用.mtl 文件中的纹理图像,所以我在文件末尾手动添加它,如下所示:

map_Kd paht/to/texture_image/texture_image.png

当我将 .obj 模型导入搅拌机进行测试时,它看起来像这样:

How the .obj looks when I open it in Blender

显然是这样的,因为 Blender 在 Solid 模式 中打开它,所以当我更改为 Texture 模式 时,我实际上可以看到我的纹理:

How the .obj looks when I change to Texture mode

当我在 aframe 项目中加载 .obj 时,它看起来与 Solid 模式 中的完全一样(这不是我想要的)。

(我无法发布第三个图片链接,但请相信我,在 aframe 内,它看起来与在搅拌机纯色模式下完全一样,完全是黑色的)

我的尝试

我正在将.obj 模型加载到框架中,就像我加载其他正确加载的模型一样,就像这样:

<a-entity position = '0 0 -5' obj-model = "obj: url(path/to/file/model.obj); mtl: url(path/to/file/model.mtl)"></a-entity>

我什至确保我的 .mtl 文件正确引用了我用作纹理的 .png 图像。

复制步骤

  1. 在 Maya 中创建 3d 模型
  2. 将模型导出为.obj
  3. 手动将 texture_image 引用添加到.mtl 生成的文件中
  4. .obj文件导入Blender并切换到纹理模式以确保纹理加载正常
  5. 在框架页面中加载.obj 文件

观察

我使用的是 Windows 10 PC,在这里我使用的是 Maya 2017 和 Blender 2.78。对于 aframe 项目,我使用的是 macOS Sierra。

【问题讨论】:

  • A-Frame 文档中的troubleshooting section 是我们可以提供的最好的一般建议。如果这没有帮助,我认为您需要在此处提供示例模型。您描述的步骤是正确的。
  • 谢谢你的article 真的很有帮助

标签: blender maya aframe


【解决方案1】:

我偶然发现了两个问题:
1) .mtl 文件中的路径不正确
2) 带有纹理的材质将漫反射 (kd) 颜色设置为黑色,我必须手动更改 0 0 0 -> 1 1 1(在 .mtl 文件中)

您可以看到 .obj + .mtl 故障here


尽管如此,我在使用带有“标准”格式的框架(如 .obj)和他们的 .mtl 时遇到了一些糟糕的体验。 我只能说模型在转换为时几乎可以完美地使用 a-frame:

  • .glTF(khronos 集团有一个非常简单的exporter 用于搅拌机),
  • 和三个.js .JSON(使用clara.io,)。

我在使用 Don McCurdy 的 loaders 时没有遇到任何问题。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-09-28
  • 1970-01-01
  • 2012-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-11
  • 2018-08-26
相关资源
最近更新 更多