首页 > 解决方案 > obj在three.js objloader中缺少材料

问题描述

我在 three.js 中使用 objloader,但我正在使用的 .obj 不加载材料。根据控制台,一切都在 three.js 中正常加载。我在同一个文件夹中有三个 obj 文件,它们是 -model.jpg、model.obj 和 model.mtl。

model.obj 具有对 mtl 的引用和要使用的材料,如下所示:

mtllib model.mtl
usemtl $Material_0

model.mtl 有以下内容:

newmtl $Material_0
Kd 0.6 0.6 0.6
Ka 0.05 0.05 0.05
Ks 0.6 0.6 0.6
illum 1

此处不应该有 jpg 的地图线,还是缺少其他东西?

标签: three.js3dblender

解决方案


此处不应该有 jpg 的地图线,还是缺少其他东西?

是的。MTL如果实际指的是纹理(例如漫反射贴图),通常应该有一个附加行,如下例所示。

newmtl $Material_0
Kd 0.6 0.6 0.6
Ka 0.05 0.05 0.05
Ks 0.6 0.6 0.6
illum 1
map_Kd diffuse.jpg

推荐阅读