ARKit: Перевести 3D-объект на просмотр камеры - ios


1

Я действительно разрабатываю AR-приложение на xCode с ARKit.

У меня есть iPad, который находится на определенной ориентации, и когда я добавляю SCNode (0,0,0) в свой SCNScene с помощью ARWorldTrackingSessionConfiguration, он появляется перед камерой, когда iPad перпендикулярен к земле: [TG30 ]

IPad перпендикулярен к земле, а 3D-объект находится в (0,0,0)

Я хотел бы, чтобы мой SCNode появлялся прямо на экране iPad, когда я запускаю ARScene следующим образом:

The iPad is oriented in direction to the flower pot and i had to set the coordinates manually

IPad ориентирован в сторону цветочного горшка, и мне нужно было установить координаты вручную

Как я могу это сделать? Я предполагаю, что мне нужно будет сделать что-то вроде перевода координат, но я не знаю, как это сделать. И если это может помочь, у меня может быть расстояние между камерой и цветочным горшком

Заранее спасибо ! :)

Источник
  •  29
  •  1
  • 9 мар 2020 2020-03-09 10:53:48

1 ответ

1

Вам необходимо передать координаты объекта в форме SCNMatrix4 следующим образом:

let translationMatrix = SCNMatrix4Translate(theNode.worldTransform, 0.1, 0.1, 0.1)//tx, ty, tz are translations in each axis i а затем theNode.transform = translation matrix

  • 9 мар 2020 2020-03-09 10:53:50