我正在尝试将.obj文件加载到带有LibGDX的安卓项目中。这些文件没有纹理文件,但包含在.mtl文件中的材料。我正在每晚使用最新的官方文件,并将对象文件呈现为白色。如何让ObjLoader使用.mtl文件?
@Override
public void create() {
objLoader = new ObjLoader();
model = objLoader.loadObj( Gdx.files.internal("data/obj.obj"), true);
}
@Override
public void render() {
Gdx.gl.glClearColor(0, 0, 0, 0);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
batch.begin();
model.render();
batch.end();
}这就是如何调用呈现对象的代码。下面是指向ObjLoader类的链接
我做错了什么?为什么它不加载.mtl文件?据我所理解,它应该加载一个与.obj文件同名的文件夹中的.obj文件。
编辑--我有点搞砸了,在ObjLoader类中放了一些行来记录它是什么,而不是加载什么。它看起来像是在加载mtl文件,并将每个mtl分配给一个实质性实例,而且它看起来也是obj正确地请求这些材料。
我是否需要在OpenGL端启用或进行其他操作,以确保它正确地使用这些材料?
发布于 2013-06-23 01:30:45
ObjLoader,特别是它使用的MtlLoader非常有限。尝试在fbx中使用新的3D api。下面介绍了如何加载模型:http://blog.xoppa.com/loading-models-using-libgdx/。
发布于 2014-12-01 18:23:13
我发现了同样的问题,这就是为什么我都在这里报告的原因:
https://github.com/libgdx/libgdx/issues/2441
并在此对此进行了修正:
https://github.com/libgdx/libgdx/commit/d7e716351d26ddfba19ce9e0b3bdfb449dbc81b7
支持几乎所有的MTL参数。请注意,这是一个WIP,并且(希望)一旦完成,就会进入主干。
https://stackoverflow.com/questions/16110482
复制相似问题