使用ThreeJS加载.obj和.mlt时缺少纹理

时间:2016-03-31 10:15:11

标签: three.js blender 3d-modelling

我正在做一个简单的概念验证。这涉及将简单的纹理模型从Blender导出到.obj模型文件,.mtl材质文件和一些.jpg纹理图像。我的模型是一个单独的平面,顶部有草纹。

我遇到的问题是草纹理没有加载。我收到控制台消息,JS代码看起来实际上正在加载图像文件,但它没有显示出来。这架飞机是绿色的,我不明白,因为我没有在任何地方定义颜色。我不确定这是否是渲染问题。

我看了一下ThreeJS提供的示例,但它们与我从blender获得的文件略有不同。 obj loader示例不包含任何.mtl文件。 obj + mtl加载器示例正在为模型使用一些.dds文件,这是我没有的。我快速浏览了一下,它与直接x有关。

我的例子是https://www.raydowe.com/three/

有没有人举例说明如何将.obj,.mtl和.jpg资产加载到ThreeJS?

1 个答案:

答案 0 :(得分:1)

因此,您很容易需要纹理坐标来将纹理映射到顶点上。在* .obj中,它表示为“vt”

https://github.com/koolkap/Obj-Mtl-Loader

这是你的工作样本

https://github.com/koolkap/Obj-Mtl-Loader/blob/master/obj/scene.obj

这是* .obj必需的。 随便问一下