Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在ARCore Sceneform中为节点创建动画(更改缩放、旋转或位置)?_Java_Kotlin_Augmented Reality_Arcore_Sceneform - Fatal编程技术网

Java 如何在ARCore Sceneform中为节点创建动画(更改缩放、旋转或位置)?

Java 如何在ARCore Sceneform中为节点创建动画(更改缩放、旋转或位置)?,java,kotlin,augmented-reality,arcore,sceneform,Java,Kotlin,Augmented Reality,Arcore,Sceneform,我正在Android Studio中使用ARCoreSceneform库。我很难找到一种方法来执行节点的缩放动画,当它被设置为启用时(比如谷歌用来旋转太阳系中节点的四元数) 我有类似的例子。在设置其父节点之前,您需要设置节点的本地比例。代码应该如下所示: Anchor anchor = hitResult.createAnchor(); AnchorNode anchorNode = new AnchorNode(anchor); node.getScaleController().setMi

我正在Android Studio中使用ARCore
Sceneform
库。我很难找到一种方法来执行节点的缩放动画,当它被设置为启用时(比如谷歌用来旋转太阳系中节点的
四元数)


我有类似的例子。

在设置其父节点之前,您需要设置节点的本地比例
。代码应该如下所示:

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

希望这能有所帮助。

您更改问题的目的是什么?我回答了。在回答任何问题之前,你都应该这样做。
“如何创建动画…”
“缩放动画…”
是不同的事情!!!哦,我很抱歉改变了问题。我改变了它,因为我想创建一个缩放动画,但失败了。。所以我想如果我能找到一个制作任何动画的解决方案,并了解逻辑是如何工作的..很抱歉noob的评论。我不熟悉ARCore Sceneform。。GetScaleControl()仅适用于TransformableNode。我已经有一个主播了。是否可以在一个项目中使用多人锚?另一个问题是在哪里创建ObjectAnimator,以及我应该向ObjectAnimator.setObjectValues()传递什么值……首先:这是一组不同的问题(对于一个问题来说太宽泛了)。场景中可以有任意数量的锚。因此,请为
getScaleControl()
发布一个问题,第二个问题是
在哪里创建ObjectAnimator
,最后一个问题是
ObjectAnimator.setObjectValues()
谢谢,有没有像四元数这样的方法?不使用TransformableNode?以下是node的getter和setter信息–谢谢。。它起作用了
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);