12 apps em 1 ano: Voando como superman em Realidade Virtual

Um dos sonhos mais antigos da humanidade é o de poder voar como os pássaros. Muitos deuses são representados com essa capacidade nas mais diversas culturas e na cultura pop dos super-heróis voar é tão comum que nem é considerado mais um superpoder.

Uma das possibilidades mais interessantes da Realidade Virtual é a de nos permitir ter experiências que antes podíamos apenas imaginar. Em um dos posts anteriores recriei uma pequena vila romana em VR [link]. Poder explorar um ambiente virtual é interessante, mas melhor ainda é poder fazer o que não podemos na vida real. Para continuar explorando desenvolvimento para realidade virtual decidi criar um app onde eu pudesse voar.

O desenvolvimento

Assim como no post anterior eu escolhi Unity 3D como tecnologia para desenvolver essa experiência. A Unity é bastante completa e acelera muito o desenvolvimento, tanto de jogos 2D como 3D. A linguagem padrão aqui é o C#, que é muito usada em ambientes Microsoft e para desenvolvimento web. Não tenho muita experiência com a linguagem, mas por já ter estudado C++ e Java, que são similares, consigo me virar bem.

Um dos grandes problemas enfrentados em VR é conhecido como “motion sickness”, que nada mais é do que um enjoo provocado pela diferença entre o que seu corpo sente e o que seus olhos veem. Um dos grandes motivos do fracasso de gerações anteriores de realidade virtual foi que a tecnologia muitas vezes não tinha precisão e rapidez o bastante para acompanhar o movimento da sua cabeça e isso pode provocar enjoo e dores de cabeça.

Outra causa desse problema é o “movimento artificial”: nesse caso o corpo do jogador está parado mas no mundo virtual ele está em movimento, essa desconexão provoca desconforto e dores de cabeça em algumas pessoas.

Como minimizar os problemas

Voar em VR seria um tipo de “movimento artificial” e para minimizar os efeitos do “motion sickness” alguns truques podem ser usados.

O primeiro deles é fazer com que o jogador se mova em velocidades constantes, pois aceleração agrava bastante os sintomas. Isso é bastante simples de ser implementado (basicamente incrementar um variável por um valor constante).

Para o jogador controlar os movimentos de voo com o joystick eu precisei ler dados dos botões pressionados nos controles. A Valve fornece uma biblioteca chamada Steam VR, que facilita bastante ler os dados dos controles do Vive. Não achei a documentação muito clara mas o código é bastante simples de se entender.

Com o script básico de movimentação resolvido, fui procurar um cenário interessante para que eu pudesse voar sobre ele. Mais uma vez usei a Asset Story da Unity para escolher modelos 3D. Depois de alguns ajustes esse é o resultado que eu cheguei:

Eu ainda estou engatinhando em programação para realidade virtual, mas tem sido um passatempo muito divertido. Uma das coisas mais legais de programar é ver o resultado do seu trabalho funcionando na tela do computador. Com VR esse sentimento é ainda mais recompensador, porque você “entra” dentro do programa que você criou.

E você, já programou alguma realidade virtual? Deixe um comentário contando sua experiência!

Saiba quando um novo app for criado !

Coloque seu email abaixo para acompanhar cada novo app criado.

Powered by ConvertKit

Edmar Ferreira é Co-Fundador e CEO da Rock Content, líder em Marketing de Conteúdo no Brasil, e é membro ativo do SanPedroValley, comunidade auto-gerenciada de startups de Belo Horizonte.

Site Footer