- L’équipe visionOS d’Apple a soumis une première PR pour ajouter la prise en charge de Vision Pro dans le moteur Godot
- L’objectif initial est de permettre l’exécution native des jeux Godot existants sur visionOS et de prendre en charge la création de contenus immersifs
- La plateforme visionOS est implémentée à partir d’iOS, avec un accent mis sur la réutilisation du code et une stratégie de PR structurée
- Les tests des fonctionnalités liées à iOS/visionOS sont terminés, mais certaines fonctions nécessitent l’aide de la communauté
- De futures PR ajouteront SwiftUI et un plugin VR, posant les bases de l’extension des expériences immersives
Aperçu de la première PR de contribution pour la prise en charge de Vision Pro
- L’équipe d’ingénierie visionOS d’Apple souhaite collaborer avec la communauté Godot pour prendre en charge Vision Pro
- Elle maintient des standards de qualité élevés tout en suivant le style de code de Godot
- Les soumissions sont découpées en petites PR indépendantes par fonctionnalité afin de faciliter la revue, et cette PR est la première
- Les PR suivantes ajouteront progressivement les fonctionnalités Swift et VR immersives
Objectifs de la contribution
- Permettre aux jeux Godot actuels de s’exécuter nativement dans les fenêtres planes de visionOS
- Fournir des fonctions de création de contenus immersifs via un nouveau plugin VR visionOS
- Le plan de contribution est structuré en trois étapes
- ajout de la plateforme visionOS (PR actuelle)
- ajout du cycle de vie d’application SwiftUI ainsi que des fonctions de compilation/édition de liens Swift (à venir)
- ajout du plugin VR Vision Pro (à venir)
Détails de l’implémentation technique
- La plateforme visionOS est implémentée sur la base d’iOS afin de minimiser la duplication de code
- Un nouveau dossier
drivers/apple_embedded a été créé pour stocker le code commun entre iOS et visionOS
- Chaque plateforme se distingue via des sous-classes qui ne fournissent que les détails qui lui sont propres
- OpenGL n’est pas pris en charge (visionOS lui-même ne prend pas en charge OpenGL)
- La PR est soumise en plusieurs commits pour faciliter la revue
Considérations liées à la documentation
- La plupart des plugins d’export et réglages d’iOS et de visionOS sont communs
- Le fichier
EditorExportPlatformIOS.xml a été renommé en EditorExportPlatformAppleEmbedded.xml et déplacé
- Un retour de la communauté est demandé sur la pertinence de ce choix du point de vue des outils de documentation et sur la manière de séparer la documentation par plateforme
État des tests
- Les tests ont été effectués avec le projet de démonstration Platformer
- Sur iOS et visionOS, les renderers Mobile/Forward+ basés sur le pilote de rendu Metal ont été testés avec succès
- La prise en charge d’iOS est maintenue, tout en fonctionnant correctement sur visionOS
Ce qui est demandé à la communauté
- Il faut tester si les fonctions d’intégration et d’édition de liens des plugins dans les templates iOS/visionOS fonctionnent correctement
- Les fonctions de génération d’IPA et de One-Click-Deploy ne fonctionnent pas — demande d’analyse de la cause et de vérification de leur état
- Le déploiement direct via ios_deploy doit aussi être testé — si son usage a réellement diminué, le code pourra être supprimé
Fonctionnalités non implémentées
- Les informations DPI sont actuellement codées en dur — lors de l’intégration de SwiftUI, les changements à l’exécution seront reflétés via l’API
- La génération automatique du catalogue d’assets d’icônes pour visionOS n’est pas implémentée
- Une création manuelle dans le projet Xcode peut servir d’alternative
- Toute contribution de la communauté sur ce point serait très bienvenue
- Le logo SVG de la plateforme visionOS est basé sur du texte — une contribution pour une icône plus esthétique est demandée
4 commentaires
C’est quoi, Godot ?
Godot va exploser, non ? lol
Soudainement, Godot… ?!
Avis Hacker News
La gamme de produits Apple Vision et visionOS n’a pas été abandonnée en interne, et Apple reste apparemment engagé sur le long terme
Godot prend déjà en charge la VR via OpenXR
Deux utilisateurs de visionOS se réjouissent de cette annonce
C’est bien de voir cet ajout. Difficile de savoir s’il vaudrait mieux que Godot relie OpenXR au compositeur AR d’Apple, ou s’il faut procéder comme dans ces PR
Il est surprenant qu’Apple ait soumis cette PR sans aucune contribution au fonds de développement
Au vu de tout ce qu’on entend dans les médias, cela donnait l’impression qu’Apple avait quasiment abandonné ses produits XR et les maintiendrait sous assistance minimale jusqu’à ce que la technologie soit prête pour le grand public
Après avoir lu beaucoup de commentaires, voici ce qu’Apple devrait faire :
Apple devrait donner de l’argent à Godot pour lui permettre de démarrer correctement
Le point intéressant ici, c’est qu’Apple semble enfin avoir compris que le jeu vidéo compte. Bien sûr, ils ne le reconnaîtront pas avec une attitude du type « nous n’avons jamais tort ». Comme lorsqu’ils fabriquaient des souris sans deux boutons physiques pour préserver la philosophie initiale du Mac selon laquelle « une souris doit avoir un seul bouton ». Ils apprennent, et cette fois cela semble volontaire, contrairement à l’USB-C sur leurs téléphones et tablettes
Il semble possible qu’Apple donne la priorité au jeu vidéo pour la prochaine génération d’appareils Vision. Espérons-le, car beaucoup de gens, moi y compris, ont laissé passer Vision à cause de l’absence de support des jeux. Le prix n’était pas le problème