java ARCore TransformableNode在拖动后将localPosition设置为[x=0.0,y=0.0,z=0.0]
我正在为ARCore创建多人游戏体验。因此,我想共享设置为平面的LocalPosition
的TransformableNode
因此,当我将我的TransformableNode
设置为ParentNode
然后设置LocalPosition
时,一切都正常,我使用getLocalPosition()
获得了正确的本地位置
如果现在将节点拖动到平面上的另一点,则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 楼答案
我建议你用这个方法,来获得相对位置
https://docs.unity3d.com/ScriptReference/Transform.InverseTransformPoint.html
ARCore在其自身的层次结构中操纵许多对象,这可能会导致冲突