# Verge3D

O Verge3D é um renderizador em tempo real e um kit de ferramentas usado para criar experiências 3D interativas em sites web.

## Visão geral

O Verge3D permite que os usuários convertam conteúdo de ferramentas de modelagem 3D (atualmente, o Autodesk 3ds Max e o Blender são suportados) para visualização em um navegador da web. Verge3D foi criado pelo grupo principal de engenheiros de software que criou o framework Blend4Web.

## Recursos

Verge3D usa o WebGL para renderização. Incorpora componentes da biblioteca Three.js, expondo sua API aos desenvolvedores de aplicativos.

### Puzzles

    Podem ser adicionadas funcionalidades ao aplicativo via JavaScript, codificando diretamente ou usando Puzzles, o ambiente de programação visual do Verge3D baseado no Google Blockly. Puzzles é voltado principalmente para não programadores, permitindo a criação rápida de cenários interativos de maneira arrastar e soltar.

### App Manager e publicação na web

    O App Manager é uma ferramenta leve e baseada na Web para criar, gerenciar e publicar projetos Verge3D, que executa no servidor de desenvolvimento local. O serviço de rede Verge3D integrado no App Manager permite a publicação de aplicativos Verge3D por meio dos serviços em nuvem Amazon S3 e EC2 .

### PBR

    Para fins de criação de materiais, é oferecido um pipeline de renderização baseado em glTF 2.0, juntamente com a abordagem padrão baseada em shader. As texturas PBR podem ser criadas usando um software de texturização externo, como o Substance Painter, para o qual o Verge3D oferece predefinição de exportação correspondente. Além do modelo glTF 2.0, o Verge3D suporta materiais físicos do 3ds Max (com referência ao Autodesk Raytracer) e materiais Eevee em tempo real do Blender 2.80.

### integração de software glTF e DCC (Digital Content Creation)

    O Verge3D se integra diretamente ao Blender e ao Autodesk 3ds Max, permitindo que os usuários criem geometria, materiais e animações 3D dentro do software; e depois exportem no formato glTF baseado em JSON. O recurso Sneak Preview permite exportar e visualizar cenas do ambiente da ferramenta DCC.

### Publicações 3D do Facebook

    Para publicação no Facebook, o Verge3D oferece uma opção específica de exportação GLB. Os arquivos GLB exportados são exibidos e podem ser abertos no App Manager.

### Compactação de arquivos

    Os arquivos exportados podem opcionalmente usar a compactação LZMA, resultando em redução no tamanho do arquivo de até 6x.

### Layouts de interface do usuário e site

    Os layouts de interface, criados usando editores externos tipo WYSIWYG, podem ser vinculados ao Puzzles para desencadear alterações em uma cena 3D sendo renderizada no navegador; e vice-versa.

### Animação

    Verge3D suporta animação esquelética, incluindo animação de bípedes e plataformas de personagens; e permite a animação de material parametrizado. As peças do modelo também podem ser configuradas para serem arrastadas pelo usuário.

### Física

    O módulo de física pode ser vinculado separadamente para permitir detecção de colisões, objetos em movimento dinâmico, suporte para personagens e veículos, molas, cordas e simulação de tecidos. A partir da versão 2.11, simulações simples de física podem ser criadas e controladas sem codificação via Puzzles, o sistema de programação visual usado pelo Verge3D.

### AR / VR

    A atualização 2.10 adicionou suporte ao WebXR, uma tecnologia aberta em desenvolvimento, projetada para permitir que a realidade virtual e as experiências de realidade aumentada sejam exibidas nos navegadores da web. Funciona com fones de ouvido com controladores, como o HTC Vive e Oculus Rift; e aqueles sem, como o Google Cardboard. As experiências de AR / VR podem ser ativadas por meio de Puzzles ou JavaScript.

## Workflow

O fluxo de trabalho Verge3D difere substancialmente de outras estruturas principais do WebGL. O desenvolvimento de um novo aplicativo Verge3D geralmente é iniciado a partir da modelagem, texturização e animação de objetos 3D. Os modelos são montados em uma cena 3D em um único arquivo * .max ou * .blend. Esse arquivo é usado como base para um projeto Verge3D inicializado no App Manager. Um cenário interativo é opcionalmente adicionado usando a sobreposição do editor Puzzles. Um aplicativo Verge3D pode ser visualizado no navegador da Web em qualquer estágio de desenvolvimento usando o App Manager. O aplicativo da Web finalizado pode ser implantado na rede Verge3D, no Facebook ou no site do usuário.

## Usos notáveis

NASA's Jet Propulsion Laboratory utilizou o Verge3D para criar uma visualização interactiva 3D da sonda Marte InSight. O aplicativo da Web permite explorar e interagir com o modelo em tempo real da espaçonave, com a possibilidade de mover diferentes partes e abrir os painéis solares.
O aplicativo web interativo mais antigo da NASA, Experience Curiosity, foi transportado para o Verge3D a partir do Blend4Web. O aplicativo permite operar o veículo espacial: controlar suas câmeras e o braço robótico; e reproduzir alguns dos eventos importantes da missão do Mars Science Laboratory.