Realidade Virtual com o A-FRAME

Pewdiepie trying out VR Game in Public
Pewdiepie trying out VR Game in Public

Realidade virtual está se tornando a sensação do momento! Vários dispositivos VR estão sendo vendidos e cada smartphone moderno pode rodar coisas de VR. Você provavelmente já viu algum vídeo gravado com a Samsung gear 360, por exemplo. Isso está disponível no YouTube (e em alguns vídeos/fotos do Facebook) e você pode experimentá-lo com qualquer dispositivo ‘smart’ e em seu navegador de computador, arrastando e soltando a posição do vídeo com o mouse.

Mas a melhor coisa para nós geeks é quando somos capazes de realmente fuçar a coisa, mexer e construir do nosso próprio jeito. Quando se trata de Realidade Virtual, a maneira mais legal de fazer isso é usando esse incrível framework chamado A-Frame.

A-Frame é uma estrutura open-source WebVR para criar experiências de realidade virtual (VR) com HTML. Podemos construir cenas de VR que funcionam em smartphones, desktop, o Oculus Rift e o HTC Vive.”

A-Frame não é tão novidade, ele está disponível há algum tempo e já tem vários vídeos, artigos e componentes disponíveis para você não apenas começar, mas realmente se envolver e desenvolver coisas incríveis. Estou escrevendo este artigo para compartilhar minha experiência como iniciante com A-Frame, mas antes começarmos, se você já está interessado, você vai querer dar uma olhada na comunidade Slack do A-Frame e no grupo do A-Frame no Telegram. Lá compartilhamos nossas experiências, dúvidas e ajudamos um ao outro. Cuidado pois todas as conversas são em inglês.

WebVR e A-Frame foram construídos pela equipe de VR da Mozilla para tornar mais rápida e fácil a criação de conteúdo 3D/VR e facilitar a introdução da Comunidade da Web no mundo VR. E é realmente fácil começar com A-Frame, você só precisa primeiro adicionar a Biblioteca em seu projeto:

$ npm install aframe

or, use the direct link
https://aframe.io/releases/0.3.2/aframe.min.js

Depois de adicionada a biblioteca no seu projeto, você pode começar a escrever alguns componentes facilmente:

<a-scene>
  <a-box color="#AAA" width="2" height="2" depth="5"></a-box>
</a-scene>

Com este pedaço de código, você criou uma cena com uma caixa cinza nela. Se você estiver rodando no seu Navegador Desktop, você pode usar as teclas W A S D para se deslocar na cena e ver a caixa de perspectivas diferentes. Dentro desta cena, você pode criar qualquer componente que você quer, por exemplo, você pode duplicar esta caixa.

<a-scene>
  <a-box color="#AAA" width="2" height="2" depth="5"></a-box>
  <a-box color="#16a085" width="2" height="2" depth="5"></a-box>
</a-scene>

Observe agora que, executando este código acima, você está vendo apenas a caixa verde. Isso aconteceu porque as caixas estão colocadas na mesma posição na cena. Como estamos em um mundo 3D, as coisas têm valores X Y e Z para definir a sua posição. A cena começa na posição = “0 0 0” e esta também é a posição padrão para os componentes que criamos. Então, agora vamos ver todo o exemplo HTML com posições diferentes para as caixas.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>My Hello World - A-FRAME</title>
</head>
<body>
  <a-scene>
    <a-sky color="#34495e"></a-sky>
    <a-box position="-4 0 -8" color="#AAA" width="2" height="2" depth="5"></a-box>
    <a-box position="4 0 -8" color="#16a085" width="2" height="2" depth="5"></a-box>
  </a-scene>
</body>
<script src="https://aframe.io/releases/0.3.2/aframe.min.js"></script>
</html>

Neste exemplo também adicionei outro elemento (a-sky) que funciona basicamente como o fundo da cena. Você pode facilmente colocar uma imagem ao invés de uma cor.

<a-sky src="image.jpg"></a-sky>

Uma imagem pode ser usada em qualquer componente. Em relação aos valores de posição, devemos entender que o eixo X se estende negativamente para a esquerda e positivamente para a direita, o eixo Y se estende positivamente para cima e negativamente para baixo, e o eixo Z se estende negativamente para fora da tela e positivamente para dentro da tela. Eu mudei este exemplo e coloquei uma caixa em cada posição da tela (frente, traz, esquerda e direita) para que você possa vê-lo em execução e brincar com esse exemplo. Você pode verificar meu exemplo no Codepen ou baixar meu repositório sobre VR no Github.

Eu não sei por que, mas eu simplesmente não consigo rodar os exemplos do codepen corretamente no meu smartphone, então eu deixei este exemplo disponível na página Github do meu repositório ‘HeyVR’. Este repositório é apenas um conjunto de exemplos usando A-Frame. Eu também adicionei nesta página um componente a-light para representar o sol na imagem que eu coloquei no a-sky.

Eu não quero fazer esta introdução muito grande, eu acho que isso é suficiente para despertar o interesse sobre esta grande ferramenta e começar a construir uma Web VR. Se você quiser continua, eu aconselho você a ir para um guia A-Frame com HTML, que é bastante interessante e você será capaz de fazer muito mais coisas como posição, rotação e escala.

Curtiu?! Então entre na comunidade Slack do A-Frame e no grupo do A-Frame no Telegram. Envolva-se e divirta-se na Web VR.

A comunidade Mozilla Brasil estará na FGSL para falar sobre A-Frame em 18 e 19 de novembro. Para ser exato, este tópico será apresentado em 19 de novembro na sala 3 às 15h. Você deve ir =) será incrível. Vamos compartilhar tudo usando a hashtag #MozillaNoFGSL

Banner de Divulgação do FGSL 2016
Banner de Divulgação do FGSL 2016

Contribuindo com a Mozilla

Mozilla 2013 Summit
Mozilla Summit – Foto por Marcia Knous, disponível no blog da Mozilla

Quando eu descobri que eu era capaz de contribuir com os projetos da Mozilla isso me fez sentir muito feliz e útil. Não consigo me lembrar dos detalhes, mas eu estava aprendendo sobre HTML5 e Web Mobile usando o MDN como meu recurso principal e percebi que algumas páginas estavam em português e outras não. Descobri então que qualquer um poderia traduzir as páginas, então comecei a traduzir também, pois queria melhorar meu inglês e também fazer estes conteúdos disponíveis às pessoas que não sabem inglês.

Isso foi em 2014, eu aprendi algumas coisas sobre a Web e também melhorei um pouco o meu Inglês traduzindo artigos no MDN. Logo consegui desenvolver WebApps e publicá-los no Marketplace do Firefox, na Chrome Web Store e também aprendi a usar o PhoneGap para tornar os meus aplicativos da web instaláveis em dispositivos Android. Eu ganhei um monte de novas habilidades apenas me envolvendo mais na tradução desses artigos no MDN e assim estudando mais, e eu tenho certeza que muitas pessoas foram capazes de aprender mais a partir de então, com esses artigos também disponíveis em português. Uma mão lava a outra.

Como eu estou acostumado a dar palestras, eu preparei algum conteúdo sobre essas coisas novas que eu aprendi, e ministrei palestras e mini cursos em alguns eventos em minha cidade e outras cidades próximas. No final de todas essas palestras, eu mencionava o MDN e tudo o que aconteceu comigo, encorajando os participantes a contribuir com os artigos também. Mais tarde eu descobri que a comunidade Mozilla era grande aqui no Brasil, e eles fazem muitas atividades. Na verdade, eu aprendi que a Mozilla tem listas de atividades e como executá-las, tornando a vida do contribuinte muito mais fácil.

Sheldon Led no Software Freedom Day BSB 2016 palestrando sobre os principais projetos da Mozilla
Sheldon Led no Software Freedom Day BSB 2016 palestrando sobre os principais projetos da Mozilla

No começo eu estava muito ocupado, terminando minha graduação, mudando de posição no trabalho, e esses tipos de coisas que nos amarram à nossa rotina, então eu não envolvi com a comunidade. Mas as coisas mudaram um pouco em 2016, quando encontrei alguns amigos da Mozilla Brasil morando perto de mim, e dispostos a unir forças para realizar as atividades da Mozilla aqui no Centro Oeste do Brasil (Goiás e Brasília). Foi algo incrível, eles me motivaram. Logo nós nos reunimos para fazer um plano de ação e começar a incentivar mais pessoas a contribuir com a Mozilla.

 

 

Westerley e Sheldon, no Software Freedom Day BSB 2016
Westerley e Sheldon, no Software Freedom Day BSB 2016

Em setembro de 2016, palestrei em três cidades diferentes (Brasília, Ceres e Uruaçu) falando sobre os projetos da Mozilla em geral, e em uma ou duas dessas conferências falei também sobre a Mozilla e a IoT, tambem conhecido como Connected Devices. As pessoas ficaram maravilhadas porque pensavam que a Mozilla era uma coisa distante, mas agora viram que estamos em toda parte, e também aqui, ao lado deles. Eu não sei se algum dos ouvintes já começou a contribuir com a Mozilla, mas eu sei que eu plantei alguma chama em seus corações.

Eu estou disponibilizando todos os slides das minhas palestras na minha conta do github, então você pode apenas verificar o meu repositório Talks e ver o que que tem de bom por lá. Mas quero destacar os slides usados nas palestras de setembro:

 

Sheldon Led na Semana de Inovação Uruaçu
Sheldon Led na Semana de Inovação Uruaçu

Agora estamos planejando uma grande atividade no Fórum Goiano de Software Livre – FGSL. Estaremos falando sobre Realidade Virtual, Compatibilidade com a Web, Privacidade e Segurança, e também sobre como contribuir com o Mozilla. Eu ficaria mais do que feliz se você desse uma olhada na nossa agenda na conferência. Tudo será informado em http://fgsl.net.

Isso é só um começo. Eu sei que estaremos fazendo grandes coisas de agora em diante, e eu quero que você participe também. Veja meu exemplo, você só tem a ganhar, e além disso, também estará ajudando os outros a serem beneficiados também.

 

Banner de Divulgação do FGSL 2016
Banner de Divulgação do FGSL 2016

/mnt: 2º Encontro Nacional de Mulheres na Tecnologia

Banner - Segundo Encontro de Mulheres na Tecnologia

Depois do sucesso do primeiro encontro em 2013, o /MNT promove o Segundo Encontro Nacional de Mulheres na Tecnologia nos dias 28 e 29 de Março de 2014 com 5 trilhas recheadas de palestras e Workshops das melhores profissionais de terras Tupiniquins. A partir da Sexta-feira as 18:30 terão as trilhas que segue:

  • Carreira
  • Negócio
  • Tendências
  • Equidade
  • Hand’s On

Se você não mora em Goiânia procure saber com a organização sobre as caravanas de sua cidade e pagará assim como os estudantes apenas R$ 30,00, sendo o valor integral R$ 60,00. bastante em conta a julgar pelas palestras já confirmadas.

Embora a mulherada seja onipresente na organização e apresentação do evento, não é restrito a elas, você independente de gênero tem muito a ganhar participando do mesmo.

Tudo isso e muito mais você encontra no Hotsite do evento http://mulheresnatecnologia.org/encontro2014

Sim! A Tribo do C.I. é suspeita em falar do evento, visto que o podcast tem vinheta especial para entrevista com mulheres na tecnologia 😀 e aproveitando o espaço para recomendar esses episódios para aquecer.

Conheça o /MNT:

Mais Mulheres na Tecnologia: