1

我正在为 ARCore 创建多人游戏体验。所以我想分享LocalPosition一个TransformableNode设置为飞机的。

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

如果我现在将节点拖到飞机上的另一个点,似乎TransformableNode丢失了它的ParentNode. 因为在拖动nodei get withgetLocalPosition() -> [x=0.0, y=0.0, z=0.0]而不是与我之前设置的父级相关的 Postion 之后。

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]
4

1 回答 1

1

我建议您改用此方法来获取相对位置。

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

ARCore 在其自己的层次结构中操作了很多对象,并且可能会导致冲突。

于 2018-12-08T14:56:58.293 回答