我正在做一个简单的概念验证。这涉及将简单的纹理模型从Blender导出到.obj模型文件,.mtl材质文件和一些.jpg纹理图像。我的模型是一个单独的平面,顶部有草纹。
我遇到的问题是草纹理没有加载。我收到控制台消息,JS代码看起来实际上正在加载图像文件,但它没有显示出来。这架飞机是绿色的,我不明白,因为我没有在任何地方定义颜色。我不确定这是否是渲染问题。
我看了一下ThreeJS提供的示例,但它们与我从blender获得的文件略有不同。 obj loader示例不包含任何.mtl文件。 obj + mtl加载器示例正在为模型使用一些.dds文件,这是我没有的。我快速浏览了一下,它与直接x有关。
我的例子是https://www.raydowe.com/three/
有没有人举例说明如何将.obj,.mtl和.jpg资产加载到ThreeJS?
答案 0 :(得分:1)
因此,您很容易需要纹理坐标来将纹理映射到顶点上。在* .obj中,它表示为“vt”
https://github.com/koolkap/Obj-Mtl-Loader
这是你的工作样本
https://github.com/koolkap/Obj-Mtl-Loader/blob/master/obj/scene.obj
这是* .obj必需的。 随便问一下