7 points par GN⁺ 2025-04-24 | 4 commentaires | Partager sur WhatsApp
  • 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

 
bobross0 2025-04-29

C’est quoi, Godot ?

 
ethanhur 2025-04-24

Godot va exploser, non ? lol

 
2ss2ss 2025-04-24

Soudainement, Godot… ?!

 
GN⁺ 2025-04-24
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

    • Apple Vision Pro en soi n’est pas un produit couronné de succès, mais les progrès de la technologie d’affichage devraient permettre à Apple de créer un produit grand public plus attractif, sous la forme de lunettes AR légères, confortables et discrètes
    • Plutôt que de se focaliser uniquement sur l’échec de l’AVP, il semble pertinent d’ajouter cet OS à Godot dans une perspective de gamme de produits à long terme
    • Les inquiétudes sur la question de savoir qui assumera la charge de maintenance sont légitimes. Apple n’a pas toujours été l’entreprise la plus réactive face aux bugs ou problèmes obscurs d’API (par exemple autour de Cocoa). Il faut rester prudent avant de dépendre du soutien continu d’une grande entreprise tech capable de changer d’objectif à tout moment
    • Malgré cela, c’est intéressant
  • Godot prend déjà en charge la VR via OpenXR

    • OpenXR est le standard industriel maintenu par Khronos pour les appareils VR/AR, pris en charge par SteamVR, Oculus, Vive, Pico, Windows Mixed Reality et Quest
    • visionOS / Vision Pro en est notablement absent
    • Apple devrait respecter les standards de l’industrie. C’est plus extensible et plus ouvert
  • 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

    • Le raccordement entre le moteur de rendu Metal et le compositeur AR ne représente pas énormément de travail. La documentation de visionOS sur Compositor Services est limitée, mais il existe une bonne API C. Cela ne semble pas devoir représenter une lourde charge de maintenance, mais il faudrait donner quelques casques, car le second vertex amplification ne fonctionne pas dans le simulateur. Le nombre maximal de threads par threadgroup diffère aussi. Il faut du matériel réel pour mesurer les performances
  • Il est surprenant qu’Apple ait soumis cette PR sans aucune contribution au fonds de développement

    • Sans même avoir d’abord ouvert une issue
  • 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 :

    1. Donner de l’argent à Godot
    2. Implémenter la prise en charge de visionOS via une extension au lieu de l’intégrer directement dans le core, ou bien respecter le standard industriel OpenXR
  • 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