Как загрузить 3d модели из блендера в последнюю версию LibGDX? - PullRequest
1 голос
/ 01 мая 2019

Я пытаюсь загрузить свою 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 Ответ

1 голос
/ 01 мая 2019

Это может быть непростой задачей, ниже приведены вещи, с которыми я сталкивался ранее:

  1. Убедитесь, что вы установили масштаб экспорта fbx на 0.01 в blender,Это потому, что libgdx импортирует объекты в сантиметрах.

  2. Убедитесь, что вы перевернули ось y при использовании fbx-conv.(добавьте опцию -f).

  3. Загрузка с использованием LibGDX AssetManager обычно предпочтительнее, чем ручное использование ридеров, например

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

NBЧто касается вашего кода, ModelLoader следует утилизировать в конце программы.

...