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

标签 java android arcore sceneform

我正在为 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 在其自己的层次结构中操作许多对象,并且可能会导致冲突。

关于java - ARCore TransformableNode 拖动后将 localPosition 设置为 [x=0.0, y=0.0, z=0.0],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53683602/

相关文章:

java - 如何让人类标记在 map 上移动?

android - Exoplayer r1.5.2 无法解析 com.google.android.exoplayer :exoplayer:r1. 5.2

android - 仅从android中的数据库获取最后一个值

android - ARCore 能否用于测量物体、房间、结构或区域中不在同一帧中的点之间的距离?

java - 关于 android onCreate()c 中数据库 Activity 的问题

java - 如何创建 Sonar 规则来解析 Java 中的自定义 XML 文件?

java - 文件 libsc68.dylib 丢失?

Android 媒体播放器 MediaPlayer(658) : error (1, -2147483648)

c# - 当前上下文中不存在名称 'ARSubsystemManager'

android - 点云到屏幕点