Я пытаюсь сформулировать, как создать ADF, поместить в него объект, а затем сделать так, чтобы этот объект всегда был там, когда я снова запускаю приложение, конечно, после локализации. Должен ли я сохранять местоположения виртуальных объектов в отдельный файл, когда пользователь заканчивает «отбрасывать» объекты на сцену, а затем перезагружать их при последующих запусках? Или есть способ сохранить их в ADF?
Постоянный объект в ADF
Ответы (3)
Нет хорошего способа сохранить его в ADF, если только вы не взломаете некоторые метаданные ADF. Но взламывать метаданные не предлагается.
Мы не можем сохранять объекты с помощью ADF, вместо этого при загрузке ADF объект может быть добавлен (после распознавания ADF) к распознанной координате.
Я сделал что-то подобное, и это заработало, но обнаружил, что размещенные объекты колеблются и не помещаются точно в одно и то же место при последующей загрузке ADF. Потому что всякий раз, когда устанавливается соединение Tango, это местоположение считается источником (0,0,0), и объекты размещаются относительно этого источника. Так что трудно увидеть эти объекты точно в одних и тех же местах.
Я сделал то, что ты говоришь. Вы должны записать координаты объектов в отдельный файл, а затем, когда вы перезагрузите сцену и распознаете свою комнату (благодаря adf), просто верните объекты с теми же координатами.
Конечно, каждая координата (x y z) должна относиться к позе Tango ADF -> base = TangoEnums.TangoCoordinateFrameType.TANGO_COORDINATE_FRAME_AREA_DESCRIPTION
В Unity это очень просто, вам просто нужно установить «true» «Использовать позы описания области» в вашем сценарии танго ARCamera и то же самое в вашем сценарии PointCloud, если вы его также используете.