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!

Livros Recomendados

Receba um email mensal com recomendação dos melhores livros que li.


Não vamos te enviar spam 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