Articles sur : Bibliothèque
Cet article est aussi disponible en :

Création d'objets 3D

Les exigences de performance pour la synthèse d'images (aka rendu) d'objets et de scènes tridimensionnels sont très différentes pour les applications VR. Alors que les applications VR interactives et dynamiques telles que HEGIAS VR doivent calculer les images en temps réel (rendu en temps réel), les applications VR statiques telles que Panotour ou les planeurs spatiaux peuvent investir plusieurs heures, voire plusieurs jours, pour le calcul d'une scène photoréaliste (rendu réaliste).


Pour que les objets tridimensionnels puissent être visualisés en quelques millisecondes dans les applications VR dynamiques, ils doivent être optimisés pour le rendu en temps réel. Les principales étapes et exigences sont décrites ci-dessous. La maxime est la suivante : autant que nécessaire, aussi peu que possible.


Pour chaque objet à représenter dans HEGIAS VR, il faut toujours commencer par vérifier s'il existe déjà un modèle 3D haute résolution. Par exemple, Evermotion et Dimensiva proposent pour les visualisations architecturales de nombreux objets de designers qui peuvent être utilisés comme modèles de départ.


Modèles HiRes et LowRes




  • HiRes : 55k polygones
  • LowRes : 2k polygones


Le processus de modélisation des objets est généralement toujours le même : Le point de départ est un modèle géométrique à haute résolution (modèle HiRes). Grâce au Normal Mapping, les informations importantes pour l'éclairage d'un objet sont transférées sur un modèle 3D à faible résolution (modèle LowRes).


Pour ce faire, on utilise des outils dits de retopologie qui décomposent un objet en un nombre aussi réduit que possible de surfaces planes et carrées (quads) dans le but de réduire au maximum le nombre de polygones décrivant l'objet. Le résultat est ce que l'on appelle un modèle de maillage (mesh). Dans la plupart des cas, les outils de réduction automatiques ne produisent pas de maillages utilisables. Veillez à ce que les maillages des petits objets ne contiennent pas plus de géométrie que ceux des objets plus grands et utilisez autant de groupes de lissage (smoothing groups) que possible pour accentuer les formes.


Ensuite, vous fixez proprement un modèle de texture bidimensionnel (UV) sur le modèle LowRes. Grâce à ce que l'on appelle le mapping UV, les modèles LowRes sont pratiquement foliés. Pour le baking des NormalMaps, il est important que les UV ne se chevauchent pas ou ne se reflètent pas, car cela pourrait entraîner des erreurs de texture lors du baking. Lors de la création des UV, il faut toujours travailler avec différentes textures de damier et de lignes et éliminer si possible complètement les distorsions.


Si des détails identiques ou en miroir apparaissent sur un objet, ils ne doivent être modélisés qu'une seule fois et placés aux bons endroits après le baking et la texturation. Les modèles en temps réel ne doivent pas être construits avec précision. Cependant, les géométries flottantes ne sont pas autorisées, car le zBuffer temps réel est limité et cela pourrait entraîner un scintillement (z-fighting).


Si possible, un mesh ne devrait être folié qu'avec un seul matériau à la fois. Les objets de très petite taille, par exemple les pots de fleurs, les couverts, les livres, les images, etc. devraient être regroupés logiquement et recouverts d'une seule texture et d'un seul matériau.


Le point de pivot ou le point central doit toujours être déplacé au bon endroit, sinon des problèmes peuvent survenir lors du placement ou de l'animation de l'objet.


Matériaux et textures


Les matériaux et les textures doivent porter le même nom que le mesh, en évitant les abréviations ou les numérotations.


Chez HEGIAS, nous travaillons exclusivement avec Substance Painter. Les textures peuvent toutefois être créées avec d'autres outils. Il est important que le format des textures PBR soit correct. Les NormalMaps et les Metallic-Roughness Maps ne sont pas des textures modifiables à la main, mais des données enregistrées dans un format d'image !


N'utilisez pas d'outils qui promettent de générer des textures PBR complètes à partir d'une image. Cela a toujours l'air faux. Utilisez ensuite Substance Painter ou xNormal pour baliser le modèle HiRes sur le modèle LowRes. Pour gagner du temps, vous pouvez vérifier sur Substance Source et Substance Share s'il existe éventuellement des textures que l'on peut y acheter. Sinon, vous pouvez créer des textures procédurales avec SubstanceDesigner.


Bake in Substance Painter



Lorsqu'un objet présente différentes matières, il est possible d'attribuer différentes matières au modèle HiRes et de les faire baliser dans une ID-Map. Dans le cas du coffre au trésor, deux matériaux différents ont été attribués au modèle HiRes : Bois et Métal.



Le bois a été créé et travaillé à partir de références photographiques d'un vrai coffre au trésor. Pour le métal, un matériau standard a été utilisé. La carte d'identité a permis de créer rapidement un masque de matériau pour le bois et les ferrures. D'autres effets de masque ont été utilisés pour définir et traiter les traces d'usure.


HEGIAS VR utilise l'API WebVR et les données sont chargées sous forme de fichiers glTF. Les textures doivent impérativement être conformes au standard glTF-PBR :


  • Albedo-/Base Color-Map
  • Normal-Map
  • Emission-Map (rarement utilisée)
  • ORM-Map, le format pour l'ORM-Map est le suivant :
  • Rouge : Ambient Occlusion
  • Vert : Roughness
  • Bleu : Metallic


Important : les cartes normales et les cartes ORM ne doivent pas être comprimées, car il s'agit de fichiers de données et non de fichiers d'images. Si elles sont compressées, des artefacts d'ombrage sont clairement visibles. Pour la même raison, les deux maps devraient être sauvegardées dans l'espace couleur linéaire. Les cartes d'albédo et d'émission doivent être sauvegardées au format JPEG (sRGB) et les cartes normales et ORM au format PNG (linéaire).


Plus d'informations : https://www.khronos.org/blog/art-pipeline-for-gltf


Objet final


Pour un meilleur résultat, les fichiers doivent être enregistrés en tant que fichiers GLB. Ceux-ci peuvent être testés directement dans HEGIAS VR. Il est également possible de vérifier si l'objet final est visualisé comme prévu dans le visualiseur d'objets 3D de Windows.


Les textures sont intégrées dans les fichiers GLB. Elles ne doivent pas être trop grandes, car cela signifie un temps de téléchargement plus long et une consommation de mémoire plus élevée pour le client final. Il faut ici faire preuve de discernement - veuillez comparer le nouvel objet avec des objets déjà existants.


Toutes les textures ne doivent pas être de la même taille. Dans le cas de la carte ORM, il est parfois possible d'utiliser une texture deux fois plus petite, sans pour autant devoir accepter une perte de qualité. Cela varie toutefois d'un objet à l'autre.


Les mots-clés réservés suivants ne doivent pas être utilisés dans les noms de fichiers :


  • Ceiling
  • Floor
  • Glass
  • Wall
  • Stair
  • Intérieur


Ces mots-clés peuvent donner des résultats inattendus, car le moteur graphique les interprète et remplace les matériaux le cas échéant. Les objets doivent toujours être créés à l'échelle réelle pour qu'ils apparaissent correctement dans la VR. Veuillez également toujours vérifier cela dans le casque. S'il arrive qu'un objet semble trop petit alors qu'il a été réalisé à l'échelle, il peut être utile d'ajouter quelques petits détails à l'objet.


Plus de détails


  • Les noms de fichiers doivent toujours correspondre à la notation CamelCase, par ex : MonPremierObjet.glb, MonPremierObjet.fbx.
  • N'utilisez pas de signes moins, d'espaces, de points, d'abréviations et surtout pas de numéros de version dans le nom du fichier. N'utilisez les underscores que sporadiquement et uniquement lorsque cela est vraiment utile, par exemple : VitraPolderCompact_LeatherBlack.glb et VitraPolderCompact_LeatherBlue.glb.
  • Tous les noms et désignations doivent être en anglais.


Edge Loops



Edge Loops /Edge Flow


Dans la mesure du possible, essayez de travailler en quads et de créer des boucles de bord propres. Les boucles propres peuvent être facilement sélectionnées, éditées et supprimées. Vous pouvez ainsi modifier rapidement les meshes LowRes.


Détails HiRes


Pour les détails dans la géométrie HiRes (et seulement là), on peut utiliser des détails "volants". Au lieu d'intégrer complètement les détails dans la géométrie, on les laisse simplement flotter au-dessus de la géométrie. Lors du balisage de la NormalMap, cela ne fait presque aucune différence. En revanche, le modèle est plus facile à entretenir et à modifier. C'est un grand avantage pour les formes négatives comme les bosses, les entailles et autres creux.



Le résultat "plié"



Groupes de lissage


Les Smoothing Groups peuvent fortement influencer l'apparence d'un objet LowPoly. C'est pourquoi il faut toujours veiller à les utiliser. Sinon, une valeur aléatoire est utilisée lors de l'importation de l'objet, ce qui peut conduire à une moins bonne représentation dans le moteur graphique. Les Smoothing Groups font également une différence lors du balisage. C'est pourquoi il faut créer les Smoothing Groups avant le balisage et vérifier après le balisage si le résultat souhaité a été obtenu.



Couleurs des sommets


Comme les Vertex Colors ne sont pas supportés par HEGIAS, ils ne devraient pas être utilisés. Dans la plupart des cas aujourd'hui, seules les informations destinées aux programmeurs sont codées en couleurs de sommets pour permettre/contrôler des effets spéciaux.


Cartes UV


La plupart des applications se réservent la deuxième carte UV d'un objet et l'écrasent si nécessaire. Pour HEGIAS VR, il n'y a aucune raison d'attribuer une deuxième carte UV à un objet. Dans la pratique, il s'est avéré utile d'attribuer à un objet plus de géométrie et des textures plus grandes, car il est plus facile de couper, de réduire et d'optimiser que l'inverse.


Vous souhaitez télécharger votre propre objet 3D dans votre bibliothèque privée et l'utiliser dans HEGIAS VR ? Dans ce cas, consultez l'article de support Charger un nouvel objet dans la bibliothèque.





Mis à jour le : 14/04/2026

Cet article a-t-il répondu à vos questions ?

Partagez vos commentaires

Annuler

Merci !