Colas Mérand
26/06/2025
modélisation 3D
animation 3D
Three.js
5 minutes
À l'ère du numérique, les expériences web évoluent constamment vers plus d'interactivité et d'immersion. L'intégration de modèles 3D dans les applications web représente aujourd'hui un atout majeur pour les entreprises souhaitant se démarquer et offrir une expérience utilisateur innovante. Parmi les cas d'usage les plus pertinents, la visualisation de produits en trois dimensions - comme des emballages ou des boîtes en carton - permet aux utilisateurs d'interagir avec les objets virtuels de manière intuitive et engageante.
La création de modèles 3D d'emballages, notamment de boîtes en carton de type FEFCO (Fédération Européenne des Fabricants de Carton Ondulé), présente plusieurs défis techniques spécifiques :
Les modèles doivent respecter scrupuleusement les dimensions réelles des produits. Pour une boîte standard comme la FEFCO 0210 (boîte à rabats), chaque millimètre compte. Une modélisation précise à l'échelle (par exemple 100x100x100 mm) garantit que le rendu final correspondra parfaitement au produit physique.
Les modèles 3D destinés au web doivent être suffisamment légers pour assurer des temps de chargement rapides, tout en conservant un niveau de détail satisfaisant. Cette contrainte nécessite une expertise particulière en optimisation de maillage et de textures.
L'animation d'ouverture et de fermeture d'une boîte en carton doit reproduire fidèlement la physique du matériau. Les plis, les rabats et les articulations doivent se comporter de manière réaliste, ce qui implique une compréhension approfondie des propriétés mécaniques du carton.
Pour permettre l'application ultérieure de designs personnalisés, le modèle doit disposer d'un UV mapping soigneusement réalisé, sans étirement ni déformation des textures. Cette étape est cruciale pour garantir que les graphismes appliqués sur la boîte virtuelle apparaîtront correctement.
Le format GLB (version binaire du format glTF) s'est imposé comme la référence pour l'intégration de modèles 3D dans les applications web. Ce format présente plusieurs avantages :
Pour une intégration réussie dans Three.js, le modèle GLB doit être correctement centré, orienté et structuré. Les animations doivent être intégrées dans la timeline du fichier pour faciliter leur contrôle via l'API de Three.js.
Chez Platane, nous avons développé une méthodologie éprouvée pour la création de modèles 3D d'emballages destinés au web :
Cette approche nous a permis de réaliser avec succès plusieurs projets impliquant des visualisations 3D interactives, comme la plateforme Epictory où nous avons développé un système de génération de posters 3D basés sur des parcours Strava, ou encore pour le Centre Pompidou en collaboration avec Jean-Charles de Castelbajac, où nous avons créé une application de jeu intégrant des éléments 3D interactifs.
Prenons l'exemple concret d'une boîte à rabats de type FEFCO 0210. Le processus de création se déroule comme suit :
La modélisation commence par la création d'un patron 2D respectant les dimensions spécifiées. Ce patron est ensuite plié virtuellement pour former la structure 3D de la boîte. Les épaisseurs de matériau, les arrondis des plis et les découpes sont modélisés avec précision.
Le dépliage UV est réalisé de manière à minimiser les coutures et à éviter les déformations. Pour une boîte en carton, nous privilégions généralement un découpage qui suit les arêtes naturelles de la boîte, facilitant ainsi l'application ultérieure de designs.
Un système d'armature est mis en place pour contrôler les mouvements des rabats et des pans de la boîte. L'animation d'ouverture est alors créée en respectant la séquence logique : dépliage des rabats supérieurs, puis des rabats latéraux, et enfin déploiement complet de la structure. Une attention particulière est portée à la fluidité des mouvements et au timing.
Le modèle final est exporté au format GLB avec ses animations intégrées. Une phase d'optimisation permet de réduire la taille du fichier tout en préservant la qualité visuelle et la fluidité des animations.
L'intégration d'un modèle GLB dans Three.js est relativement simple grâce au chargeur GLTFLoader. Voici un exemple simplifié de code d'intégration :
import * as THREE from 'three';
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
// Configuration de la scène Three.js
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
const renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// Chargement du modèle GLB
const loader = new GLTFLoader();
let mixer;
loader.load(
'path/to/box_model.glb',
(gltf) => {
// Ajout du modèle à la scène
scene.add(gltf.scene);
// Configuration de l'animation
if (gltf.animations && gltf.animations.length) {
mixer = new THREE.AnimationMixer(gltf.scene);
const action = mixer.clipAction(gltf.animations[0]);
action.play();
}
},
(xhr) => {
console.log((xhr.loaded / xhr.total * 100) + '% loaded');
},
(error) => {
console.error('An error happened', error);
}
);
// Animation loop
const clock = new THREE.Clock();
function animate() {
requestAnimationFrame(animate);
if (mixer) {
mixer.update(clock.getDelta());
}
renderer.render(scene, camera);
}
animate();
Ce code permet de charger le modèle GLB, de lancer son animation et de le rendre dans une scène Three.js. L'animation peut être contrôlée via l'API AnimationMixer de Three.js, offrant ainsi la possibilité de déclencher l'ouverture de la boîte en réponse à une interaction utilisateur.
L'intégration de modèles 3D interactifs dans votre application web présente de nombreux avantages :
La modélisation 3D d'emballages comme les boîtes en carton FEFCO pour le web représente un défi technique qui requiert une expertise spécifique. La création de modèles précis, correctement UV-mappés et dotés d'animations fluides nécessite une compréhension approfondie des outils de modélisation 3D et des contraintes du web.
Chez Platane, nous combinons notre expertise en développement web et en 3D pour créer des expériences interactives innovantes. Notre approche technique rigoureuse et notre créativité nous permettent de relever les défis les plus complexes et de transformer vos idées en réalisations concrètes.
Vous avez un projet impliquant de la 3D interactive pour le web ? Que ce soit pour la visualisation de produits, la création d'un configurateur 3D ou toute autre application innovante, notre équipe est prête à vous accompagner. Prenez rendez-vous via notre formulaire de contact pour échanger sur votre projet et découvrir comment notre expertise peut vous aider à atteindre vos objectifs. Collaborer avec Platane, c'est s'assurer d'une solution sur mesure, techniquement solide et créativement distinctive.
Vous préférez discuter de vive voix ? Nous aussi et c'est évidemment sans engagement !
Une question, un besoin de renseignements ? N'hésitez pas à nous contacter.