gpt4 book ai didi

java - Blender 模型在 libGDX 中渲染不正确

转载 作者:行者123 更新时间:2023-12-01 09:48:44 25 4
gpt4 key购买 nike

我在 libGdx 中渲染模型时遇到问题。
我在 blender 中创建了一个简单的汽车模型,但是当我在 libGdx 中渲染它时,它渲染不正确。
这就是它在 blender 中的样子(它应该是什么样子): enter image description here

这是它在 libGdx 中的样子:

enter image description here

如您所见,轮子都指向错误的方向,这没有意义,因为我根本没有转动它们。

当模型中只有 1 个对象时它会起作用,但是当我添加更多对象(例如轮子)时,就会发生这种情况。

这是我的 create() 方法:

public void create () {
camera=new PerspectiveCamera(67,800,480);
camera.position.set(0f, 0f, 20f);
camera.lookAt(0f, 0f, 0f);
camera.near=1f;
camera.far=100f;

batch=new ModelBatch();
builder=new ModelBuilder();

UBJsonReader jsonreader=new UBJsonReader();
G3dModelLoader modelloader=new G3dModelLoader(jsonreader);
cubemodel=modelloader.loadModel(Gdx.files.getFileHandle("carmodel.g3db", Files.FileType.Internal));
cube=new ModelInstance(cubemodel,0,0,0);


environment=new Environment();
environment.set(new ColorAttribute(ColorAttribute.AmbientLight,0.65f,0.65f,0.65f,1f));


}

这是我的 render() 方法:

public void render () {
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);

Gdx.gl20.glEnable(GL20.GL_DEPTH_TEST);
camera.update();
batch.begin(camera);
batch.render(cube, environment);
batch.end();
camera.rotateAround(new Vector3(0f, 0f, 0f), new Vector3(0f, 1f, 0f), 0.5f);
}

这是我的模型: carmodel.g3db

如果您还需要任何其他内容,请询问,我会发布。

提前致谢!

最佳答案

自从我使用 Blender 以来已经有一段时间了,但这些是我用来使模型方向在 LibGDX 中匹配的设置。这样设置后,如果您的 LibGDX 相机与 Blender 相机使用相同的方向和位置,场景将是相同的。

  1. 正常创建模型。保存 Blender 文件。
  2. 将每个模型绕其中心 +X 轴旋转 90 度并应用变换。
  3. 导出模型 -Z 向前、Y 向上。
  4. 不要保存 Blender 文件,因为您可能想要进一步更改模型的原始方向。

关于java - Blender 模型在 libGDX 中渲染不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37772095/

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