1

Blender と fbxconv を使用して .g3db アニメーション ファイルを作成しました。これで、私の libGDX プロジェクトのソース コードは次のようになります。

public class test implements ApplicationListener {
// ...
 public ModelInstance fred
 public AnimationController animationController;

 public void create () {
    modelBatch = new ModelBatch();
    // ... 

    assets = new AssetManager();
    assets.load("data/fred.g3db", Model.class);
    loading = true;
 }

 private void doneLoading() {
    Model fredData = assets.get("data/fred.g3db", Model.class);

    fred = new ModelInstance(fredData);
    animationController = new AnimationController(fred);
    animationController.animate(fred.animations.get(0).id, -1, 1f, null, 0.2f);

    loading = false;
 }

 public void render () {
    if (loading && assets.update())
        doneLoading();
    camController.update();

    Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

    if(!loading) {
    animationController.update(10);
        modelBatch.begin(cam);
        modelBatch.render(fred,lights);
        modelBatch.end();
    }
 }

// [...] 
}

このゲームを開くと、モデルは完全に表示されますが、アニメーションはまったくありません。私は libGDX ゲーム プログラミングに比較的慣れていないので、どこで間違っていたのかわかりません。何か案は?

(これが何か関係があるかどうかはわかりませんが、fbxconv を使用して fbx ファイルを変換すると、いくつかの警告が表示され、すべて次のようになります。

WARNING: Node XXX uses RrSs mode, transformation might be incorrect.

しかし、この警告について私が読んだことが真実であれば、実際には問題を引き起こさないはずです...)

4

2 に答える 2

6

OpenGL ES2.0 を有効にしましたか? https://github.com/libgdx/libgdx/wiki/3D-animations-and-skinningもご覧ください。animationController.update() にデルタ値を提供する必要があります。Blender を使用して FBX ファイルを作成した場合は、RrSs 警告を安全に無視できます。

于 2013-09-23T18:37:26.043 に答える