Guías técnicas para preparar tus archivos 3D, texturas, activos de BAT e integrar el configurador en tu sitio. Última actualización: abril 2026.
Formatos aceptados, reglas de conversión y buenas prácticas en Blender para una integración sin fricciones.
La plataforma 3DVue acepta varios formatos 3D. GLTF es el formato recomendado — ofrece la mejor relación calidad/tamaño de archivo para el renderizado web en tiempo real.
Los archivos de software CAD (SolidWorks, Fusion 360, CATIA) generalmente están en formato .STEP, .STP o .STL. Deben convertirse antes de la integración.
1. Abrir FreeCAD 2. Importar el archivo STEP/STL Ctrl + I → seleccionar tu archivo .stp o .stl 3. Exportar a GLTF o DAE Ctrl + E → elegir formato DAE o GLTF Conversor en línea (alternativa rápida): https://imagetostl.com/fr/convertir/un-fichier/stp/en/glb
Si trabajas directamente en Blender, aquí están los ajustes de exportación GLTF recomendados para la plataforma 3DVue. Usar la compresión Draco reduce significativamente el tamaño del archivo.
Formato: glTF Binary (.glb) ← agrupa todo en un archivo Compresión: Draco activado ← reduce el tamaño entre 60-80% Texturas: Incluir → marcar Materiales: Exportar materiales → marcar Transformadas: Aplicar → marcar ← obligatorio, ver sección Transformadas
Los scripts automatizan la exportación de archivos GLTF y mapas UV. Para que funcionen correctamente, las colecciones de Blender deben seguir una estructura precisa.
Collection └── nombre-producto ← sin acentos ni espacios ├── modelisation ← todos los objetos 3D └── gltf ← archivos de exportación generados Ejemplos correctos: nombre-producto: butterfly-chair ✓ nombre-producto: tolix-chair-a ✓ Ejemplos incorrectos: nombre-producto: Butterfly Chair ✗ mayúsculas + espacio nombre-producto: silla-estantería ✗ caracteres acentuados
El desplegado UV determina la calidad del renderizado de texturas. Un UV mal hecho crea distorsiones visibles — los patrones se estiran o comprimen en ciertas caras.
Estos addons son utilizados sistemáticamente por el equipo de 3DVue para garantizar UVs de calidad en todos los proyectos.
| Addon | Uso principal |
|---|---|
| UV Toolkit | Mapa de checker para visualizar distorsiones UV — esencial para verificar la calidad del desplegado antes de exportar |
| Texel Density | Garantiza la coherencia de densidad entre todos los objetos del mismo proyecto. Si la madera aparece en varios objetos, siempre debe tener el mismo tamaño aparente |
| UVPackmaster | Optimiza la colocación de islas UV en el mapa, gestiona la orientación según la dirección del objeto (útil para madera, tejidos con patrón direccional) |
| Mio3 | Endereza UVs distorsionados, permite superponer UVs similares (ahorra espacio en el mapa UV) |
La densidad de texels define cuántos píxeles de textura cubren una superficie real determinada. Si dos objetos del mismo cliente tienen densidades de texels diferentes, una textura de madera aparecerá a escalas diferentes en cada objeto — lo que no es realista.
Favorecer desplegados UV basados en costuras con el método Conformal — excepto para objetos de color uniforme que no necesitan un desplegado preciso.
Cuando el configurador usa un BAT SVG (personalización con carga de logo o texto), se aplican reglas adicionales al desplegado UV.
Convenciones de nomenclatura, formatos y especificaciones para archivos de textura compatibles con la plataforma 3DVue.
Cada canal PBR corresponde a un archivo de textura con un nombre estandarizado. La plataforma identifica el rol de cada textura por su nombre.
| Nombre de archivo | Rol | Soporte |
|---|---|---|
| albedo | Color base del material (también llamado difuso) | ✅ Completo |
| roughness | Nivel de brillo — blanco = mate, negro = brillante | ✅ Completo |
| metallic | Propiedades metálicas — reflejo del entorno | ✅ Completo |
| normal | Relieve falso — simula salientes y hundimientos sin polígonos adicionales | ✅ Completo |
| emissive | Zonas luminosas (LEDs, pantallas, piezas retroiluminadas) | ✅ Completo |
| occlusion | Sombras de contacto entre superficies (oclusión ambiental) | ✅ Completo |
| bump | Alternativa al mapa normal — ignorado si ya hay un mapa normal | ⚠️ Ignorado si hay normal |
| alpha | Transparencia — a probar caso por caso, no compatible con RA | ⚠️ No compatible con RA |
Guía de Illustrator para proyectos de personalización — carga de logo, texto grabado, zonas de marcado. El BAT SVG es el archivo de producción generado por el configurador.
Formato: BAT-nombremodelo-dimension_albedo.svg Ejemplos: BAT-camiseta-tallaL_albedo.svg ✓ BAT-taza-25cl_albedo.svg ✓ BAT-camiseta talla L albedo.svg ✗ espacios no permitidos BAT-camiseta-tallaé_albedo.svg ✗ caracteres acentuados no permitidos
Las capas de Illustrator deben organizarse según una estructura precisa para que el configurador pueda identificar las zonas editables y las zonas de referencia.
| Nombre de capa | Rol | ¿Editable? |
|---|---|---|
| masqué | Capa de trabajo — elementos de prueba o apartados sin eliminar | ✅ Libre |
| non vecto | Texto no vectorizado conservado para reutilización — no exportado | ✅ Libre |
| gabarit | Contornos del modelo 3D — guía de colocación, no modificar | 🚫 No tocar |
| logo | Todos los logos correctamente renombrados | ✅ Libre |
| design, design-1, design-2… | Elementos gráficos para cada variante de diseño | ✅ Libre |
| présentation | Plantilla común a todos los diseños — no modificar | 🚫 No tocar |
Script JSX para renombrar automáticamente los elementos seleccionados al formato color_XXX. Ahorro considerable de tiempo en proyectos con muchas zonas editables.
1. Copiar el código siguiente en un archivo de texto 2. Renombrar el archivo como RenameColor.jsx 3. Copiar a la carpeta de scripts de Illustrator: C:\Program Files\Adobe\Adobe Illustrator 2026\Presets\fr_FR\Scripts\ 4. Ejecutar desde Illustrator: Archivo → Scripts → RenameColor
// Script Rename Color — Ultra Fast // Renombra todos los objetos seleccionados a "color_XXX" (function() { if (app.documents.length === 0) { alert("Por favor abre un documento de Illustrator."); return; } var doc = app.activeDocument; var selection = doc.selection; if (selection.length === 0) { alert("Por favor selecciona al menos un objeto para renombrar."); return; } var number = prompt("Número (ej. 001, 002, etc.):", "001"); if (number === null || number === "") { return; } var finalName = "color" + number; for (var i = 0; i < selection.length; i++) { selection[i].name = finalName; } alert(selection.length + " objeto(s) renombrado(s) a: " + finalName); })();
El visor 3DVue es un Web Component nativo. Funciona en cualquier entorno HTML — Shopify, WooCommerce, PrestaShop, WordPress, o un sitio a medida.
Añade el script una vez en tu <head> o antes de </body>. Una sola inclusión es suficiente para todas las páginas de tu sitio.
<script src="https://cdn.jsdelivr.net/gh/3dvue/api@v4/viewer-3dvue-min.js"></script>
Coloca la etiqueta <viewer-3dvue> donde quieras que aparezca el visor. Dos atributos son obligatorios: name (identificador único en la página) y src (URL de tu configurador, proporcionada por 3DVue en la entrega).
<!-- Atributos obligatorios --> <viewer-3dvue name="miVisor" src="https://app.3dvue.fr/view?p=AB01-CD02" ></viewer-3dvue> <!-- Con debug activado (logs en consola) --> <viewer-3dvue name="miVisor" src="https://app.3dvue.fr/view?p=AB01-CD02" debug ></viewer-3dvue>
El componente escucha automáticamente los eventos click y change en cualquier elemento que tenga los atributos siguientes. Sin JavaScript necesario.
| Atributo | Valor | Uso |
|---|---|---|
| viewer-3dvue | Nombre del visor objetivo | Obligatorio en cada elemento disparador |
| viewer-3dvue-clic | setMaterial | Dispara un cambio de material al hacer clic |
| viewer-3dvue-change | setMaterial | Dispara un cambio al seleccionar en <select> |
| viewer-3dvue-meshs-materials | JSON {"meshIndex":"materialId"} | Materiales a aplicar (varios meshes admitidos) |
| viewer-3dvue-mesh | "1,2,3" | Índices de mesh objetivo para un <select> |
<!-- Botón que cambia varios materiales al hacer clic --> <button viewer-3dvue="miVisor" viewer-3dvue-clic="setMaterial" viewer-3dvue-meshs-materials='{"1":"0n","3":"2b"}' > Azul Medianoche </button> <!-- Select que aplica el valor elegido --> <select viewer-3dvue="miVisor" viewer-3dvue-change="setMaterial" viewer-3dvue-mesh="2,4" > <option value="0n">Rojo</option> <option value="1a">Azul</option> </select>
Para casos avanzados — carga dinámica, captura de imagen, exportación SVG. Recuperar la referencia del componente via querySelector.
| Método | Descripción |
|---|---|
| setMaterial(materials, index) | Aplica materiales a los meshes de un objeto |
| loadModel(id) | Reemplaza el modelo actual |
| addModel(id) | Añade un objeto a la escena |
| removeModel(index) | Elimina un objeto por su índice |
| resetCamera() | Restablece la cámara a su posición inicial |
| pauseRenderer() / startRenderer() | Control manual del renderizador (gestionado automáticamente por IntersectionObserver) |
| captureToBase64() | Captura el render como imagen base64 → evento onCaptureBase64Complete |
| exportSVG() | Genera el BAT SVG del producto → evento onSVGExportComplete |
| addSVGText(text, opts) | Añade texto en una zona editable del producto |
| addSVGImage(source, opts) | Añade una imagen (File o ArrayBuffer) en una zona editable |
| loadFonts(fonts) | Precarga fuentes de Google Fonts o fuentes .woff2 personalizadas |
// Obtener la referencia del componente const viewer = document.querySelector('viewer-3dvue[name="miVisor"]'); // Cambiar materiales viewer.setMaterial({ "1": "0n", "3": "2b" }); // Capturar el render actual viewer.captureToBase64(); viewer.addEventListener("onCaptureBase64Complete", (e) => { const { base64, error } = e.detail; if (!error) document.querySelector("#preview").src = base64; });
Matthieu responde directamente — sin ticketing, sin demoras. Si algo no está claro o tu caso no está cubierto aquí, reserva una reunión.