【问题标题】:AnimatorSet - Getting Error: Only one ModelAnimator may play on a ModelRenderable at a timeAnimatorSet - 出现错误:一次只能在 ModelRenderable 上播放一个 ModelAnimator
【发布时间】:2020-04-26 10:47:20
【问题描述】:

我正在尝试一个接一个地播放多个动画,但我似乎无法让它工作。它给了我错误:

Only one ModelAnimator may play on a ModelRenderable at a time

我已按照 Stackoverflow 答案中的说明进行操作:

https://stackoverflow.com/a/55684795/11110509

private void animateModel(ModelRenderable modelRenderable) {

        AnimationData danceData = modelRenderable.getAnimationData("Armature|Pecking.002");
        ModelAnimator modelAnimator = new ModelAnimator(danceData, modelRenderable);

        AnimationData danceData2 = modelRenderable.getAnimationData("Armature|Walking");
        ModelAnimator modelAnimator2 = new ModelAnimator(danceData2, modelRenderable);


        AnimatorSet animatorSet = new AnimatorSet();
        animatorSet.play(modelAnimator).before(modelAnimator2);
        animatorSet.start();


    }

我做错了什么?

【问题讨论】:

    标签: android android-animation arcore sceneform


    【解决方案1】:

    据我所知,从 1.16 开始,不再支持 ModelAnimator 和 ModelRenderable.getAnimationData。

    如果必须使用低于 1.16 的版本,

       List<Animator> animatorList = new ArrayList();
       animatorList.add(modelAnimator);
       animatorList.add(modelAnimator2);
       animatorSet.playSequentially(animatorList);
       animatorSet.start();
    

    你可以像上面那样做。 因为我使用的是sceneform 1.16,所以我没有测试过代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多