- El equipo de visionOS de Apple presentó el primer PR para agregar soporte de Vision Pro al motor Godot
- El objetivo inicial es permitir la ejecución nativa de juegos existentes de Godot en visionOS y brindar soporte para la creación de contenido inmersivo
- Implementa la plataforma visionOS sobre iOS y enfatiza la reutilización de código y una estrategia de PR estructurada
- Las pruebas de funciones relacionadas con iOS/visionOS ya se completaron, pero algunas funciones necesitan ayuda de la comunidad
- En futuros PR se agregarán SwiftUI y un VR Plugin, sentando las bases para ampliar las experiencias inmersivas
Resumen del primer PR de contribución para soporte de Vision Pro
- El equipo de ingeniería de visionOS de Apple busca dar soporte a Vision Pro colaborando con la comunidad de Godot
- Mantienen altos estándares de calidad y siguen el estilo de código de Godot
- Están enviando el trabajo dividido en PR pequeños e independientes por función, y este PR es el primero
- En PR posteriores también se ofrecerán gradualmente funciones de Swift y VR inmersivo
Objetivos de la contribución
- Hacer posible que los juegos actuales de Godot se ejecuten de forma nativa en ventanas planas de visionOS
- Proporcionar funciones para crear contenido inmersivo mediante un nuevo visionOS VR Plugin
- El plan de contribución se divide en tres etapas
- Agregar la plataforma visionOS (PR actual)
- Agregar el ciclo de vida de aplicaciones con SwiftUI y funciones de compilación/enlace de Swift (próximamente)
- Agregar el plugin de VR para Vision Pro (próximamente)
Detalles técnicos de la implementación
- La plataforma visionOS está implementada sobre iOS para minimizar la duplicación de código
- Se creó la carpeta
drivers/apple_embedded para guardar el código compartido entre iOS y visionOS
- Cada plataforma se diferencia mediante subclases que solo aportan sus funciones específicas
- No hay soporte para OpenGL (visionOS no soporta OpenGL)
- El PR se envió dividido en varios commits para facilitar la revisión
Consideraciones sobre la documentación
- La mayoría de los plugins de exportación y configuraciones de iOS y visionOS son comunes
- El archivo
EditorExportPlatformIOS.xml fue renombrado a EditorExportPlatformAppleEmbedded.xml y movido de ubicación
- Se solicita retroalimentación de la comunidad sobre si esto es adecuado desde la perspectiva de las herramientas de documentación y sobre cómo separar la documentación por plataforma
Estado de las pruebas
- Las pruebas se realizaron con el proyecto demo Platformer
- Se probaron los renderizadores Mobile/Forward+ basados en el driver de renderizado Metal tanto en iOS como en visionOS
- El soporte para iOS se mantiene y al mismo tiempo funciona correctamente en visionOS
Solicitudes a la comunidad
- Hace falta probar si en las plantillas de iOS/visionOS funcionan correctamente las funciones de incrustación y enlace de plugins
- La generación de IPA y One-Click-Deploy no está funcionando — se pide analizar la causa y confirmar su funcionamiento
- También se necesita probar el despliegue directo mediante ios_deploy — si su uso ha disminuido, el código podría eliminarse
Funciones aún no implementadas
- La información de DPI está actualmente hardcodeada — al integrar SwiftUI se planea reflejar mediante API los cambios de información en tiempo de ejecución
- Aún no está implementada la generación automática del catálogo de assets de iconos para visionOS
- Puede reemplazarse con creación manual dentro del proyecto de Xcode
- Las contribuciones de la comunidad en este punto serán muy bien recibidas
- El logo SVG de la plataforma visionOS está basado en texto — se solicitan aportes para un ícono visualmente más atractivo
4 comentarios
¿Qué es Godot?
¿Godot se va a disparar ahora? jajaja
¿De repente Godot...?!
Opiniones de Hacker News
La línea de productos Apple Vision y visionOS no ha sido cancelada internamente, y Apple todavía mantiene su compromiso con el futuro
Godot ya soporta VR a través de OpenXR
Dos usuarios de visionOS están contentos con este anuncio
Está bien ver esta adición. No estoy seguro de si sería mejor que Godot conectara OpenXR con el compositor AR de Apple, o hacerlo como lo implementan estos PR
Sorprende que Apple haya enviado este PR sin aportar nada al fondo de desarrollo
Por todo lo que se ha escuchado en los medios, daba la impresión de que Apple casi había abandonado sus productos XR y que los mantendría con soporte mínimo hasta que la tecnología estuviera lista para el consumo masivo
Después de leer muchos comentarios, lo que Apple debería hacer es:
Apple debería darle dinero a Godot para que pueda arrancar de manera adecuada
Lo interesante aquí es que Apple por fin aprendió que los videojuegos importan. Claro, no lo admiten con una actitud de "nunca nos equivocamos". Por ejemplo, como cuando hacían un mouse sin dos botones físicos para mantener la filosofía de la Mac original de que "el mouse debe tener un solo botón". Están aprendiendo, y esto fue voluntario, a diferencia del USB-C en sus teléfonos/tablets
Parece posible que Apple priorice los juegos para los dispositivos Vision de próxima generación. Con suerte, mucha gente, incluyéndome, se saltó Vision por la falta de soporte para juegos. El precio no era el problema