Я создаю AR приложение с использованием
https://github.com/ThomasGorisse/sceneform-android-sdk и с помощью такого кода добавляю модельку на сцену:
ModelRenderable.builder()
.setSource(this, R.raw.olaf)
.setIsFilamentGltf(true)
.build()
.thenAccept(modelRenderable ->
{
mainAnchorNode = new AnchorNode(startAnchor);
arFragment.getArSceneView().getScene().addChild(mainAnchorNode);
TransformableNode transformableNode = new TransformableNode(arFragment.getTransformationSystem());
transformableNode.setLocalRotation(Quaternion.axisAngle(new Vector3(0, 1f, 0), 180f));
transformableNode.setParent(mainAnchorNode);
transformableNode.setRenderable(modelRenderable);
}
В блендер у модельки 5 анимаций:
Я пытаюсь воспроизвести анимацию так (где animationType название анимации из blender: "olaf_walk", "olaf_hello"):
private ObjectAnimator animator;
animator = ModelAnimator.ofAnimation(transformableNode.getRenderableInstance(), animationType);
animator.start();
Но когда я переключаю анимацию (с помощью кнопки) к следующей по очереди, предыдущая продолжает проигрываться, а новая не стартует.
Я пытался отменять (animator.cancel()), останавливать (animator.stop()) и создавать новый animator для каждой анимации, но никаких результатов это не принесло.
Как правильно переключаться между разными анимациями одной модельки в sceneform?