我正在为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]
答案 0 :(得分:1)
我建议您改用此方法,以获得相对位置。
https://docs.unity3d.com/ScriptReference/Transform.InverseTransformPoint.html
ARCore在其自己的层次结构中操纵了许多对象,并且可能引起冲突。