【问题标题】:How to create Animation (changing Scaling, Rotation or Position) for a Node in ARCore Sceneform?如何在 ARCore Sceneform 中为节点创建动画(更改缩放、旋转或位置)?
【发布时间】:2019-03-22 01:18:43
【问题描述】:

我在 Android Studio 中使用 ARCore Sceneform 库。当节点设置为启用时,我很难找到一种方法来对节点执行缩放动画(例如 Google 用于在太阳系中旋转节点的 Quaternion)。

//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));
    })
);

我有这样的东西。

【问题讨论】:

  • 你为了什么改变了你的问题?我回答了。你应该在任何答案之前这样做。
  • "How to create animation...""Scaling animation..." 是不同的东西!!!
  • 哦,我很抱歉改变了这个问题。我改变了它,因为我想创建一个失败的缩放动画。所以我想如果我能找到一个创建任何动画的解决方案,并了解逻辑是如何工作的......

标签: java kotlin augmented-reality arcore sceneform


【解决方案1】:

您需要设置节点的本地比例 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);

希望这会有所帮助。

【讨论】:

  • 对不起菜鸟评论。我是 ARCore Sceneform 的新手。getScaleController() 仅适用于 TransformableNode。而且我已经有一个anchorNode。一个项目中是否可以有多个锚点?另一个问题是在哪里创建 ObjectAnimator 以及我应该将什么值传递给 ObjectAnimator.setObjectValues()..
  • 首先:这是一组不同的问题(对于一个问题来说太宽泛了)。您的场景中可能有任意数量的锚点。因此,请为getScaleController() 发布一个问题,第二个为where to create the ObjectAnimator,最后一个为ObjectAnimator.setObjectValues()
  • 谢谢,有像四元数这样的方法吗?不使用 TransformableNode?​​span>
  • 这里是节点的 getter 和 setter 信息——developers.google.com/ar/reference/java/com/google/ar/sceneform/…
  • 谢谢.. 成功了
猜你喜欢
  • 2019-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多