Может ли ARKit (или ARSession) продолжать работать в фоновом режиме? - PullRequest
0 голосов
/ 14 февраля 2019

У меня вопрос - Может ли ARSession работать в фоновом режиме - в основном мне нужно запустить ARKit и всю информацию по кадрам и инцентрики камеры, но я НЕ хочу отображать канал камеры на экране - как это происходит в ARSCNView.

Не относится конкретно к фоновому потоку или процессу.

По сути, я просто хочу использовать информацию отслеживания (изображения + положение камеры + углы камеры Эйлера и т. Д.) Из ARKit и не хочу ничего визуализироватьв AR как таковой или с камеры.

Прежде чем все прыгнут на меня - я знаю, что Apple ограничивает процесс GPU в фоновом режиме - пример:

Выполнение буфера команд было прервано из-за ошибки во время выполнения.Недостаточно разрешения (для отправки работы графического процессора из фона) (код IOAF 6)

Но должен быть способ использовать ARKit или ARSession без подачи с камеры и только с информацией отслеживания, верно?

1 Ответ

0 голосов
/ 14 февраля 2019

Невозможно сделать то, что вы хотите сделать, как только ARSCNScene или ARSKScene полностью покрыт, отслеживание AR прекращается.Для этого есть несколько причин.

Во-первых, ARKit предназначен для дополненной реальности, а не для отслеживания операций.Если вы не отображаете реальность (канал камеры) на экране, то вы не можете увеличить реальность.

Во-вторых, и это самое важное, Apple заботится о конфиденциальности пользователей, и если вы могли бы получить доступ к камере, не показывая канал на экранепользователь не сможет узнать, когда камера использовалась.Это оставило бы открытой возможность слежки за приложениями без их ведома.Apple никогда не допустит этого.Ever.

Кроме того, AR сильно бьет по батарее, поэтому он работает только тогда, когда он фактически используется.

На основании ваших комментариев кажется, что вы на самом деле не хотите создавать опыт ARв любом случае, так что может быть лучший способ получить то, что вам нужно, через информацию о курсе и акселерометр.

...