Есть ли способ сбросить обнаруженные ARCore поверхности, не уничтожая и не переделывая сценарий сеанса?

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

Есть ли способ сбросить данные обнаруженных поверхностей? Я хочу, чтобы пользователи начинали заново каждый раз, когда открывают контент AR.

Я нашел ответы на этот вопрос в других темах, но все они включают принудительное уничтожение сценария ARCoreSession с устройства ARCore, а затем повторное добавление сценария обратно на него. Это кажется... глупым и неэффективным.


person Robin Herben    schedule 25.03.2019    source источник


Ответы (1)


Удаление только обнаруженных плоскостей в вашей сцене (без уничтожения и воссоздания ArSession) не является хорошей практикой при использовании ARCore. Альтернативой этому является удаление всех ArAnchors, предназначенных для хранения Renderables. Хотя самый надежный подход — уничтожить текущий ArSession и снова создать новый.

Дополнительные сведения см. в этой проблеме GitHub № 253: Очистить плоскости и привязки< /а>.

а также...

Посмотрите сообщение StackOverflow Как удалить все плоскости в ARCore чтобы узнать больше.

person Andy Fedoroff    schedule 20.04.2019