Поскольку комментарии становятся слишком длинными, я хотел опубликовать ответ, чтобы выразить, что я думаю о проблеме в целом.
Основная проблема с ARCore и сканированием комнаты или установкой установки вкомната хранения и разрешения якорей, используемых в предыдущих сессиях. Облачные якоря могут решить обе эти проблемы за вас, но ваши якоря могут храниться только в течение 24 часов.
Другая проблема в случае OP заключается в том, что ARCore меняет свою систему координат при каждом запуске приложения.Таким образом, по отношению к вашему устройству правая сторона равна +x
, верхняя сторона равна +y
, а направление вашего телефона - +z
.Следовательно, для достижения того, что сделано здесь , вам необходимо привязать эти промежуточные точки и сохранить эти привязки локально на этапе сканирования вашего приложения.Затем в другом Session
эти промежуточные точки должны быть расположены в том же физическом месте.Для этого вам необходимо иметь Преобразование между системой координат фазы сканирования и новой системой координат Session
, учитывая, что ARCore меняет систему координат в каждом Session
.
Чтобы решить эту проблему, я бы предложил использовать дополненное изображение, расположенное в определенном месте комнаты.Это изображение будет использоваться для расчета матрицы преобразования между двумя системами координат.В фазе сканирования вы должны отслеживать изображение и регистрировать 3 позиции от изображения (например, центр, верхний левый и нижний левый) вместе с позициями вашего якоря.Затем, когда пользователь хочет использовать внутреннюю навигацию, он / она должен сначала отследить изображение, а затем вы вычисляете матрицу преобразования, используя те же 3 точки снова в другой системе координат.Вы можете использовать Rigid Transform для этой задачи.
Как только вы нашли Матрицу Трансформации, вы можете снова расположить путевые точки в том же физическом месте в реальном мире (но не забывайте, что они будут иметь разные координаты в Unity).После этого вы можете осуществлять навигацию с помощью этих якорей.Вы также можете использовать больше дополненного изображения для увеличения точности, если у вас есть 3 общих точки в обеих системах координат .