Projeção 3D

Renderizar objetos 3D diretamente na tela PinePaper. O sistema de projeção 3D suporta cinco tipos de projeção, cinco formas primitivas, renderização acelerada por GPU e uma câmera orbital.

Visão geral

O sistema de projeção 3D do PinePaper é uma biblioteca independente de dependência zero (~18KB minificada) que torna primitivos 3D como polígonos 2D na tela. Os objetos podem ser selecionados, arrastados e animados ao lado de itens 2D regulares.

Tipos de Projeção

Escolha como os objetos 3D são projetados na tela 2D:

Projecção Designação das mercadorias
Perspectiva Profundidade realista com encurtamento. Objetos mais distantes parecem menores. Campo de visão configurável (FOV).
Ortográfico Sem distorção de profundidade. Linhas paralelas permanecem paralelas. Comum em desenhos técnicos/engenharia.
Isométrico Visão axonométrica de ângulo igual (eixos de 30°). Popular na arte do jogo e diagramas arquitetônicos.
Gabinete Projecção oblíqua onde o eixo de profundidade é desenhado a meia escala e 45°.
Cavalier Projecção oblíqua onde o eixo de profundidade é desenhado em escala total e 45°.

Primitivos

Cinco formas 3D incorporadas:

Primitivo Designação das mercadorias
Cubo Tamanho configurável
Esfera Contagem de raio e segmento configuráveis
Cilindro Raio e altura configuráveis
Torus Principais/raios menores configuráveis
Cone Raio e altura configuráveis

Cada primitivo suporta cores personalizadas e rotação em todos os eixos.

Aceleração da GPU

A renderização seleciona automaticamente a melhor infra- estrutura disponível:

  1. WebGPU comput - mais rápido, usado quando disponível
  2. WebGL2 transform feedback — rapid fallback
  3. CPU — retrocesso universal

Aceleração da GPU ativa automaticamente quando uma cena excede 150 faces.

Câmera

A câmera orbital permite controlar o ângulo de visualização:

  • Posição — onde a câmera está no espaço 3D
  • Alvo - onde a câmera olha (centro de órbita)
  • Campo de visão — quantidade de distorção de perspectiva (somente modo perspectiva)

Selecionando & Arrastando objetos 3D

Objetos 3D são selecionáveis e arrastáveis na tela, assim como itens 2D:

  • Clique em um objeto 3D para selecioná-lo
  • Arraste para reposicioná-lo
  • As animações pausam automaticamente durante o arrastar e retomar quando são lançadas
  • A posição arrastada persiste através de quadros de animação

Modelo de apresentação de projeção 3D

Um modelo pré-construído demonstra o sistema de projeção 3D com vários primitivos, animações de rotação e diferentes tipos de projeção. Encontre-o na biblioteca de modelos.

Limitações

  • Predefinições padrão de animação (fade, rebote, rolagem, pulso, etc.) não são suportadas em objetos 3D. Objetos 3D usam seu próprio sistema de animação de rotação através do pipeline de renderização ThreeD. Aplicar uma animação padrão a um objeto 3D não terá efeito.
  • Objetos 3D renderizam como preenchimentos planos de polígono — sem mapeamento de textura, iluminação ou sombras.
  • A detecção de colisão entre objetos 3D ainda não está disponível.

Dicas

  1. Comece com isométrico — é o mais visualmente atraente para diagramas e ilustrações
  2. Use animações de rotação — girando objetos 3D dá uma forte sensação de profundidade
  3. Combinar com itens 2D — misturar primitivos 3D com texto e formas para composições de estilo infográfico
  4. Ajustar a distância da câmera — mover a câmera mais para uma perspectiva lisonjeira, mais perto para profundidade dramática

Relacionados: Animações