Como a Kluge Interactive trouxe o Synth Riders para o Apple Vision Pro

Synth Riders, um jogo de ritmo imersivo, foi lançado no Steam VR e no Meta Quest em 2019 e, desde então, foi portado para vários dispositivos, incluindo o Apple Vision Pro. Veja o que a equipe aprendeu ao desenvolver uma experiência de realidade mista para o visionOS.
Como um estúdio reimagina um título amado para o Apple Vision Pro, combinando sua estética cyberpunk com o design minimalista e colorido da Apple?
Como o Apple Vision Pro é uma plataforma nova e em evolução, a equipe da Kluge Interactive estava ciente dos possíveis obstáculos que enfrentaria e sabia que teria que se adaptar para ter sucesso. Seu foco principal era cumprir o prazo de lançamento da plataforma no primeiro dia e aperfeiçoar o jogo de acordo com os altos padrões antes das visualizações da mídia.
This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.
Preparando-se para um novo desafio
"Nossa equipe sempre foi otimista em relação à tecnologia. A oportunidade de desenvolver para o Apple Vision Pro veio no momento certo, pois queríamos ampliar o lado visual do Synth Riders e estávamos reformulando a interface do usuário do jogo", diz Arturo Perez, diretor executivo da Kluge Interactive.
Qualquer lançamento da Synth Riders traz desafios específicos para cada plataforma. Quando a equipe concordou em fazer uma nova versão ou, nesse caso, reimaginar o jogo para uma nova mídia, eles começaram a se preparar para trabalhar com o hardware. No último ano e meio, a equipe lançou versões para o PlayStation VR2 e o Meta Quest 3 e, em seguida, lançou rapidamente o Apple Vision Pro.
"Os últimos 12 a 18 meses de desenvolvimento de jogos foram dedicados ao pagamento de dívidas técnicas e à aproximação de nossos conjuntos de ferramentas ao LTS 2022", explica AnnMarie Wirrel Bartholomaeus, produtora técnica da Kluge Interactive. "Já mudamos do Pipeline de Renderização Integrado para o Pipeline de Renderização Universal (URP) e mudamos para um backend OpenXR. Isso ajudou a nos colocar em uma posição técnica muito melhor para trabalhar com novas tecnologias."

Além disso, eles usaram uma abordagem mais modular e fizeram um esforço conjunto para dissociar a jogabilidade dos gráficos e da entrada. Quando eles iniciavam uma nova porta, esse pacote "Core" gerenciava coisas como carregar músicas, gerar menus e preencher notas e trilhos interativos no jogo. Com isso, a equipe pôde se concentrar em como esses dados se manifestavam na plataforma específica para obter a aparência desejada.
Bartholomaeus diz: "Quanto mais queríamos explorar diferentes conceitos do que é o Synth Riders, separar essas partes foi fantástico. Usamos o Core para avançar com o Synth Riders para o Apple Vision Pro, e ele foi extremamente útil."
Os resultados
- Criou uma versão nova e reimaginada de seu jogo de ritmo para o lançamento do Apple Vision Pro no primeiro dia
- Economizou o custo de contratar uma equipe inteira específica para a plataforma, com mais de 15 artistas, desenvolvedores e outros
- Recebeu uma classificação média de 4,7/5 no Apple Vision Pro

Projetando uma interface de usuário responsiva
Quando a equipe da Kluge Interactive começou a retrabalhar a interface do usuário para o Apple Vision Pro, eles perceberam rapidamente que a Apple prescrevia como clicar nas coisas e qual deveria ser a aparência de um botão padrão. Como os dados de rastreamento ocular não são expostos diretamente aos desenvolvedores, eles se adaptaram e solucionaram problemas para criar uma interface de usuário funcional que obedecesse a todas as regras.
Sem acesso a dados de rastreamento ocular, uma solução personalizada estava fora de questão. Para funcionar bem com o sistema de destaque integrado do Apple Vision Pro, eles recriaram toda a interface do usuário em 3D.
"O uso de uma interface de usuário padrão baseada em tela poderia funcionar, mas enfrentamos desafios em relação à disposição de diferentes camadas transparentes", explica Miguel Mosquera, desenvolvedor da Kluge Interactive. "O principal problema era a forma quadrada que destacava a tela, a imagem e os elementos 2D. Não era esteticamente agradável, e o destaque não combinava com o objeto." A equipe mudou para uma interface de usuário 3D para evitar esse problema, já que os elementos 3D usam uma malha quadrada e uma textura alfa para ajudar.

A recriação da interface do usuário em 3D garantiu que os destaques para os olhos correspondessem ao formato dos botões, mas isso, por si só, não foi suficiente para fazer com que a interface do usuário parecesse natural na plataforma. O efeito de destaque sempre foi um brilho branco suave ao redor das bordas da silhueta de um objeto, e os designers de menu precisavam levar isso em consideração. Por exemplo, eles evitaram cores claras e bordas em blocos em favor de gradientes mais suaves com cores mais escuras.
Embora isso tenha acrescentado um fluxo de trabalho completo e separado para a equipe, eles adotaram o novo processo e estão muito satisfeitos com os resultados gerais. Perez diz: "Valeu a pena. A interface do usuário é muito mais limpa do que em outros dispositivos."

Criando efeitos de alto desempenho
A equipe experimentou os métodos Replicate Properties e Bake to Mesh para adicionar efeitos Shuriken Unity ao seu projeto PolySpatial. Para a opção Replicate Properties (Replicar propriedades), as propriedades do Unity Particle System são aplicadas a um sistema de partículas nativo no Xcode. Usando o método Bake to Mesh, a saída do Unity Particle System é convertida em uma malha padrão. O último era consideravelmente mais intensivo em recursos, mas suportava uma gama mais ampla de recursos que não podiam ser replicados com um sistema de partículas nativo.
A equipe achava que replicar propriedades era a melhor opção em geral, mas acabou optando pela opção Bake to Mesh. "Os rastros de partículas eram um recurso obrigatório que nosso artista 3D realmente queria usar para criar efeitos visuais reativos ao áudio para o jogo, e isso não era viável com a opção Replicate Properties", diz Justin Dopiriak, desenvolvedor sênior da Kluge Interactive.

A opção Bake to Mesh era bastante desgastante, e alguns dos sistemas de partículas que eles usavam na tela tinham uma grande sobrecarga. "Levamos o sistema aos seus limites e foi interessante tentar identificar a origem dos problemas de desempenho", continua Dopirak. "Depois que localizamos e trabalhamos para corrigir os problemas, descobrimos que usar vértices puros era uma boa solução."
Como eles tinham que incorporar um efeito à malha todas as vezes, o impacto da contagem de vértices era muito maior do que o observado em outras plataformas. Para gerenciar as despesas gerais e otimizar a economia de recursos, eles foram muito criteriosos quanto ao que se permitiam usar. O efeito geral sobre a fidelidade visual foi insignificante. "Quando fomos mais disciplinados em todos os aspectos do que aplicamos e como nos restringimos, acabamos obtendo um equivalente quase perfeito", conclui Dopiriak.
This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.
Iluminação do palco
Para criar shaders e iluminação, a equipe recorreu às ferramentas e à documentação do Unity PolySpatial. Eles descobriram novos nós criados especificamente para o visionOS que eram úteis na ausência de iluminação no simulador, bem como uma lista de nós que mostrava se cada um era compatível com a plataforma. Isso se mostrou vantajoso ao converter espaços tangentes, gerenciar sondas de reflexão e direções de visualização e lidar com o mapeamento normal.
A equipe usou o PolySpatial Lighting Node como nó de saída principal e conectou tudo no lugar. A cor de base, normal, metálica e a suavidade permaneceram as mesmas.
"Ele agiu como um shader de duas passagens porque, no lado PolySpatial, o lado do Apple Vision Pro, o headset adicionou reflexos do nosso ambiente e alguma iluminação com base no feedback que a câmera recebeu", explica Esteban Meneses, um artista 3D. "A iluminação PolySpatial gerenciava tudo o que sabíamos que o motor tinha em seu interior, e havia opções para a iluminação de fundo. Debatemos o uso de mapas de luz e sondas de luz, ambos muito úteis."

Para as sondas de reflexão, a equipe teve acesso a opções simples e combinadas. A partir daí, eles conectaram tudo o que vinha do nó de iluminação PolySpatial à cor de base e à emissão, por segurança.
"Há passes que usam a cor de base e não queríamos que fosse em preto", continua Meneses. "Adicionei um modificador de intensidade para aumentar os valores e obter liberdade artística. Usei a variável de reflexos do Apple Vision Pro e desliguei a oclusão de ambiente no nó final, para que não víssemos os reflexos do ambiente." Esse controle sobre a refletividade permitiu que a equipe dividisse o jogo entre objetos que pareciam estar na sala com o usuário e aqueles que eram vistos por meio de um portal.

Experimentando o rastreamento manual
À medida que a equipe se dedicava a reimaginar o jogo, eles fizeram sua primeira incursão real no rastreamento manual. Embora inicialmente estivessem hesitantes quanto à falta de háptica, eles adoraram os resultados. "Normalmente, quando você segura um controle, sua mão termina no pulso, mas com o rastreamento da mão, seus dedos se tornam importantes e você pode gesticular e interagir com a música de uma maneira diferente. Isso trouxe uma nova dimensão ao jogo", diz Bartholomaeus.
Sem controladores, eles se adaptaram a uma nova forma de entrada. Eles também precisavam preencher a lacuna da conexão que o jogador obtém com a háptica de uma forma não intrusiva. Bartholomaeus explica: "Trabalhamos com efeitos reativos de áudio, iluminação e diferentes partículas que promoveram a conexão com a música com base em sua ação. A interação com os trilhos foi particularmente importante."
A equipe se baseou na documentação da plataforma para se informar sobre os deslocamentos de esqueleto com o Apple Vision Pro que não existem em outras plataformas. No que diz respeito à jogabilidade, eles rastrearam o pulso como único ponto de extrapolação. Como eles escolheram uma combinação de rastreamento manual para os elementos de jogo e o toque espacial para todo o resto, eles não fizeram gestos personalizados. "Tiramos proveito do que o sistema operacional nos oferecia. Eu incentivo as pessoas a usarem isso. O desempenho foi muito bom", diz Bartholomaeus.

Renderização e otimização do desempenho
A equipe também teve que aprender um novo processo de renderização. Para outras plataformas, o que eles criavam era normalmente renderizado diretamente no Unity, mas com o visionOS, havia uma segunda etapa no RealityKit. Um dos principais desafios que a equipe superou foi não usar um Line Renderer, um componente que pega uma matriz de dois ou mais pontos no espaço 3D e desenha uma linha reta entre eles. Esse componente foi um grande recurso para a equipe em seu sistema de trilhos em outras versões do Synth Riders.
"Quando nos deparamos com esse obstáculo, a equipe do Unity PolySpatial foi fantástica para fazer um brainstorming", diz Bartholomaeus. "Para os trilhos, um recurso que ainda não era compatível com a plataforma, eles sugeriram que nosso artista técnico o recriasse do zero com uma malha padrão e deslocamento de vértices, o que funcionou muito bem."

No que se refere à otimização do desempenho, uma das principais lições que aprenderam foi não fazer suposições com base em suas experiências direcionadas a outras plataformas. À medida que a equipe analisava todo o jogo, testando os caminhos de otimização para acelerar o desempenho peça por peça, eles descobriram que as soluções que reduziram o impacto da instanciação de material no URP em outras plataformas não se aplicavam ao Apple Vision Pro. "Quando localizamos esse problema, alteramos algumas linhas de código. Foi um conserto fácil e a melhora foi impressionante", diz Dopiriak.
A equipe também depurou o desempenho usando o Unity Profiler, o Xcode Debugger e o recurso Play to Device. "No início, era difícil testar e encontrar problemas", explica Mosquera. "O recurso Play to Device nos ajudou a localizar os problemas mais rapidamente e, sem ele, o projeto teria levado mais tempo para ser concluído."

Levando-o para o próximo nível
Desde sua criação como um estúdio de design em 2007, a Kluge Interactive vem adotando tecnologias emergentes e experimentando coisas novas. Embora o Synth Riders esteja em seu quinto ano, a equipe prevê um longo período de novos conteúdos e tem a intenção de desenvolver ativamente recursos e elevar a relação visual-musical no Apple Vision Pro.
"O design é uma parte muito importante de nosso DNA, portanto, ver como havia tanta intenção nesse dispositivo e em seu sistema operacional continuou a nos inspirar. Sei que podemos ir mais longe e estou animado para ver o que vem pela frente", diz Perez.
Crie para o Apple Vision Pro hoje mesmo
Fale com nossa equipe para saber como podemos ajudá-lo a aproveitar as poderosas ferramentas e fluxos de trabalho do Unity para criar experiências espaciais atraentes.
Explore o estudo de caso
Preencha este formulário para ter acesso às mais recentes histórias de sucesso de clientes