У меня есть приложение, которое отображает 3D-контент с помощью SceneKit. Это не AR-приложение; 3D-контент полностью создается программно.
Я хочу портировать его на VisionOS. Основной шаг прост. Я могу отобразить приложение в окне VisionOS.
Теперь я хочу отобразить 3D-сцену в полностью иммерсивном пространстве.
Судя по всему, для рендеринга сцен VisionOS рекомендуется использовать RealityKit. Однако в документе говорится: «RealityKit — это 3D-фреймворк, ориентированный на дополненную реальность, который использует ARKit для плавной интеграции виртуальных объектов в реальный мир». Таким образом, я не уверен, что RealityKit является для меня правильным выбором, поскольку мое приложение не является AR. Но, возможно, в любом случае необходимо или рекомендуется использовать RealityKit.
Проблема, по-видимому, заключается в преобразовании содержимого SceneKit в содержимое RealityKit. Я нашел этот пост, который, похоже, указывает на то, что SceneKit и RealityKit — это совершенно разные технологии, которые невозможно легко преобразовать друг в друга.
Итак, каков правильный путь: следует ли мне оставить приложение iOS на основе SceneKit и перепрограммировать приложение VisionOS в RealityKit?





Приложение SceneKit может работать только как 2D-окно на VisionOS. В приложении iOS RealityKit есть опция .nonAR, которая позволяет полностью отключить возможности AR/MR, превращая ваше приложение в чистое VR приложение. Однако приложение VisionOS RealityKit не имеет опции .nonAR (и, скорее всего, ее не будет в будущем), поэтому оно не может быть полноценным VR приложением, поскольку Vision Pro должен понимать положение и ориентацию пользователя. в реальной среде (для безопасности пользователя).
Итак, ответ очевиден: вам нужно будет написать свое приложение с нуля, используя фреймворк RealityKit.
Спасибо, Энди, за это ясное заявление.
У меня очень похожая ситуация, я провел небольшое исследование и также связался со службой поддержки разработчиков Apple. Все дороги ведут к переходу на RealityKit, независимо от того, нужны вам функции AR или нет.