我正在为 ARCore 创建多人游戏体验。所以我想共享设置为平面的 TransformableNodeLocalPosition

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

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

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] 

请您参考如下方法:

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

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

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


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!