Зачем делать объект дочерью Якоря? - PullRequest
2 голосов
/ 10 апреля 2019

Я тестировал HelloAR Пример ARCore. Когда вы создаете объект, касаясь экрана устройства, вы выполняете CreateAnchor, а затем перемещаете объект к дочернему элементу привязки. Есть ли у вас основания быть ребенком?

Ответы [ 2 ]

3 голосов
/ 10 апреля 2019

Потому что, делая 3D-объект дочерним по отношению к якору, вы присоединяете этот объект к Trackable. По своей природе ARCore не может отслеживать ваши 3D-модели, но когда вы привязываете их, вы присоединяете эту 3D-модель к чему-то, что может отслеживаться ARCore. Таким образом, ваша 3D-модель также может быть отслежена.

Еще одним моментом здесь является использование местных позиций. Потому что каждый раз, когда вы запускаете приложение, которое использует ARCore, вы получаете разные системы координат, как вы могли заметить. Однако, используя привязки и делая объекты дочерними по отношению к этим привязкам, вы можете использовать локальные позиции. Например, в примере с дополненными изображениями, независимо от того, какой кадр системы координат изображения будет всегда отображаться в углах 2D-изображения. Это достигается с помощью свойств привязки и локальных позиций.

1 голос
/ 11 апреля 2019

Потому что это обычная иерархия трехмерных сцен. Он построен так же, как и в программном обеспечении для 3D-анимации, как Autodesk Maya. Иерархия узлов упрощает преобразования (translate, rotate и scale) во время анимации и упрощает позиционирование в мировом пространстве. Все трехмерные объекты в вашем приложении AR находятся в World Coordinates.

Например: ваша 3D-сцена имеет корневой узел (Parent Node). Любая геометрия, камеры, источники света или ARAnchors должны иметь Child Nodes, чтобы быть подключенными к Root Node. И если вы хотите поместить Renderable в вашу сцену, его Child Node должен быть подключен к Parent Node.

ARAnchor.

enter image description here

Еще один пример: представьте членов семьи - деда , отца и сына . Отец одновременно является ребенком дедушки (его узел считается Child Node), и он является родителем своего сына (в то же время его узел считается Parent Node).

Надеюсь, это поможет.

...