我正在尝试将一个obj模型导入libgdx并为其应用一种颜色 - 没有任何阴影,只有一个颜色在所有面上.
这是我在我的create方法中使用的:
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);
Run Code Online (Sandbox Code Playgroud)
在我的渲染方法中:
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();
Run Code Online (Sandbox Code Playgroud)
结果是模型是白色/浅灰色 - 为什么不是绿色?
直接从这里: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));"
Run Code Online (Sandbox Code Playgroud)