Colocando a mão no teclado!!!

As indústrias de Realidade Aumentada (AR) e Realidade Virtual (VR) ainda estão em sua infância, no entanto, é por isso que agora é o momento perfeito para aprender a criar conteúdo para essas tecnologias. Eles precisam dele para dar o salto ao próximo nível de adoção.
Felizmente, do ponto de vista do desenvolvedor, as habilidades necessárias para entrar em AR e VR são muito semelhantes e as barreiras à entrada ainda são relativamente baixas. Este artigo lhe dará uma visão geral sobre como começar.

A habilidade mais importante que você precisa

Não importa se você é novato que está começando com a programação ou um veterano com anos de experiência no campo, as principais habilidades que você precisa para se tornar um desenvolvedor AR / VR estão na área 3D . Na verdade, não é muito diferente do desenvolvimento de jogos em 3D.
Por quê? Como AR e VR são sobre a criação de mundos imersivos ou ambientes que podem ser interagidos em três dimensões, como na vida real.
Então, dependendo de quão profundo você quiser, você pode ter que aprender sobre modelagem e / ou digitalização em 3D, motores de jogos 3D, fotos e vídeos de 360 ​​°, talvez um pouco de matemática e geometria, linguagens de programação como C / C ++ / C # E kits de desenvolvimento de software (SDKs), e como projetar experiências para usuários em 3D.

Hardware

A realidade aumentada / virtual (e desenvolvimento 3D em geral) exige hardware de ponta. No entanto, como o preço do hardware está constantemente diminuindo, isso pode não representar um grande problema, como ocorreu há alguns anos atrás.
Se olharmos os requisitos das duas plataformas VR mais populares ( HTC Vive e Oculus Rift ), veremos que são basicamente iguais. No momento da redação, estas são as especificações de hardware recomendadas:

  • Processador: Intel Core i5–4590 ou AMD FX 8350
  • Gráficos: NVIDIA GeForce GTX 1060 ou AMD Radeon RX 480
  • Memória: 8 GB de RAM
  • Portas: 3x USB 3.0
  • Sistema operacional: Windows 7 ou superior

Isso significa que, se você tiver um processador i3 ou um cartão GTX 1050 você não poderá fazer nenhum trabalho de desenvolvimento?
Depende.
As especificações acima são as especificações recomendadas para ter uma experiência suave, então, para alguns projetos, talvez um pouco menos faria o trabalho e, para outros, talvez você tenha que compensar a falta de energia em uma área com um aumento de poder Em outro (por exemplo, emparelhando um processador i3 com um GTX 1070 ).
Existem requisitos mínimos e ferramentas para se certificar de que seu hardware é compatível ( aqui e aqui ), mas a sugestão é tentar apontar para o extremo superior e usar PCs de mesa para ter um caminho de atualização fácil (e mais barato).

Dispositivos de realidade virtual

Nesta área, temos muitas opções. Vamos categorizar o mais popular pelo seu grau de liberdade (DOF), que se refere às formas em que um objeto pode se mover. Temos duas opções: três e seis DOF.
Três DOF ​​significam que você poderá interagir com o mundo virtual em três dimensões (em um sistema de coordenadas X, Y, Z), movendo sua cabeça usando uma tela montada na cabeça (HMD), no entanto, você não seria capaz Para avançar ou para trás.
Com seis DOF, você pode mover-se para a frente / para trás, para cima / para baixo e para a esquerda / direita, então você agora tem mais três tipos de movimentos, daí o nome. Você pode aprender mais sobre graus de liberdade neste artigo .
Os seguintes dispositivos suportam três DOF:

Enquanto o seguinte pode suportar seis DOF:

Claro, cada dispositivo usa diferentes SDKs, linguagens de programação e tem restrições diferentes, mas você achará que eles têm algumas coisas em comum:

  • Os princípios para projetar uma experiência de Realidade Virtual são os mesmos
  • A maioria deles é compatível com controladores de movimento para interagir com o mundo virtual
  • Três dispositivos DOF ​​usam smartphones como monitores montados na cabeça
  • Seis dispositivos DOF ​​usam fones de ouvido de mesa

Neste ponto, e dependendo do que você deseja realizar, você pode querer fazer alguma pesquisa e escolher um ou mais dispositivos para se desenvolver. Claro, você pode fazer mais coisas com fones de ouvido de mesa, mas você pode querer começar com algo simples e transferir suas habilidades de um dispositivo para outro mais tarde. É uma questão de aprender as ferramentas certas para o trabalho.
Agora, vamos falar sobre o software mais utilizado para desenvolver o conteúdo do VR.

Motores de Jogo 3D e Linguagens de Programação

Uma pesquisa publicada no relatório Estado do Reportagem Q1 2017 do Developer coloca C # e C / C ++ como as linguagens de programação mais utilizadas para o desenvolvimento de AR / VR. Isto não é uma coincidência. Os motores de jogo mais populares que você precisa para aprender usá-los:

A boa notícia é que todos os dispositivos VR possuem SDKs disponíveis para ambos os motores para que você possa usar apenas um deles para desenvolver aplicativos AR / VR e segmentar mais de um dispositivo.
A má notícia é que a curva de aprendizado é relativamente íngreme para ambos. Em caso de dúvida, a maioria das pessoas recomenda a Unity porque é mais fácil de aprender e há mais recursos disponíveis. No entanto, o Unreal pode oferecer melhores gráficos e mais poder.
Outra coisa a ter em conta é que a Unity tem muitas versões com custos diferentes, mas existe uma versão pessoal que é gratuita. A Unreal é livre de usar, com um royalty de 5% sobre a receita bruta do produto após os primeiros $ 3,000 USD por jogo por trimestre civil de produtos comerciais.
A recomendação é tentar ambos os motores para ver qual deles se adequa melhor.
Além disso, vale a pena mencionar que o Google fornece SDKs para Android (em Java) e iOS (em Objective-C) para desenvolver dispositivos Daydream e Cardboard.

Faça ou encontre ativos?

As primeiras coisas que você precisa para o desenvolvimento AR / VR são recursos de arte, especialmente modelos 3D. Você tem duas opções aqui: faça você mesmo ou use modelos feitos por outra pessoa.
Criar modelos 3D por si mesmo é a opção mais difícil, mas, a longo prazo, pode ser o melhor (e mais rentável). Se você escolher esse caminho, você terá que aprender a usar programas como:

Uma tecnologia que pode ajudá-lo a criar seus próprios modelos é a digitalização em 3D . Basicamente, as coisas capturadas por um scanner 3D no mundo real tornam-se um modelo 3D virtual. Eles podem não ser perfeitos ainda, mas eles podem ajudá-lo a começar, e há muitas opções com uma ampla gama de pontos de preço. Alguns destes são:

Caso contrário, você quer obter modelos 3D de lugares como:

Esta opção está bem quando você está começando e você não tem as habilidades, mas, mais cedo ou mais tarde, você precisará fazer modificações para obter exatamente o que deseja, então a sugestão é combinar as duas opções enquanto você aprende a Faça seus próprios modelos.
Algo parecido acontece com vídeos e fotos de 360 ​​°, usados ​​na Realidade Virtual para fornecer uma experiência imersiva.
Você pode comprar uma câmera 360 como o RICOH THETA ou o Samsung Gear 360 (apenas compatível com dispositivos Samsung) para criar sua própria mídia ou usar sites como o Flickr ou outros sites para imagens e vídeos royalty-free.
Na área de áudio, temos facilidade porque não há requisitos especiais;

Do Desenvolvimento da Web à Realidade Virtual

Talvez você tenha um fundo de desenvolvimento web e você está se perguntando se seu conhecimento de JavaScript pode ser de alguma ajuda.
Felizmente, o WebVR é um padrão aberto com uma API de JavaScript que torna possível experimentar o VR no seu navegador.
Ele funciona com a maioria dos dispositivos VR, mas você não precisa de nenhum desses ou plugins, pois qualquer navegador compatível (mesmo no seu telefone Android / iOS) fará o trabalho. Você pode verificar o suporte do navegador mais recente no WebVR Rocks e encontrar mais informações sobre o site Mozilla VR .
Embora o conhecimento da terminologia 3D e modelagem ainda se aplique, se você conhece o JavaScript, pode ser uma boa opção para começar com WebVR em vez de um VR SDK, Unity ou Unreal.
Nesta área, há duas estruturas que merecem destaque:

  • A-frame . Uma estrutura para construir experiências de realidade virtual com HTML e uma abordagem Entidade-Componente-Sistema . Foi desenvolvido pela equipe Mozilla VR e fornece uma das maneiras mais poderosas para desenvolver o conteúdo WebVR.
  • Reagir VR . Uma nova biblioteca desenvolvida pelo Facebook com base em React and React Native . Ele permite que você crie sites VR e experiências 360 interativas usando a mesma abordagem de componente declarativo do que Reagir.

Como ambos são baseados em Three.js , a biblioteca de JavaScript mais popular para usar gráficos em 3D em um navegador web, o conhecimento desta biblioteca irá dar-lhe uma base sólida.
Unity tem a opção de escrever scripts em um idioma semelhante ao JavaScript chamado UnityScript , mas não é o mesmo que o JavaScript que você usará para desenvolver para a web e C # é o idioma recomendado para Unity.

E quanto a AR?

Nos concentramos na Realidade Virtual, mas a Realidade Aumentada é um conceito diferente.
Realidade virtual é sobre a criação de um ambiente virtual e imersivo para substituir o mundo real. Realidade aumentada adiciona camadas de dados ao mundo real em vez de substituí-lo. Por exemplo, pode traduzir as palavras que você vê em outro idioma, ou pode fazer você ver monstros quando você caminha perto de algum lugar. Em contraste, a Realidade Virtual pode levá-lo a outro país ou a uma terra cheia de monstros.
Quando você se junta a ambos os conceitos, você obtém o que é chamado de realidade mista , onde você interage com o ambiente físico e virtual.
No entanto, do ponto de vista do desenvolvimento, VR e AR são bastante semelhantes. Na verdade, você pode usar Unity e Unreal (com a ajuda de alguns plugins) para desenvolver conteúdo de AR. Por exemplo, Um aplicativo AR simples reconhecerá um objeto e apresentará um modelo 3D que você poderia manipular como se fosse real, então as habilidades necessárias para VR são aplicáveis ​​à AR também.
Uma das ferramentas mais populares para o desenvolvimento de AR é o Vuforia , que está disponível para Unity, Android e iOS, oferece muitos recursos e suporte para muitos dispositivos , incluindo os telefones Tango .
Falando sobre dispositivos, a Realidade Aumentada pode ser usada com monitores montados na cabeça, mas também com outros dispositivos como smartphones, óculos e viseiras especialmente fabricadas, sendo talvez o mais popular Microsoft HoloLens (embora mais inclinado a realidade mista). Uma das ferramentas mais populares para o desenvolvimento de AR é o Vuforia , que está disponível para Unity, Android e iOS, oferece muitos recursos e suporte para muitos dispositivos , incluindo os telefones Tango . Falando sobre dispositivos, a Realidade Aumentada pode ser usada com monitores montados na cabeça, mas também com outros dispositivos como smartphones, óculos e viseiras especialmente fabricadas, sendo talvez o mais popular Microsoft HoloLens (embora mais inclinado a realidade mista). Uma das ferramentas mais populares para o desenvolvimento de AR é o Vuforia , que está disponível para Unity, Android e iOS, oferece muitos recursos e suporte para muitos dispositivos , incluindo os telefones Tango . Falando sobre dispositivos, a Realidade Aumentada pode ser usada com monitores montados na cabeça, mas também com outros dispositivos como smartphones, óculos e viseiras especialmente fabricadas, sendo talvez o mais popular Microsoft HoloLens (embora mais inclinado a realidade mista).

Interface do usuário (UI) / Experiência do usuário (UX)

A indústria AR / VR é nova e, portanto, ainda não há muitas práticas recomendadas para desenvolver este tipo de experiências, mas devemos dar por certo que elas são diferentes das aplicações 2D tradicionais. Por exemplo, como você gerencia a entrada? Um teclado em um mundo virtual pode não ser a melhor escolha em algumas situações.
Por outro lado, um dos maiores problemas de VR é o simulador / enjôo. As pessoas podem ficar doentes, seja por atrasos, movimentos não naturais e desajustes entre sinais de movimento físico e visual, entre outros.
Aqui estão alguns recursos sobre o tema:

Em resumo, quais são os passos para se tornar um desenvolvedor AR / VR?

  1. Defina sua plataforma. Decida quais dispositivos segmentar, quais plataformas (celular, desktop, web), e qual mecanismo de jogo / SDK / framework usar.
  2. Aprenda as habilidades. Saiba mais sobre a terminologia, modelagem 3D, o idioma desse mecanismo / SDK / framework, UI / UX para AR / VR.
  3. Implementar algo pequeno. Embora um grande número de aplicativos AR / VR sejam jogos, há muitas áreas que podem ser direcionadas, como educação, visualização de dados, experiências de 360 ​​°. A chave aqui é praticar e ganhar experiência.
  4. Junte-se e participe de comunidades VR. Ir para encontros, participar de fóruns / bate-papos, conversar com outros desenvolvedores, perguntar à comunidade.

Recursos

Pusher Tutorials
- Criando um aplicativo React VR em tempo real

Cursos gratuitos:

Cursos pagos:

Blogs:

Podcasts:

Sessões por vídeos Pusher:

Vídeos do YouTube:

Canais do YouTube

Canais magros:

Quem você deve seguir?

Como fazer um aplicativo de realidade virtual

É mais fácil do que você pensa!

Realidade virtual é emocionante, é divertido … é ótimo! … Bem, isso é o que outras pessoas estavam dizendo, mas nunca a experimentei, então eu não poderia ter uma opinião.

Até que eu disse o suficiente é suficiente, vamos pular para o trem de campanha.

Comprei um par de óculos para smartphones, vi alguns vídeos youtube de 360º e alguns jogos de aplicativos móveis e eu era como …

A experiência foi excelente, então eu tive que fazer meu próprio aplicativo VR.
Estes foram meus passos:

1.Idea

Primeiro, eu precisava de uma ideia! Há muitos aplicativos que podemos construir para explorar a VR, eu tive que fazer algo rápido, mas útil, então eu fiz um Museu da Cerveja : P

2.Os Ferramentas

3. Comece

Configuração do Unity para Android VR App

Com um novo projeto no Unity, vá para Ativos e importe o Google SDK previamente baixado.

Em seguida, vá para Arquivo-> Configurações de compilação -> Selecione Android e clique em Switch Platform.

Após a mudança, vá para a guia Configurações do Player -> Outras configurações , defina a seguinte configuração:

Escolha o nome do seu pacote também, deve ser exclusivo.

Fazendo o modelo 3D

Uso frigobar para fazer o museu, apenas fiz uma busca no google para fotos do museu, pesquise as informações que eu precisava para as pinturas de arte e foi feito!

Como eu disse antes, eu poderia ter baixado alguns modelos de museus 3D ou um interior de uma casa, o que é importante é ter um modelo onde temos espaço para caminhar.

Fazendo o movimento da câmera

Exclua a MainCamera da cena e arraste e solte a câmera do Google, que pode ser encontrada em Ativos -> GoogleVR -> Legacy -> PreFabs -> GvRMain .

Nas versões recentes do Google VR SDK podemos usar o GvrEditorEmulator para a câmera.

Adicione um colisor de cápsulas à câmera:

Adicione um corpo rígido:

Depois disso, crie um script para o movimento da câmera, com a câmera selecionada vá para Adicionar componente , procure “script”, clique em Novo Script e nomeie-o “caractere”:

Encontre o script na pasta Ativos , clique duas vezes e digite o seguinte código:

Usando System.Collections;Usando System.Collections.Generic;Usando UnityEngine;Personagem de classe pública: MonoBehaviour {Transformação pública vrCamera;Flutuador público toogleAngle = 30.0f;Bool's privado = verdadeiro;Virtual Image3 initPoint;// Use isso para inicializaçãoVoid Start () {// Obter o ponto de partidaInitPoint = transform.position;}// Caminha quando olha para baixoVoid Update () {Se (andando) {Transform.position = transform.position + Camera.main.transform.forward * .5f * Time.deltaTime;}Se (transform.position.y <-10f) {Transform.position = initPoint;}Se (vrCamera.eulerAngles.x> = toogleAngle && vrCamera.eulerAngles.x <= 90.0f) {Andar = verdadeiro;} outro {Andar = falso;}}}

Este código só irá mover a câmera quando você olhar para baixo, você pode configurar o limite de ângulo com a variável toogleAngle.

No lado direito da tela, expanda o GvrMain -> Head -> Main Camera , então arraste e solte para a variável Vr Camera no script:

Importando o Modelo

Crie um avião, este será o piso:

Importe o modelo, vá para Ativos -> clique direito -> Importar novo recurso -> Selecione seu modelo

Clique no modelo e ative Gerar colisões e clique em Aplicar , assim a câmera não passará pelas paredes do modelo.

Arraste e solte o modelo para a cena, pressione play e está pronto!

Mac: tecla de opção + mova o mouse | Windows: tecla alt + mover o mouse

Você pode adicionar texturas ao modelo, uma skybox para o ambiente e a iluminação da cena, as possibilidades são infinitas …

Você pode verificar o meu trabalho final na Google Play Store -> Beer Museum <-

Entrada do Museu

Essa talvez possa ser a primeira aplicação Mobile VR de muita gente e sabemos que tem muito espaço para melhorar o aplicativo … mas já dá uma visão das possibilidades nesta tecnologia, hoje uma aplicação simples, amanhã a conquista do mundo, quem sabe: P

Conclusão

A tecnologia ainda não existe. Tem muitas limitações, é caro, e os padrões e as melhores práticas ainda estão emergindo. No entanto, tem um grande potencial, e agora é um ótimo momento para começar — especialmente considerando que a maioria dos desenvolvedores profissionais de AR / VR têm menos de dois anos de experiência.
Além disso, algumas das habilidades que você aprenderá (como C #) podem ser transferidas para outras áreas de desenvolvimento de software ou desenvolvimento de jogos se você acabar por decidir AR / VR não é algo para você, tornando-se um risco baixo / recompensa oportunidade.

Esta postagem no blog foi escrita sob o programa Pusher Guest Writer e Bernardino RosaSegue

Thiago Toshio Ogusko

VRevolution

GoVision

--

--

Thiago Toshio Ogusko

Produtor XR trabalhando na interseção de tecnologia|narrativa, arte|educação. Combinando audiovisual e desenvolvimento de experiência imersiva XR. @the.toshio