Пользовательский объект ARCore не касается отслеживаемой плоскости днищем

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

Теперь я создаю объект 3D Cube и заменяю префаб Andy на Cube. Это помещает Кубы вместо Энди в приложение. Однако я заметил, что нижняя часть куба не касается плоскости! Самолет проходит через центр куба, что не является идеальным сценарием!

Я поискал в Интернете решение, но пока не нашел. На другом веб-сайте был кто-то с той же проблемой, но решения не было. Только ответ о том, что он работает только с демонстрационными объектами ARCore, а не с пользовательскими объектами.

Может ли кто-нибудь помочь мне в этом?

Спасибо!


person RazorAlliance192    schedule 19.03.2018    source источник
comment
Код, который я использую, такой же, как и в примере приложения HelloAR. Я просто заменил префаб Энди на объект куб по умолчанию в качестве префаба.   -  person RazorAlliance192    schedule 20.03.2018


Ответы (2)


Я нашел решение своей проблемы.

Опорная точка моего Cube GameObject находилась в центре. Все, что я сделал, это обернул пустой GameObject вокруг куба и переместил точку поворота в нижнюю часть куба. Из этого я создал префаб и использовал его внутри приложения. Теперь кубики правильно размещены на плоскости.

person RazorAlliance192    schedule 21.03.2018

Единственное, что я делаю, - это загружаю объекты, у которых нет центров там, где они должны быть, - это загружать .obj в блендер и перемещать его в центр мировых осей. Я мог бы также сказать ему "центрировать геометрию" перед центрированием по мировой оси, затем я экспортирую как .obj (только выделение).

person Larry    schedule 28.05.2019