Как я могу получить реальные координаты камеры в кадре ArSceneView? - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь использовать ArCore, чтобы найти реальную позицию точечной цели. Цель захватывается дважды с разных позиций камеры. Он определяется автоматически в каждом изображении, и его позиции на изображениях передаются в Frame.hitTtest (x, y), чтобы получить точку попадания луча «камера-точка-точка» с выбранным плоскость:

hits = frame.hitTest(x, y);
for (HitResult hit : hits)
{
    trackable = hit.getTrackable();
    if (trackable instanceof Plane)
    {
        anchorHit = hit.createAnchor();
    }
}

Я пытаюсь получить мировое положение камеры с помощью

getArSceneView().getArFrame().getCamera().getPose();

Последний шаг моего расчета - найти точку пересечения лучей, найденных в картинки. Это пересечение должно быть трехмерной мировой позицией моей точечной цели. Однако результаты, которые я получаю, совершенно неверны, и они также не повторяются. Мое подозрение заключается в том, что Camera.getPose () не дает мне фактическое мировое положение камеры, которое я ожидаю.

Я ищу способ получить это абсолютное мировое положение камеры в той же системе координат, что и для точек попадания.

...