gpt4 book ai didi

java - Libgdx 加载 blender 模型,透明度不正确

转载 作者:行者123 更新时间:2023-11-30 06:27:34 25 4
gpt4 key购买 nike

我正在使用 libGdx 1.9.6,但遇到了问题。我搜索了多个论坛,阅读了各种教程,但没有合适的。我在 blender 中创建了一个简单的立方体,对其进行纹理处理并将其导出到 FBX(使用 fbx-conv)。我还下载了 BDX-Blender-Exporter。我测试了 Blender 2.69 和 2.76b,结果没有任何变化。

模型已加载并显示:

blended cube

如果我将背景颜色更改为 (0,0,0,0) 或 (0,0,0,1),则只会出现黑屏。

这是代码(libGDX 1.9.6,Android-Studio 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));

存在。

这是 blender 文件:

cube.blend

问题可能出在哪里?

最佳答案

神圣的鲭鱼,这是纹理文件...它是 1024x1024 png...但不知何故损坏...一旦打开并重新保存,一切正常...无数个小时,这是我唯一没有的东西检查...感谢您的帮助! –

关于java - Libgdx 加载 blender 模型,透明度不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46826626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com