В конвертере OBJ-> JSON, который я написал для игрового движка KickJS, каждый материал имеет свой собственный диапазон индексов.
Это означает простую модель OBJ, такую как
mtllib plane.mtl
o Plane
v 1.000000 0.000000 -1.000000
v 1.000000 0.000000 1.000000
v -1.000000 0.000000 1.000000
v -1.000000 0.000000 -1.000000
usemtl Material
s 1
f 2 3 4
usemtl Material.001
f 1 2 4
Будет переведено в это (с двумя индексами; один для каждого материала):
[
{
"vertex": [1,0,1,-1,0,1,-1,0,-1,1,0,-1],
"name": "Plane mesh",
"normal": [0,-1,0,0,-1,0,0,-1,0,0,0,0],
"indices0": [0,1,2],
"indices1": [3,0,2]
}
]
Используйте онлайн-просмотрщик моделей для преобразования:
http://www.kickjs.org/example/model_viewer/model_viewer.html