Libgdx加载搅拌器模型,透明度不正确
问题描述:
我正在使用libGdx 1.9.6,我遇到了问题。我搜索了多个论坛,阅读各种教程,但没有任何适合的。我在搅拌机中创建了一个简单的多维数据集,对其进行纹理化并将其导出到FBX(使用fbx-conv)。我也下载了BDX-Blender-Exporter。我已经测试了Blender 2.69和2.76b,结果没有任何改变。Libgdx加载搅拌器模型,透明度不正确
该模型被加载并显示:
如果我改变背景颜色,以(0,0,0,0)或(0,0,0,1),则只有黑色出现屏幕。
下面的代码(libGDX 1.9.6,Android的工作室2.3.3)
public class modelloader implements ApplicationListener {
private PerspectiveCamera camera;
private ModelBatch modelBatch;
private Model model;
private ModelInstance modelInstance;
private Environment environment;
private CameraInputController camController;
private AssetManager as;
@Override
public void create() {
camera = new PerspectiveCamera(
75,
Gdx.graphics.getWidth(),
Gdx.graphics.getHeight());
camera.position.set(0f,0f,7f);
camera.lookAt(0f,0f,0f);
camera.near = 0.1f;
camera.far = 300.0f;
modelBatch = new ModelBatch();
as = new AssetManager();
as.load("moon.g3db",Model.class);
as.finishLoading();
model = as.get("moon.g3db",Model.class);
model.materials.get(0).set(new BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA));
modelInstance = new ModelInstance(model);
modelInstance.transform.rotate(1, 0, 0, 0);
modelInstance.transform.translate(0, 0, -2);
environment = new Environment();
environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.8f, 0.8f, 0.8f, 1.0f));
environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -0.8f, 0.3f, 1f));
camController = new CameraInputController(camera);
camController.forwardTarget = true;
Gdx.input.setInputProcessor(camController);
}
@Override
public void dispose() {
modelBatch.dispose();
model.dispose();
}
@Override
public void render() {
camController.update();
Gdx.gl20.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
Gdx.gl20.glClearColor(1,1,1,0);
Gdx.gl20.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
camera.update(true);
modelBatch.begin(camera);
modelBatch.render(modelInstance, environment);
modelBatch.end();
}
当线
model.materials.get(0).set(new BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA));
存在该模型也仅示出了。
这里的搅拌机文件:
哪里可能是问题?
答
神圣的鲭鱼,它是纹理文件...它是1024x1024的png ...但不知何故corruptet ...一旦打开,resaved和所有的作品....无数小时,这是我唯一的东西没有检查...感谢帮助家伙! -
编辑:修正图片的错误链接 – CptnRoughnight
没有model.materials.get(0).set(新的BlendingAttribute(GL20.GL_SRC_ALPHA,GL20.GL_ONE_MINUS_SRC_ALPHA));]它看起来像这样:https://i.imgur .com/drNer46.png – CptnRoughnight
假设你的模型是UV解开和纹理是存在的,你有没有试过这个:https://*.com/questions/19112349/libgdx-3d-texture-transparency 也看看OP在这个链接和Gdx.gl20功能,他启用 – kacpr