В настоящее время я работаю над приложением ARCore и хочу разместить объекты (например, стрелки) на сцене AR, которые начинаются с текущего местоположения пользователя и указывают на географический север.
Моя идея заключалась в том, чтобыпоместите объекты на ось X, поверните их вокруг оси Y и, наконец, переведите объекты, чтобы они находились в положении пользователя.Я планировал сначала получить ориентацию устройства относительно севера (что я могу сделать), а также получить ориентацию относительно мировой системы координат ARCore.Я сейчас изо всех сил, чтобы сделать последнее.Я думаю, что мне нужен угол вокруг оси Y между осью X и текущим направлением обзора.Я понял, что это можно каким-то образом получить через позу:
arFragment.getArSceneView().getArFrame().getCamera().getDisplayOrientedPose();
Я понятия не имею, что делать с этой позой.Значения qx (), qy (), qz (), getXAxis (), getYAxis () и getZAxis () не соответствуют ожиданиям.Когда я наблюдал, как они меняются при перемещении устройства (после преобразования их в градусы), они варьировались примерно от -55 до 55.
TL; DR: Как вращать объекты в ARCore, чтобы указывать в заданном географическом направлении?
Я нашел это решение, но не знаю, каким должен быть «dHelper»: Размещение объекта с указанным компасом в ARCore