ARCore TransformableNode устанавливает значение localPosition на [x = 0.0, y = 0.0, z = 0.0] после перетаскивания. - PullRequest
0 голосов
/ 08 декабря 2018

Я создаю многопользовательский опыт для 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 Ответ

0 голосов
/ 08 декабря 2018

Я бы предложил вам использовать этот метод вместо этого, чтобы получить относительную позицию.

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

ARCore манипулирует множеством объектов в своей собственной иерархии и, вероятно, вызывает конфликт.

...