我真的对 obj 和 mtl 文件以及它们之间的关系感到困惑。我搜索并阅读了这些格式,但不太了解。我需要有人简要解释这些格式的逻辑,因为我有一个代码可以通过获取不正确的 obj 和 mtl 文件来呈现对象。(安卓opengles 1.1)
假设我们在 obj 中有这些行
usemtl Material1_
v ...
vt ...
.
.
.
f 1/1/1 2/2/1 3/3/1
f 2/2/1 1/1/1 4/4/1
usemtl _Charcoal_
v ..
vt ..
f 5/5/2 4/6/3 1/7/2 #"problem HERE!"
以及 mtl 文件中的这些行
newmtl Material1_
Ka 0.000000 0.000000 0.000000
Kd 0.533333 0.345098 0.282353
Ks 0.330000 0.330000 0.330000
map_Kd Material1_.jpg
newmtl _Charcoal_
Ka 0.000000 0.000000 0.000000
Kd 0.137255 0.137255 0.137255
Ks 0.330000 0.330000 0.330000
上层材质使用纹理,下层不使用。但两者都在“f”行中使用纹理数据!我应该为我标记的线使用什么纹理?一般来说,我与不参考纹理的材料下面的面有什么关系?同一种材料也有多种用途。这背后的原因是什么?