在我的 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),效果很好。
现在我想根据一些图像创建一个自己的背景。我试过了:
- 从https://github.com/libgdx/fbx-conv下载预编译的二进制文件
- 从搅拌机模型创建 g3db
export LD_LIBRARY_PATH=.
./fbx-conv -o G3DB test1.fbx test1.g3db
但是使用我的“test1.g3db”只显示黑色背景。我很确定我的搅拌机型号是错误的,因为我以前从未使用过搅拌机......
我的问题:
- 是否有教程可以完全按照我的意愿进行操作?我知道有很多很好的搅拌机教程,但我现在不想学习搅拌机(对不起,也许在将来)......(我看过一些创建模型的教程,而不是需要的背景)
- 是否可以在不使用搅拌器和 fbx-conv 的情况下根据某些图像创建自己的 3D 背景?
- 是否有一些“预定义”的搅拌机文件,我可以在文本编辑器中编辑/更改(例如替换一些 jpg/png),我可以与 fbx-conv 一起使用?