1

在我的 libGDX 项目中,我想创建一个 3D 背景图像,因为它可以在 ChessGDX 中找到(参见。例如https://www.youtube.com/watch?feature=player_embedded&v=u0ezavUIsTU从第二个 31 开始)

我的例子

public class Test implements ApplicationListener {
    ...
    @Override
    public void create() {
      ...
      Model cubeModel = modelBuilder.createBox(5f, 5f, 5f, 
           new Material(ColorAttribute.createDiffuse(Color.GREEN)),
           Usage.Position | Usage.Normal);
      cube = new ModelInstance(cubeModel);

      ...
      assetManager.load("background.g3db", Model.class);
      assetManager.finishLoading();
      Model backgroundModel = assetManager.get("background.g3db", Model.class);
      for (Material material : model.materials){
        material.remove(ColorAttribute.Emissive); 
      }
      background = new ModelInstance(backgroundModel);
    }

    @Override
    public void render() {
      Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
      Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
            
      modelBatch.begin(cam);
      if (background != null) {
        modelBatch.render(background);
      }
        
      modelBatch.render(cube);
      modelBatch.end();
    }

如果我使用 ChessGDX 项目中的“background.g3db”(来自https://github.com/nkarasch/ChessGDX/tree/master/core/assets/3D/models),效果很好。

现在我想根据一些图像创建一个自己的背景。我试过了:

  1. 从https://github.com/libgdx/fbx-conv下载预编译的二进制文件
  2. 从搅拌机模型创建 g3db
    export LD_LIBRARY_PATH=.
    ./fbx-conv -o G3DB test1.fbx test1.g3db

但是使用我的“test1.g3db”只显示黑色背景。我很确定我的搅拌机型号是错误的,因为我以前从未使用过搅拌机......

我的问题:

  1. 是否有教程可以完全按照我的意愿进行操作?我知道有很多很好的搅拌机教程,但我现在不想学习搅拌机(对不起,也许在将来)......(我看过一些创建模型的教程,而不是需要的背景)
  2. 是否可以在不使用搅拌器和 fbx-conv 的情况下根据某些图像创建自己的 3D 背景?
  3. 是否有一些“预定义”的搅拌机文件,我可以在文本编辑器中编辑/更改(例如替换一些 jpg/png),我可以与 fbx-conv 一起使用?
4

0 回答 0