- A equipe de visionOS da Apple enviou o primeiro PR para adicionar suporte ao Vision Pro no motor Godot
- O objetivo inicial é permitir a execução nativa de jogos Godot existentes no visionOS e dar suporte à criação de conteúdo imersivo
- A plataforma visionOS foi implementada com base no iOS, com ênfase em reutilização de código e uma estratégia de PRs estruturada
- Os testes de recursos relacionados a iOS/visionOS foram concluídos, mas algumas funcionalidades ainda precisam da ajuda da comunidade
- PRs futuros devem adicionar SwiftUI e um plugin de VR, estabelecendo a base para expandir experiências imersivas
Visão geral do primeiro PR de contribuição para suporte ao Vision Pro
- A equipe de engenharia de visionOS da Apple quer colaborar com a comunidade Godot para dar suporte ao Vision Pro
- Mantém altos padrões de qualidade e segue o estilo de código do Godot
- As contribuições estão sendo enviadas em PRs pequenos e independentes, organizados por funcionalidade, e este é o primeiro deles
- PRs posteriores também devem trazer, em sequência, recursos de Swift e VR imersivo
Objetivos da contribuição
- Permitir que jogos Godot atuais sejam executados nativamente em janelas planas do visionOS
- Fornecer recursos de criação de conteúdo imersivo por meio de um novo plugin VR para visionOS
- O plano de contribuição foi dividido em três etapas
- Adição da plataforma visionOS (PR atual)
- Adição do ciclo de vida de app com SwiftUI e recursos de compilação/link com Swift (previsto)
- Adição do plugin VR para Vision Pro (previsto)
Detalhes técnicos da implementação
- A plataforma visionOS foi implementada com base no iOS para minimizar duplicação de código
- Foi criada a pasta
drivers/apple_embedded para armazenar o código comum entre iOS e visionOS
- Cada plataforma é diferenciada por subclasses que fornecem apenas detalhes específicos
- Sem suporte a OpenGL (o próprio visionOS não oferece suporte a OpenGL)
- O PR foi enviado dividido em vários commits para facilitar a revisão
Considerações sobre documentação
- A maior parte do plugin de exportação e das configurações de iOS e visionOS é compartilhada
- O arquivo
EditorExportPlatformIOS.xml foi renomeado para EditorExportPlatformAppleEmbedded.xml e movido de lugar
- Foi pedido feedback da comunidade sobre se isso é adequado do ponto de vista das ferramentas de documentação e sobre como separar a documentação por plataforma
Andamento dos testes
- Os testes foram feitos com o projeto de demonstração Platformer
- Nos dois ambientes, iOS e visionOS, os renderizadores Mobile/Forward+ com driver Metal foram testados com sucesso
- O suporte ao iOS foi mantido e, ao mesmo tempo, a execução no visionOS também funcionou com sucesso
O que a comunidade pode ajudar
- É necessário testar se os recursos de incorporação e link de plugins funcionam corretamente nos templates de iOS/visionOS
- A funcionalidade de geração de IPA e One-Click-Deploy não está funcionando — foi pedido ajuda para analisar a causa e verificar o comportamento
- A implantação direta via ios_deploy também precisa ser testada — se o uso tiver caído, o código pode ser removido
Funcionalidades ainda não implementadas
- As informações de DPI estão hardcoded no momento — com a integração do SwiftUI, mudanças em tempo de execução devem passar a ser refletidas via API
- Ainda não há geração automática do catálogo de assets de ícones para visionOS
- Isso pode ser contornado com criação manual dentro do projeto Xcode
- Contribuições da comunidade nessa parte serão muito bem-vindas
- O logo SVG da plataforma visionOS é baseado em texto — foi pedido um ícone visualmente mais agradável
4 comentários
O que é Godot?
Será que o Godot vai disparar agora? kkk
Do nada, Godot...?!
Opinião do Hacker News
A linha de produtos Apple Vision e visionOS não foi cancelada internamente, e a Apple ainda está comprometida com o futuro
O Godot já oferece suporte a VR via OpenXR
Dois usuários de visionOS ficaram felizes com esse anúncio
É bom ver essa adição. Não tenho certeza se seria melhor o Godot conectar o OpenXR ao compositor de AR da Apple, ou seguir o que esses PRs implementaram
Surpreende que a Apple tenha enviado esse PR sem contribuir em nada para o fundo de desenvolvimento
Pelo que ouvi na mídia, fiquei com a impressão de que a Apple quase desistiu dos produtos XR e vai mantê-los no suporte básico até que a tecnologia esteja pronta para o consumo de massa
Lendo muitos comentários, o que a Apple deveria fazer é:
A Apple deveria dar dinheiro ao Godot para que ele possa começar direito
O interessante aqui é que a Apple finalmente aprendeu que games importam. Claro, eles não admitem isso por causa da atitude de "nunca estamos errados". Como, por exemplo, fazer um mouse sem dois botões físicos para preservar a filosofia original do Mac de que "um mouse deve ter um botão". Eles estão aprendendo, e isso foi voluntário, ao contrário do USB-C nos celulares/tablets deles
Parece possível que a Apple priorize games para a próxima geração do Vision. Tomara, porque muita gente, inclusive eu, pulou o Vision por falta de suporte a jogos. O preço não era o problema