paint-brush
Desenvolvimento VisionOS: dicas e truques para criar aplicativos Apple Vision Proby@dvaluev
17,180
17,180

Desenvolvimento VisionOS: dicas e truques para criar aplicativos Apple Vision Pro

Dmitrii Valuev4m2024/04/15
Read on Terminal Reader

Vision Pro é uma nova versão do sistema operacional de realidade virtual da Apple. Ele permite que os usuários interajam com seu mundo virtual de uma forma mais envolvente. Aqui estão algumas dicas e truques para ajudá-lo a fazer sua própria aplicação. Use essas dicas para tornar seu aplicativo significativamente diferente do restante do VisionOS.
featured image - Desenvolvimento VisionOS: dicas e truques para criar aplicativos Apple Vision Pro
Dmitrii Valuev HackerNoon profile picture
0-item
1-item
2-item
3-item


Recentemente, a Apple lançou o Vision Pro e tive a sorte de me tornar um orgulhoso proprietário. Desde então, tenho estado profundamente envolvido no desenvolvimento de meu aplicativo e na exploração de vários aplicativos e tendências na Vision Pro App Store.


Uma coisa que me chamou a atenção é que novos aplicativos são lançados todos os dias, mas apenas alguns se adaptam bem à experiência imersiva de realidade virtual. Acho que muitos desenvolvedores têm dificuldade para encontrar documentação e exemplos dos recursos do Vision Pro. No entanto, utilizar os recursos do Vision Pro pode diferenciar seu aplicativo e fornecer aos usuários uma experiência aprimorada.


Neste artigo, compartilharei algumas dicas e truques que descobri ao elaborar meu aplicativo. Essas dicas não apenas ajudarão seu aplicativo a se destacar, mas também garantirão sua integração perfeita e sensação nativa no VisionOS.


Efeito de ambiente escuro

Tenho certeza que você notou que ao visualizar um vídeo ou foto, o fundo atrás da janela fica escurecido, nas configurações isso é chamado de “escurecimento automático”. Para obter o mesmo efeito você precisa usar .preferredSurroundingsEffect(.systemDark) na sua visualização e então o espaço ao redor do usuário escurecerá e sua janela permanecerá clara, isso ajudará a manter o foco no conteúdo.


Efeito SystemDark


Linha de controles de janela oculta

Ao visualizar um vídeo ou conteúdo, você deseja que o usuário não tenha distrações e crie o efeito de uma janela flutuando no ar, para isso a Apple nos deu a capacidade de ocultar a barra inferior da janela que serve para mover ou fechar a janela atual. Com .persistentSystemOverlays(.hidden) você pode ocultar esta barra de controle na sua janela, ela desaparecerá com a animação padrão e só aparecerá quando o usuário interagir com a janela.


Barra de janela oculta

Efeito de reflexão de vídeo

Se você abrir o aplicativo padrão da Apple TV e ligar um filme, notará que a janela do filme tem um reflexo que muda a cada quadro, dando um efeito mais envolvente. Para obter um efeito de brilho ao redor do seu vídeo, você precisa usar VideoPlayerComponent e habilitar isPassthroughTintingEnabled , então o efeito será o mesmo do Apple TV ou HBO Max. Aqui está o que diz a documentação:


Isso permite a coloração de passagem durante a reprodução do vídeo, que aparece ao redor do vídeo, pegando a cor média do quadro e tingindo a passagem com essa cor para enfatizar o vídeo.


Efeito de reflexão

Redimensionamento de janela

Você pode querer evitar que o usuário redimensione a janela, existe uma maneira de fazer isso:

 onAppear { guard let windowScene = UIApplication.shared.connectedScenes.first as?UIWindowScene else { return } windowScene.requestGeometryUpdate(.Vision(resizingRestrictions: UIWindowScene.ResizingRestrictions.none)) }


Você também pode especificar configurações de tamanho adicionais neste método. A assinatura completa do método é semelhante a esta:

 windowScene.requestGeometryUpdate(.Vision(size:, minimumSize:, maximumSize:, resizingRestrictions:))


Visibilidade das mãos

Se seu aplicativo usa espaço imersivo e você não deseja que o usuário veja suas mãos, ou deseja substituí-las por mãos virtuais, como é feito no AmazeVR, então você precisa usar .upperLimbVisibility(.hidden)


.upperLimbVisibility(.oculto)


.upperLimbVisibility(.visível)


Ornamento

Tenho certeza que você já viu barras laterais em aplicativos VisionOS que se parecem com TabBars . A Apple introduziu um novo método View para VisionOS que permite “expandir” a janela e adicionar ornamentos em ambos os lados dela.


 .ornament( visibility: .visible, attachmentAnchor: .scene(.bottom), contentAlignment: .center ) { HStack { Button("Play", systemImage: "play.fill") { } Button("Stop", systemImage: "stop.fill") { } } .labelStyle(.iconOnly) .padding(.all) .glassBackgroundEffect() } 


Ornamento inferior

Localização central

Um fato interessante que pude verificar experimentalmente é que os métodos do CMMotionManager só funcionam em espaço imersivo e não na visualização normal da janela.


Conclusão

VisionOS fornece muitas ferramentas para criar aplicativos imersivos que trazem os usuários para o mundo virtual e os fazem sentir parte dele. Embora cada vez mais aplicativos sejam lançados para o Vision Pro, apenas alguns utilizam toda a sua gama de recursos. É aí que entra a sua chance de se distinguir – use-a e aproveite. Infelizmente, os desenvolvedores lutam para encontrar documentação e exemplos facilmente acessíveis. É por isso que estou escrevendo este artigo. Espero que minhas dicas ajudem você a melhorar sua aplicação.