Fiches pour Modèles 3D
Fiches diverses pour modélisation 3d à partir de photogrammétrie et utilisations diverses
En cours création (02/2023)
Impression 3D et images en relief : comment faire ? par Edouard Barrat dans Lettre 1059 Février 2003 page 26-27
Quelle imprimante 3D choisir ?
Une vidéo sur Youtube, présentation générale avec différence entre imprimante à Filament (le plus simple) et à résine : https://youtu.be/DVaB6dMsE_U 28mn
Deux comparatifs :
- Les 11 meilleures imprimantes 3D en 2023 : https://meilleurtest.fr/comparatif-imprimante-3d/
- https://www.lesimprimantes3d.fr/comparateur/imprimante3d/
Beaucoup de tutoriels vidéos
ex : Guide pour bien débuter dans l'impression 3D ! par Heliox https://youtu.be/6AbovudN1vc 15mn
Adhérez au SCF pour voir tous les mois la Lettre - 25€ la première année
Modélisation 3D, visite virtuelle et stéréoscopie : synergie et concurrence.
Avec la photogrammétrie on peut obtenir une représentation du réel en trois dimensions : une image qui peut être vue sous différents angles, un modèle 3D que l’on peut combiner avec du déplacement/parcours. Par rapport aux jeux, il s’agit de représentations« photographiques » du réel et non d’images de pure synthèse. Et cela peut donner lieu à une vision stéréoscopique (perception binoculaire du relief)
Modèle 3D versus visite en 360° / Visite virtuelle, avec parcours au choix du spectateur...
Extrait de Lettre 1036 de décembre 2020 pages 4-8
Une mine de couples stéréo à partir des modèles 3D des musées nationaux.
Avec quatre images stéréoscopiques (couples) réalisées avec ces modèles
Extrait de Lettre 1038 de février 2021, pages 16-17
Stéréoscopie, modèle 3D et lenticulaire : les métamorphoses
La vision binoculaire du relief peut être reproduite par chacun de ces trois types de représentations : couple stéréoscopique, lenticulaire, modèle 3D. Ces trois représentations peuvent être construites à partir de photos du réel. Il est donc logique que certaines transformations permettent de passer d’une représentation à l’autre. L’article détaille ces correspondances et transformations avec des exemples.
Extrait de Lettre 1054 de septembre 2022, pages 20-24
Publier du relief sur écran plat pour un large public.
Des images que l’on fait bouger avec son doigt (ou pointeur) sur écran plat , montrant ainsi le relief de modèles 3D, ou des images « 3D à la Facebook ». Comment sont créées ces images ? Qu'est-ce qu'une carte de profondeur ? Qu'est-ce qu'un modèle 3D ? Correspondances avec la stéréoscopie (vision binoculaire)....
Extrait de Lettre 1056 de novembre 2022, pages 25-30
Impression 3D et images en relief : comment faire ?
Présentation de l’impression 3D par Edouard Barrat : principes, applications pratiques
Lettre 1059 Février 2023 page 26-27
Pdf 79 pages, 2Mo, 2019 : Travail de Bachelor réalisé en vue de l’obtention du Bachelor HES par : Ivo DE CARVALHO MATOSINHOS
Genève, le 28 juin 2019 Haute École de Gestion de Genève (HEG-GE) Filière Informatique de Gestion
https://doc.rero.ch/record/327847/files/TDB_IvoDeCarvalho.pdf
Image sur le site du mémoire
Présentation synthétique d'éléments marquants :
Historique pour rendre la 3D sur le web, débouchant sur WebGL:
- VRML ou « virtual reality modeling language » a été créé en 1994. Il n’a pas eu un grand succès, a donc été peu à peu remplacé par X3D qui est arrivé un peu plus tard.
- Le X3D ou « extensible 3D » a été créé en 1999 par un groupe de travail appartenant au Web3D Consortium ... Mais il était nécessaire d’installer un plug-in additionnel au navigateur Web client pour afficher les scènes 3D produites et les rendre interactives
- O3D est une API open source créée par Google en 2009 permettant de créer des applications 3D sur un navigateur Web. O3D nécessite l’installation d’un plug-in qui ajoute des fonctionnalités au navigateur client. Finalement, Google annonça en 2010 que O3D ne sera plus un plug-in mais une librairie dans WebGL.
- WebGL : les principaux acteurs de l’informatique ont formé un consortium nommé « Khronos Group » afin de proposer leur solution et d’en faire le standard du Web3D. Ainsi, WebGL a vu le jour en 2011 sous sa version 1.0, en licence open source et a pour but d’exploiter le standard OpenGL. Ce standard a été mis en place par les fabricants de matériel graphique afin d’utiliser l’accélération graphique.
WebGL est une API JavaScript qui est compatible avec la majeure partie des navigateurs Web et mobiles et ne nécessite aucun plug-in additionnel. La popularité de WebGL est telle que de nombreux frameworks et bibliothèques ont vu le jour afin de faciliter le développement de projets en WebGL.
Alternatives : Flash Player de Adobe a été abandonné, Unity recommande désormais WebGL
Futur ? : WebGPU est une API
Vulkan Cette API est proposée par le même groupe (Khronos Group) qui a créé le WebGL et elle a pour but de remplacer OpenGL sur le long terme. il est fortement possible que Vulkan prenne le dessus sur OpenGL.
Les Bibliothèques WebGL
WebGL demande beaucoup de code pour réaliser des rendus basiques. Aussi WebGL est rarement utilisé directement, mais plutôt via des bibliothèques.
- Three.js est la bibliothèque la plus populaire
- Blend4Web (par Triumph LLC basée à Moscu) nécessite l’utilisation du logiciel de modélisation 3D spécifique Blender.
Certaines bibliothèques comme BabylonJS se destinent à développer des jeux vidéo.
D’autres comme SceneJS sont conçues pour être utilisées dans des domaines scientifiques ou bien d’ingénierie où la visualisation de modèles 3D complexes est requise.
Exposé sur Three.js à partir page 33 (marquée 26)
Three.js, quelques-unes des différentes fonctionnalités proposées :
• Gestion des caméras, lumières, matériaux, ombres.
• Modules de chargement des modèles 3D.
• Système de gestion des particules.
• Système d’animation des modèles.
• Outils mathématiques pour simplifier la gestion de l’environnement 3D.
Exposé sur SceneJS à partir page 36 (marquée 29)
SceneJS excelle dans un domaine très précis qui est la représentation de modèles 3D complexes.
Exposé sur Blend4Web à partir page 38 (marquée 31)
Blend4Web est principalement un visionneur de modèles 3D qui permet tout de même d’apporter des fonctionnalités supplémentaires.
Blend4Web est un framework. Si le développeur utilise la version standard du « web player » mis à disposition qui permet de visionner ses créations sur un navigateur Web la licence est gratuite et les fichiers sources peuvent être gardés privés.
Il est possible de créer des modèles 3D facilement grâce à l’éditeur Blender puis d’exporter le modèle pour l’utiliser dans une application Web.
Un plugin est disponible sur Blender pour définir un profil de projet, qui limite les fonctionnalités de Blender à des fonctionnalités qui sont pertinentes sur Blend4Web.
Pour passer de Blender à Blen4Web il faut simplement exporter son modèle 3D au format JSON ou HTML. En exportant le modèle 3D au format JSON, seul le modèle sera présent dans le fichier. Cela permet d’avoir un fichier léger.
Exposé sur BabylonJS à partir page 40 (marquée 33)
Référence majeure dans le domaine du développement de jeux vidéo, BabylonJS est donc un des moteurs 3D les plus poussés et qui utilise au mieux les possibilités offertes par WebGL ; communauté très active et documentation
complète
Présentation de domaines concrets d’utilisations de la 3D :
La médecine, la visualisation de données scientifiques ou l’ingénierie : la 3D est utilisée de manière poussée pour répondre à des besoins précis.
Argument marketing : la 3D sur le Web proposant au client de personnaliser son véhicule, sa maison ou ses vêtements lui permet de mieux se projeter (ex: Nike, Kenzo)
Visualisation de données statistiques, de données économiques, Cartographie 3D sur Google maps
Rapport de deux essais pratiques avec Three.js et avec SceneJS.
Il s'agit d'intégrer le visionnage de modèles 3D à un site Web présentant des maquettes de maisons en 3D.
Sont fournis en annexe les listings des 7 fichiers pour l'implémentation du projet avec SceneJS.
Bibliographie (4 pages)
Photogrammétrie, Modèles 3D : Histoire, Théories, Projets, Références, ...
Lire la suite : Modèles 3D par Photogrammétrie : compléments, références diverses
Quelques indications à compléter pour la prise de vue en photogrammétrie
Lire la suite : Prise de vue pour modèle 3D par photogrammétrie
Modèle 3D et Stéréo ; Carte de profondeur ; Street view et visite virtuelle ; Autres modélisations 3D ; Modélisation 3D en général et images de synthèse ; Utilisations populaires
Lire la suite : Domaines connexes et voisins, comparaisons avec modèles 3D
Références à des tutorielscommentés (=état de la fiche en 9/2021)
Transférer la structure et la texture du logiciel photogrammétrique de création vers Blender
Le logiciel de création de modèle par photogrammétrie (ex :Metashape) permet d’exporter le modèle sous différentes formes,
- sous format « .obj » avec texture en ".jpg" - cf. A)
- sous format ".glb" , fichier unique complet (structure + texture) - cf. B)
(voir plus bas autres format de modèles 3D)
A) transfert avec format .obj
Mais attention, on a typiquement un modèle et une texture, avec 3 (ou 4) fichiers :
- le fichier objet .obj, la structure avec les points et triangles
- un (ou 2) fichiers(s) de texture (.jpg) , avec les morceaux d’ images qui vont être collées sur la structure
- un fichier de liaison Objet-Texture (.mtl)
Blender a une fonction pour charger un fichier .obj, mais qui ne comprend pas directement la récupération de la texture.
A l'importation, il faut
- importer la texture (sauf si fonction add-on qui importe les 2 obj et texture ensemble)
- repositionner le centre de manipulation de l'objet (centre de gravité)
Recentrer/repositionner l'objet :
d'abord recentrer le centre de référence de l'objet qui est souvent très éloigné ce qui perturbe la manipulation
en Object mode : Object > Set origin > Origin to center of mass (surface ou volume)
puis on peut utiliser les fonctions de déplacement de l'élément sélectionné
Importation obj + texture(.jpg) AVEC un add on (cf. plus bas pour importation sans add on et plusieurs .jpg de texture)
Procédure simple, mais limitant à un seul fichier de texture par modèle avec un addon à 5$
Tuto : OBJect Loader Blender Addon https://www.youtube.com/watch?v=nuPJ7IblFCc
OBJect Loader can load an .OBJ + its Texture file in ONE SINGLE STEP. 5$ https://blendermarket.com/products/object-loader
(Addon doesn't support UDIM maps)
Mise en oeuvre : Achat / téléchargement du OBJectLoader.py / dans blender, installation de l'add-on par Edit > Preferences > Install
Blender a maintenant une nouvelle fonction File > Import > OBject Loader
sélectionner fichier obj et fichier texture (jpg)
ATTENTION : UN SEUL Fichier de texture
d'où recréation du modèle et texture à un seul fichier
Importation obj + texture(.jpg) Direct SANS add-on
1) Import OBJ
File Context Menu > Import > Wavefont (obj)
2) Select obj,
3) Import obj (open) + le repositionner/recentrer !
4) Go to Shader Tab | dans barre verticale d'icones à droite
choose coloring mode = "Base Color" sur texture 0 ou texture1(clic) fait apparaitre tableau de 4 colonnes d'options
5) choose image texture : option au milieu 2° colonne ? fait apparaitre liste options verticales à droite
select image texture = à droite de ligne avec un icone carré d'une image, cliquer sur l'icone dossier .
6) open Image Texture
7) load Image Texture
Set viewport shading mode to see the result ( in the top right corner of your 3D viewport)
Pour 2 fichiers de texture , sélectionner successivement material0 puis material1,. haut du panneau "Shader"
et image0 ou image1 dans "select image texture" en 5)
B) Transfert avec format glb/glTF
Dans metashape, exporter en "Binary gl TF (glb). En exportant aussi la texture (cocher l'option) qui sera véhiculée dans le un fichier .glb
Dans Blender importer en "glTF (2.0) (.glb/glTF)"
Ce format véhicule structure et texture.
Par défaut à l'arrivée dans blender, l'affichage par défaut correspond à la structure seule (solid mode) ; activer l'option d'affichage : "material preview mode" / ou "render preview mode"
Mais (au moins en provenance de metashape), il faut Recentrer/repositionner l'objet (cf, dans transfert avec .obj).
Remarque : le format GLB est une version "binaire" du fichier GLTF . GLTF est en JSON et fait référence à des fichiers annexes (ex: JPEG pour les textures). GLB contient tout en un seul fichier; il peut contenir tous les éléments d’une scène 3D, y compris les matériaux, la hiérarchie des nœuds et les caméras dans un seul fichier compressé. (source : https://visao.ca/fr/fichier-glb/)
Autres format de modèles 3D)
Collada (.dae) et FBX sont des formats utilisables , particularités : à partir de Metshape ils transportent aussi le positionnement de toutes les caméras de prise de vue
Blender prend en charge le rendu stéréoscopique dans une fenêtre 3D interactive pour tous les moteurs de rendu, permettant une itération rapide sur l'éclairage et l'ombrage.
Une fois cela fait, l'image ou l'animation de qualité finale peut être rendue en sortie.
Plusieurs logiciels ayant chacun plusieurs fonctions avec divers formats permettant de passer d’un logiciel à l’autre.
On distingue ceux qui servent à créer un modèle 3D par photogrammétrie des logiciels de traitement des modèles 3D, de préparation d'impression 3D (slicer/trancheur)
Lire la suite : Logiciels, formats de fichier, lexique - modèlisation 3D