Início
Serviços
Configurador 3D de produto Visualização 3D web Modelização 3D de catálogo Packshot 3D fotorrealista Realidade aumentada
Setores
Mobiliário Têxtil e moda Joalheria e luxo Artigos publicitários Equipamentos desportivos
Integrações
Shopify WooCommerce PrestaShop WordPress
Recursos
FAQ Documentação Sobre nós Contacto
Marcar uma reunião
Guia para programadores — Shopify

Um configurador 3D
no Shopify.
2 linhas de código.

<viewer-3dvue> é um Web Component nativo. Sem dependências, sem framework necessário. Funciona em qualquer lugar onde possa colar HTML — uma secção Liquid, theme.liquid ou um template de produto.

Sem dependências
Compatível Shopify 2.0
Atributos HTML ou API JS
IntersectionObserver integrado
theme.liquid
Passo 1
<!-- Em <head> ou antes de </body> -->
<script src="https://cdn.jsdelivr.net/gh/3dvue/api@v4/viewer-3dvue-min.js"></script>
product.liquid
Passo 2
<viewer-3dvue
  name="monViewer"
  src="https://app.3dvue.fr/view?p=AB01-CD02"
></viewer-3dvue>

<!-- É tudo. -->
+94%
aumento de conversão em páginas de produto com modelo 3D
Fonte: Shopify
−40%
menos devoluções após a visualização 3D do produto
Fonte: Shopify
+27%
mais encomendas após interagir com o modelo 3D
Fonte: Rebecca Minkoff / Shopify
82%
dos visitantes ativam a vista 3D quando disponível
Fonte: Cappasity
Instalação

Pronto em 3 passos. Sem ferramenta de compilação.

Um Web Component nativo — sem React, Vue nem bundler necessário. Funciona em qualquer ambiente que aceite HTML.

1
Incluir o script

Adicione o script ao seu theme.liquid, dentro de <head> ou mesmo antes de </body>. Uma única inclusão cobre todas as suas páginas de produto.

O script CDN acima é público. O atributo src no componente <viewer-3dvue> é o URL específico do seu configurador — fornecido pela 3DVue ao entregar o seu projeto.
theme.liquid
<script src="https://cdn.jsdelivr.net/gh/3dvue/api@v4/viewer-3dvue-min.js"></script>
2
Colocar o componente

Cole a tag <viewer-3dvue> onde quiser mostrar o configurador — na sua secção Liquid de produto, um bloco personalizado ou uma secção dedicada. São necessários dois atributos: name (identificador único) e src (URL do seu configurador).

O name é usado para apontar para este visor a partir de botões HTML ou da API JS. Use um identificador único por página se tiver múltiplos visores.
product.liquid
<!-- Atributos necessários -->
<viewer-3dvue
  name="monViewer"
  src="https://app.3dvue.fr/view?p=AB01-CD02"
></viewer-3dvue>

<!-- Opcional: ativa logs de consola -->
<viewer-3dvue
  name="monViewer"
  src="https://app.3dvue.fr/view?p=AB01-CD02"
  debug
></viewer-3dvue>
3
Ligar os seus seletores

Adicione atributos viewer-3dvue nos seus botões ou selects existentes para ativar mudanças de material. Sem JavaScript para escrever — o componente escuta automaticamente os eventos click e change.

product.liquid — seletores de cor
<!-- Botão que muda o tecido ao clicar -->
<button
  viewer-3dvue="monViewer"
  viewer-3dvue-clic="setMaterial"
  viewer-3dvue-meshs-materials='{"1":"0n","2":"1a"}'
>
  Azul meia-noite
</button>

<!-- Select que muda a cor -->
<select
  viewer-3dvue="monViewer"
  viewer-3dvue-change="setMaterial"
  viewer-3dvue-mesh="2,4"
>
  <option value="0n">Vermelho</option>
  <option value="1a">Azul</option>
  <option value="2b">Verde</option>
</select>
Controlo HTML puro

Sem JavaScript.
Tudo em atributos HTML.

O componente escuta automaticamente os eventos click e change em qualquer elemento que tenha os atributos corretos. Ideal para ligar com os seus swatches Shopify existentes.

setMaterial ao clicar
Ideal para botões de cor ou swatches. Aplica múltiplos materiais simultaneamente numa única ação.
<button
  viewer-3dvue="monViewer"
  viewer-3dvue-clic="setMaterial"
  viewer-3dvue-meshs-materials='{"1":"0n","3":"2b","5":"1c"}'
>
  Tema madeira natural
</button>

// {"meshIndex": "materialId"}
// O índice 0 está reservado — começar em 1
setMaterial em <select>
Ligue um select nativo do Shopify. O valor selecionado é aplicado a todas as malhas listadas em viewer-3dvue-mesh.
<select
  viewer-3dvue="monViewer"
  viewer-3dvue-change="setMaterial"
  viewer-3dvue-mesh="2,4"
>
  <option value="0n">Vermelho</option>
  <option value="1a">Azul</option>
</select>

// viewer-3dvue-mesh="2,4"
// aplica-se à malha 2 E à malha 4
API JavaScript

Para casos de uso avançados.

Quando precisa de controlo programático — carregamento dinâmico de modelos, captura de imagem, exportação SVG. Todos os métodos verificam que o visor está pronto antes de executar.

querySelector Obter a referência do componente — ponto de partida para toda a API JS
const viewer = document.querySelector('viewer-3dvue[name="monViewer"]');

// Todos os métodos verificam que o visor está carregado (LOAD_COMPLETE)
// Se não estiver pronto → aviso na consola, chamada ignorada
setMaterial() Aplicar materiais num objeto — mesma lógica que os atributos HTML, mas em JS
// No objeto 0 (por omissão)
viewer.setMaterial({ "1": "0n", "3": "2b" });

// Num objeto específico (multi-segmento)
viewer.setMaterial({ "1": "1a" }, 1);
// setMaterial(materialList, objectIndex = 0)
loadModel() / addModel() / removeModel() Gestão dinâmica de modelos — para produtos com múltiplos componentes
// Carregar um novo modelo (substitui o atual)
viewer.loadModel("AB01-CD02");

// Adicionar um segmento ao modelo existente
viewer.addModel("EF03");
viewer.addModel("EF03-GH04");

// Eliminar um segmento pelo seu índice
viewer.removeModel(1);
// ⚠ Não é possível eliminar o último segmento restante
captureToBase64() Capturar o rendering atual como imagem base64 — útil para pré-visualizações de encomendas ou partilha
viewer.captureToBase64();

viewer.addEventListener("onCaptureBase64Complete", (e) => {
  const { base64, error } = e.detail;
  if (error) { console.error(error); return; }
  // base64 = "data:image/png;base64,..."
  document.querySelector("#preview").src = base64;
});
resetCamera() · pauseRenderer() · startRenderer() Controlo de câmara e rendering. pauseRenderer/startRenderer são chamados automaticamente pelo IntersectionObserver.
// Devolve a câmara à sua posição inicial
viewer.resetCamera();

// Pausa manual (poupa GPU)
viewer.pauseRenderer();
viewer.startRenderer();

// ℹ Estes métodos são geridos automaticamente
// quando o componente sai/entra no viewport
API SVG — Personalização avançada

Texto, logos, provas.
Tudo em SVG.

A API SVG permite-lhe adicionar texto e imagens diretamente sobre o produto 3D através de zonas de colocação definidas no modelo. Usa-se para produtos personalizáveis — marcação, gravação de texto, carregamento de logo do cliente.

Método Descrição
addSVGText(text, opts) Adiciona texto a uma zona de colocação. Opções: fill, fontFamily, selectable
addSVGImage(source, opts) Adiciona uma imagem (File ou ArrayBuffer) a uma zona de colocação. Sem cópia via Transferable Objects.
setSVGElementParam(param, value, id) Modifica um parâmetro de um elemento SVG existente. id=null aponta para o elemento selecionado.
exportSVG() Gera o ficheiro SVG do produto configurado — prova pronta para imprimir.
Exemplo — carregamento de logo do cliente
// 1. Adicionar texto sobre o produto
viewer.addSVGText("O meu texto", {
  fill: "#ffffff",
  fontFamily: "Arial",
  dropzone: "dropzone001",
  selectable: true
});

// 2. Carregar logo a partir de um input de ficheiro
const file = input.files[0];
await viewer.addSVGImage(file, {
  dropzone: "dropzone001"
});

// 3. Exportar a prova SVG
viewer.exportSVG();
viewer.addEventListener("onSVGExportComplete", (e) => {
  const { path, error } = e.detail;
  // path = URL do ficheiro SVG gerado
});
Documentação completa

Referência API, atributos HTML, eventos, exemplos Liquid do Shopify. Tudo está documentado e mantido atualizado.

Ver documentação
Suporte técnico humano

Sem sistema de tickets automatizado. Fala diretamente com o Matthieu, o programador que concebeu a API. Resposta em 24 horas.

Marcar uma chamada
Demo interativa

Experimente o configurador em condições reais antes de o integrar. Veja exatamente o que os seus clientes verão na sua loja.

Ver demo
Integremos juntos

Pronto para integrar?
Nós tratamos dos modelos 3D.

Você gere o código do lado Shopify, nós tratamos de todo o resto — modelização, materiais, configuração. Em 30 minutos, mostramos-lhe o que podemos fazer com o seu catálogo.

Script entregue ao finalizar — pronto para colar
IDs de modelo e material documentados por projeto
Suporte direto com o programador da API
Compatível com Shopify 2.0, OS 2.0, Dawn e todos os temas