Como foi o desenvolvimento?#

O desenvolvimento do AstroFlow só foi possível devido aos avanços das tecnologias de aplicações em nuvem e também da área de realidade aumentada.

Fluxo de Desenvolvimento - Desenvolvimento Ágil

Desenvolvimento em Nuvem - Github Codespaces

GitHub Codespaces é uma ferramenta que permite o desenvolvimento em nuvem diretamente do GitHub. Ele oferece um ambiente de desenvolvimento completo, baseado na nuvem, onde os desenvolvedores podem escrever, testar e implantar código de maneira eficiente, sem a necessidade de configurar e manter um ambiente de desenvolvimento local complexo.

O uso do GitHub Codespace foi necessário devido aos altos níveis de recursos que são demandados da máquina em termos de processamento e exibição de gráficos 3D. Com o Github Codespaces foi possível fazer o teste de diversas tecnologias em um ambiente de desenvolvimento em nuvem acessível

Quando você cria um codespace, um clone superficial é feito do repositório ou do repositório de modelos quando a criação do codespace é feita com base em um modelo. O repositório é clonado para uma máquina virtual do Linux dedicada e privada para você. Ter uma VM dedicada garante que você tenha todo o conjunto de recursos de computação daquela máquina disponível para você. Se necessário, isso também permite que você tenha acesso total à raiz do seu contêiner.

Imagine um ambiente de desenvolvimento perfeito, sempre disponível onde quer que você esteja. O GitHub Codespaces torna isso realidade. Em vez de configurar manualmente seu ambiente de desenvolvimento em cada máquina, você pode simplesmente acessar a nuvem. Com um único clique, você é transportado para um espaço de trabalho de desenvolvimento pronto para uso, completo com todas as ferramentas, bibliotecas e configurações necessárias para o seu projeto. Isso significa que não importa se você está no seu computador de casa, em um café ou em um escritório remoto, seu ambiente de desenvolvimento é sempre consistente e pronto para uso. A colaboração com outros desenvolvedores se torna mais fácil, e você pode focar no código em vez de gastar tempo em configurações complexas.

Fazendo o navegador exibir imagens em 3D - WebXr API

A API do dispositivo WebXR fornece acesso a dispositivos de realidade virtual e realidade aumentada em navegadores da web compatíveis. É um produto do Immersive Web Community Group , que conta com colaboradores do Google, Microsoft, Mozilla e outros. O “X” em XR representa qualquer coisa no espectro de experiências imersivas.

O módulo de Realidade Aumentada do WebXR permite que o conteúdo virtual seja alinhado com o ambiente do mundo real antes de ser exibido aos usuários. WebXR usa ARCore para potencializar experiências de AR no navegador Google Chrome em dispositivos Android.iniciar

A API de Dispositivo WebXR é para acessar dispositivos de REALIDADE Virtual (VR) e AR (realidade aumentada), incluindo sensores e telas montadas na cabeça, na Web. A API de Dispositivo WebXR está disponível no Microsoft Edge e no Chrome versão 79 e versões posteriores dão suporte a WebXR como padrão. Você pode marcar o status de suporte mais recente do navegador para WebXR

Incluindo Modelos 3D no HTML - Model Viewer e ArCore

O model-viewer componente web pode ser usado para visualizar e interagir com modelos 3D na web, e faz uma transição perfeita para colocar e interagir com esses modelos 3D em Realidade Aumentada na web.

O ARCore é uma plataforma de realidade aumentada (RA) desenvolvida pela Google para dispositivos Android. Ela permite que os desenvolvedores criem aplicativos de realidade aumentada que podem interagir com o ambiente físico ao seu redor, adicionando objetos virtuais, informações ou interações a ele. O ARCore foi projetado para dispositivos Android e está disponível em muitos smartphones e tablets Android modernos.

Quando visualizado em um dispositivo Android compatível com ARCore, um componente com o aratributo exibe um botão conforme mostrado no exemplo a seguir

Exibindo Gráficos 3D - Babylon.js

Babylon.js é uma engine 3D de código aberto e um framework para criar aplicações e jogos 3D baseados na web usando JavaScript e WebGL. Ele permite que desenvolvedores criem experiências 3D imersivas e interativas que podem ser executadas diretamente em navegadores da web, sem a necessidade de plugins ou instalações adicionais de software. Aqui estão algumas características e conceitos-chave associados ao Babylon.js

O Babylon.js é uma biblioteca versatil que permite a vizualização de arquivos em diversos como formatos como GLTB, GLB e do tipo object.