将颜色应用于模型实例的Libgdx不起作用

时间:2013-10-09 21:43:14

标签: 3d libgdx

我正在尝试将obj模型导入到libgdx并为其应用一种颜色 - 没有任何阴影,只有一种颜色在所有面上。

这是我在创建方法中使用的内容:

    modelBatch = new ModelBatch();
    ObjLoader loader = new ObjLoader();
    model = loader.loadModel(Gdx.files.internal("data/test.obj"));
    model.materials.add( new Material(ColorAttribute.createDiffuse(Color.GREEN)));
    instance = new ModelInstance(model);

并在我的渲染方法中:

    Gdx.gl.glClearColor(52 / 255f, 152 / 255f, 219 / 255f, 1.0f);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
    modelBatch.begin(perspCam);
    modelBatch.render(instance);
    modelBatch.end();

结果是模型是白色/浅灰色 - 为什么不是绿色?

1 个答案:

答案 0 :(得分:7)

直接从这里:http://www.badlogicgames.com/forum/viewtopic.php?f=11&t=11115#p50125

“就是这样。在我的例子中,我尝试从模型中更改材料,但我需要更改实例:

//Example, not work:
playerInstance.model.materials.get(0).set(new ColorAttribute(ColorAttribute.Diffuse, Color.RED));

//Actual, works:
playerInstance.materials.get(0).set(ColorAttribute.createDiffuse(Color.RED));"