Les modèles 3D : principes de base
L’éditeur fonctionne principalement avec le format gltf. Plus particulièrement la variante gltf-binary
décrite ici.
Des modèles au format USD (.usdz
) peuvent être fournis pour activer la réalité augmentée sur les appareils iOS mais ils ne peuvent pas être intégrés à la scène web3D pour le moment.
Exporter pour eCorpus
Blender est le logiciel idéal pour convertir des fichiers de la plupart des formats 3D (OBJ, *FBX, etc…) vers glTF car il dispose d’un plugin officiel maintenu par le consortium Khronos, responsable du format glTF.
Menu d'export
Le plugin glTF est installé par défaut avec blender. Assurez-vous d'utiliser une version récente de Blender, de préférence 4.0 ou supérieure.
Cliquez sur File > Export > glTF 2.0 pour ouvrir la fenêtre d'export
Vous pouvez choisir de n'exporter que la sélection courante ou toute la scène.
Options d'export
Retrouvez la documentation complète du plugin sur doc.blender.org.
Le format Binary (.glb
) est à privilégier.
Il est aussi possible de choisir entre Z up et Y up dans le menu Transform pour l'orientation des axes de la scène.
Pensez à activer la compression, qui permet de réduire la taille du fichier de sortie: cela accélèrera les temps de chargement : Sur certains modèles, la taille compressée peut être jusqu'à deux fois plus petite que la taille originale.
Il n'est généralement pas utile de modifier les paramètres de compression.
Aller plus loin
Niveaux de détail
L’application peut enregistrer plusieurs niveaux de détail pour un objet et tenter d’en afficher le plus pertinent. Les niveaux supportés sont :
Thumb
Low
Medium
High
Highest
La selection se fait en fonction de la capacité maxTextureSize
du moteur de rendu
Voir la doc : WebGLRenderer.capabilities.maxTextureSize
En fonction de cette valeur, la qualité idéale sera :
- si inférieur à 2048 : Low.
- si inférieur à 4096 : Medium.
- sinon : High.
Il est conseillé de fournir des textures de taille correspondante ou inférieure avec les modèles.
Shaders
En pratique, les modèles sont affublés d’un MeshStandardMaterial
. Les bénéfices et limites en sont décrites dans la documentation THREEJS.