ARKit - Закрепление без обнаружения самолета и испытание на удар - PullRequest
1 голос
/ 02 марта 2020

Это дополнительный вопрос к одному из моих предыдущих постов. В настоящее время я размещаю SCNNode по известной в реальном мире координате. Мое приложение требует, чтобы пользователь избегал использования определения плоскости или теста на попадание, вместо этого он мог поместить объект по известной координате и надеяться, что он останется в этой позиции.

В настоящее время производительность привязки является неоптимальной, и я хотел бы найти пути для ее улучшения. Я за любые предложения, если это возможно.

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

1 Ответ

1 голос
/ 02 марта 2020

Конечно, вы можете поместить модель в AR-сцену без plane detection и hit-testing / ray-casting, хотя это может вызвать некоторые аномалии AR - ваша модель может быть размещена ниже сетки сцены или модель может быть размещена на неправильное расположение, что приводит к неправильному параллаксу.

Есть одна вещь, которую ваша сцена всегда должна иметь - якорь для вашей модели. Без этой привязки ваша модель может всплывать в сцене, что приводит к ухудшению восприятия пользователем. В случае обнаружения плоскости вы автоматически получаете ARPlaneAnchor привязанный к невидимой плоскости.

Итак, давайте посмотрим, какие подходы вы должны реализовать, чтобы получить надежный опыт AR, даже если вы не используете обнаружение плоскости и попадание. тестирование:

  • Использование предварительно отслеженного ARWorldMap . Это достаточно сложно сделать для зданий
  • Использовать Специальные маркеры , легко различимые в отслеживаемой среде (QR-коды, дорожные знаки и т. Д. c)
  • Использование CoreLocation framework, Google Maps SDK и навигация iBeacon
  • Использование Гравитация и направление выравнивание компаса
  • Использование окружающих объектов Обнаружение Алгоритм искусственного интеллекта

Вы можете использовать эти подходы по отдельности или в комбинации .

Но есть одна неприятная вещь, о которой вы должны знать - рабочее расстояние для моделей в ARKit / SceneKit до 1000 метров . Если ваша модель превысит этот предел, вы получите мерцающих артефактов .

...