Как настроить ARCore Pose в Unity?

Недавно моя команда попыталась создать приложение для отслеживания движения ARCore с помощью Unity. Приложение считывает QR-код и устанавливает мое текущее положение и данные поворота из QR-кода. Кроме того, приложение устанавливает позу на основе данных QR-кода.

Однако я нашел только API, который получает позу в справочном документе, но не задает позу. Как я могу установить позу ARCore в Unity?


person 이상진    schedule 12.09.2019    source источник
comment
Не могли бы вы подробнее рассказать о последних двух предложениях. Не можете понять, что вы подразумеваете под GetPose?   -  person user14492    schedule 12.09.2019


Ответы (1)


Поза ArCamera (камера устройства ARCore для ArFrame от Unity) можно просто получить, а не настроить.

Нет особого смысла делать его настраиваемым, потому что начало координат 3D-сцены будет помещено в начальную позицию ArCamera при запуске ArSession. Таким образом, трехмерная сцена живет до тех пор, пока ArSession не будет уничтожен (и начало координат оси находится в том же месте, в то время как сеанс запущен).

Вот код, показывающий, как получить позу ArCamera:

public class Frame {

    public static Pose Pose {

        get {
            var session = LifecycleManager.Instance.NativeSession;

            if (session == null) {
                return Pose.identity;
            }
            var camera = session.FrameApi.AcquireCamera();
            Pose result = session.CameraApi.GetPose(camera);
            session.CameraApi.Release(camera);
            return result;
        }
    }
}
person Andy Fedoroff    schedule 13.09.2019