Как создать анимацию (изменение масштаба, поворота или положения) для узла в ARCore Sceneform? - PullRequest
0 голосов
/ 17 октября 2018

Я использую библиотеки ARCore Sceneform в Android Studio.У меня проблемы с поиском метода для выполнения анимации масштабирования узла, когда он включен (например, Quaternion, используемый Google для вращения узла в Solar System).

//On Tap Listener
scannerVisual.setOnTapListener(((hitTestResult, motionEvent) -> {

        // NodeAnimator arrow = new NodeAnimator(true);
        //arrow.setParent(scanner);

        Node arrowVisual = new Node();

        //StackOverflow Solution
        arrowVisual.setLocalPosition(new Vector3(0.5f, 0.0f, 0.0f));
        arrowVisual.setLocalScale(new Vector3(0.03f, 0.03f, 0.06f));
        arrowVisual.setRenderable(arrowRenderable);
        arrowVisual.setParent(scanner);

        // arrowVisual.setLocalRotation(Quaternion.axisAngle(new Vector3(0.0f, 1.0f, 0.0f), 90));
    })
);

У меня есть что-то вроде этого.

1 Ответ

0 голосов
/ 18 октября 2018

Вам необходимо установить локальный масштаб узла before, установив его родителя.Код должен выглядеть следующим образом:

Anchor anchor = hitResult.createAnchor();
AnchorNode anchorNode = new AnchorNode(anchor);

node.getScaleController().setMinScale(0.5f);
node.getScaleController().setMaxScale(3.0f);

node.setLocalScale(new Vector3(2.25f, 2.25f, 2.25f));
node.setParent(anchorNode);

Надеюсь, это поможет.

...