reckfellENGINE

Экспорт проекта для visionOS

Нативный маршрут Xcode, роли приложения, иконка, трекинг и ограничения C#/симулятора.

На этой странице

Проверьте поддержку проекта

В исходниках Reckfell 1.0.0 предусмотрен нативный экспортёр visionOS. Текущий C#-экспортёр не реализует этот target. Наличие пункта visionOS или справочника VisionOSXRInterface не подтверждает экспорт C#-игры. Замена имени iOS в пресете или включение .NET-модуля не добавляет отсутствующий путь публикации.

Для нативного маршрута нужны Mac, полная установка Xcode с visionOS SDK, соответствующий архив шаблонов visionos.zip, Team для подписи и доступ к целевому устройству. Собственные шаблоны задаются через custom_template/debug и custom_template/release. Редактор, шаблоны и модули должны соответствовать вашей сборке; сборка шаблонов visionOS — отдельная задача.

Текущий пресет задаёт application/min_visionos_version=26.0; в конфигурации сборки используются target-версии xros26.0. Уменьшение числа в пресете не пересобирает бинарники под старую ОС. Архитектура экспорта — arm64; device и simulator остаются разными платформами даже при одинаковой архитектуре.

Выберите режим приложения

ПолеЗначенияНазначение
application/app_roleWindow=0, Immersive=1Window по умолчанию показывает приложение в окне. Immersive выбирает отдельный пространственный маршрут.
application/immersion_styleFull=0, Mixed=1, Progressive=2Начальный стиль для Immersive; по умолчанию Mixed. Для Window эта настройка не создаёт immersive-пространство.

Mixed сохраняет видимость окружения, Full заменяет его виртуальным содержимым, Progressive использует управляемую область погружения. Это режим композиции с окружением, а не уровень качества рендера. Не сводите пространство к фиксированному радиусу игрового мира: ограничения перемещения задаёт платформа. Стили погружения Apple.

Для Immersive нужна XR-иерархия с XROrigin3D/XRCamera3D, активный интерфейс visionOS и настройки viewport. Одного значения в пресете недостаточно. Драйвер Metal и Mobile-рендерер, трекинг, глубина и прозрачность разобраны в XR на visionOS. Это нативная интеграция Compositor Services, не настройка OpenXR.

Экспортируйте проект Xcode

  1. Добавьте пресет visionOS. Укажите application/app_store_team_id как Team ID и стабильный application/bundle_identifier, соответствующий подписи.
  2. Выберите роль и начальный стиль. Для первого запуска включите application/export_project_only, чтобы отдельно диагностировать генерацию проекта и сборку Xcode.
  3. Создайте отдельный каталог вывода вне исходного проекта. Экспортируйте под простым именем, например Game. Повторный экспорт может очистить генерируемые каталоги; ручные изменения Xcode сохраняйте отдельно.
  4. Откройте Game.xcodeproj, оставив рядом .pck, XCFramework и созданные каталоги приложения. В Xcode выберите схему, Team и реальное целевое устройство. Завершите настройку pairing/Developer Mode по инструкции запуска Apple.
  5. Выполните Product > Run и проверьте реальное отображение и ввод. Создание .xcodeproj не подтверждает успешную сборку или запуск.

На целевом Mac сначала проверьте доступность SDK:

Командная строка
xcode-select -p
xcrun --sdk xros --show-sdk-path
xcrun --sdk xrsimulator --show-sdk-path

Это диагностические команды, не сборка приложения. Если нужен встроенный маршрут архивирования, выключите application/export_project_only: общий экспортёр вызывает xcodebuild archive, затем экспорт пакета с заданной конфигурацией подписи. Разделение проекта, архива и пакета описано в экспорте iOS; требования рендера и C# оттуда на visionOS не переносятся.

Иконка и разрешения

Подготовьте три слоя 1024×1024: icons/icon_front_layer_1024x1024, icons/icon_middle_layer_1024x1024, icons/icon_back_layer_1024x1024. Экспортёр создаёт AppIcon.solidimagestack. Неверный размер автоматически масштабируется, но качество исходника от этого не растёт. Без заданных слоёв front берётся из общей иконки, а отсутствующие middle/back становятся непрозрачно-чёрными заглушками. Проверьте готовую иконку в Xcode, а не только отдельные картинки.

Включайте xr/visionos/enable_hand_tracking или xr/visionos/enable_controller_tracking только при необходимости. Для них заполните соответственно privacy/hand_tracking_usage_description и privacy/accessory_tracking_usage_description; в plist это NSHandsTrackingUsageDescription и NSAccessoryTrackingUsageDescription. Наличие текста или tracker не означает разрешение пользователя и валидные данные. Предусмотрите управление при отказе.

Что считать результатом

Для Immersive проверьте на устройстве стереоизображение, правильный масштаб, положение камеры, видимость окружения в Mixed, ввод и возврат после прерывания. Отдельно проверьте сохранения в user://. Для релиза повторите проверку release-пакета с нужной подписью и способом распространения.

Ограничение симулятора в текущем коде: visionOS отключает Vulkan и OpenGL; сборка Simulator дополнительно отключает Metal. Поэтому успешная генерация проекта или сборка библиотеки симулятора не доказывает наличие рабочего графического драйвера. Рецепт «переключить на Compatibility», применимый к некоторым iOS-шаблонам, здесь не подходит.

Граница проверки: статья сверена с нативным экспортёром, Swift-слоем, конфигурацией сборки и списком target C#-плагина. На текущем Windows-хосте не выполнялись экспорт visionOS, Xcode, подпись, запуск, трекинг или графическая проверка. Эти результаты ещё нужно получить для вашей сборки; исходники движка не менялись.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.