拖动后,ARCore TransformableNode将localPosition设置为[x = 0.0,y = 0.0,z = 0.0]

时间:2018-12-08 14:40:55

标签: java android arcore sceneform

我正在为ARCore创建多人游戏体验。因此,我想共享设置为飞机的 LocalPosition TransformableNode

因此,当我将TransformableNode设置为ParentNode然后设置LocalPosition时,一切都很好,并且getLocalPosition()我得到了正确的localPosition。

如果我现在将节点拖到飞机上的另一点,似乎TransformableNode失去了其ParentNode。因为在拖动node之后,我得到的是getLocalPosition() -> [x=0.0, y=0.0, z=0.0],而不是我先前设置的相对于父级的位置。

myAnchorNode.addChild(myTransformableNode);
myTransformableNode.setLocalPosition(position);
//dragging it at runtime
Vector3 x = myTransformableNode.getLocalPosition(position);
// x = [x=0.0, y=0.0, z=0.0]

1 个答案:

答案 0 :(得分:1)

我建议您改用此方法,以获得相对位置。

https://docs.unity3d.com/ScriptReference/Transform.InverseTransformPoint.html

ARCore在其自己的层次结构中操纵了许多对象,并且可能引起冲突。