我正在尝试将我的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;
}
答案 0 :(得分:1)
这可能是一件很棘手的事情,以下是我之前遇到的事情:
确保在搅拌机中将fbx导出比例设置为0.01
。这是因为libgdx会以厘米为单位导入对象。
使用fbx-conv时,请确保翻转y轴。 (添加-f
选项)。
通常首选使用LibGDX AssetManager进行加载,而不是手动使用阅读器进行加载。
AssetManger am = new AssetManager();
am.load("data/GUNMODEL.g3dj", Model.class);
am.finishLoading();
Model model = am.get("data/GUNMODEL.g3dj");
关于您的代码,应在程序结尾处处理ModelLoader。