如何将3d模型从Blender加载到最新版本的LibGDX中?

时间:2019-05-01 06:00:36

标签: libgdx blender

我正在尝试将我的3d枪模型从Blender上传到Libgdx的最新版本中,但看不到我的模型。这个项目计划在两周内完成,我真的需要一些帮助。

public static Entity loadGun(float x, float y, float z) {    
    ModelLoader<?> modelLoader = new G3dModelLoader(new JsonReader());    
    ModelData modelData = modelLoader.loadModelData(Gdx.files.internal("data/GUNMODEL.g3dj"));
    Model model = new Model(modelData, new TextureProvider.FileTextureProvider());
    ModelComponent modelComponent = new ModelComponent(model, x, y, z);
    modelComponent.instance.transform.rotate(0, 1, 0, 180);
    Entity gunEntity = new Entity();
    gunEntity.add(modelComponent);
    gunEntity.add(new GunComponent());
    gunEntity.add(new AnimationComponent(modelComponent.instance));
    return gunEntity;
}

1 个答案:

答案 0 :(得分:1)

这可能是一件很棘手的事情,以下是我之前遇到的事情:

  1. 确保在搅拌机中将fbx导出比例设置为0.01。这是因为libgdx会以厘米为单位导入对象。

  2. 使用fbx-conv时,请确保翻转y轴。 (添加-f选项)。

  3. 通常首选使用LibGDX AssetManager进行加载,而不是手动使用阅读器进行加载。

AssetManger am = new AssetManager();
am.load("data/GUNMODEL.g3dj", Model.class);
am.finishLoading();
Model model = am.get("data/GUNMODEL.g3dj");

关于您的代码,应在程序结尾处处理ModelLoader。