Я пытаюсь получить координаты глаз (положение камеры, направление и вверх) из матрицы вида позы, но получаю не то, что ожидал.
Я не уверен, что ARCore использует ту же систему, я не нашел точной информации об используемой системе координат.
Затем я разлагаю матрицу вида, но если результаты математически хороши (направление и вверх кажутся правильными, позиция имеет хороший масштаб), результат очень каготичен, поскольку моя камера странно перемещается по моей сцене. .
// Get camera matrix and draw. float[] viewmtx = new float[16]; frame.getViewMatrix(viewmtx, 0); Vector3 pos = new Vector3(viewmtx[12], viewmtx[13], viewmtx[14]); Vector3 camDir = new Vector3(viewmtx[8], viewmtx[9], viewmtx[10]).nor().scl(-1); Vector3 camUp = new Vector3(viewmtx[4], viewmtx[5], viewmtx[6]).nor();
Что-то звучит странно для вас?