2013-10-09 24 views
4

我試圖將一個obj模型導入到libgdx並將一種顏色應用於它 - 沒有任何陰影,只有一種顏色在所有的面上。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(); 

結果是型號爲白/灰 - 爲什麼不是綠色?

回答

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));"