Examiner, modifier et valider les fichiers .x3d
Le format de fichier .x3d est une norme ISO/IEC basée sur XML pour la représentation d'images 3D. Également connu sous le nom de X3D, les fichiers .x3d ont initialement été conçus pour représenter des images 3D dans le domaine de la graphisme assisté par ordinateur. Au fil du temps, leurs applications se sont étendues de la réalité virtuelle (VRML) à la conception assistée par ordinateur (CAO), à la modélisation architecturale, à l'impression 3D, à l'imagerie médicale et anatomique, à la représentation de structures chimiques moléculaires, à l'animation humaine, et bien plus encore.
Le consortium Web3D est responsable de la norme X3D, dont les schémas XML sont documentés ici. Les versions actuelles incluent des définitions pour plus de 250 éléments XML, plus de 100 types simples, 70 types complexes, et plus de 40 groupes de nœuds définis.
Il faut un niveau de complexité aussi élevé pour décrire avec précision tout, d'une pièce de machine fabriquée avec une grande exactitude à un environnement virtuel riche en détails, surtout en tenant compte de l'éclairage, des textures et du point de vue ! XMLSpy, l'outil le plus populaire au monde pour la modélisation, l'édition, la transformation et le débogage des technologies XML et JSON, prend en charge les fichiers .x3d. XMLSpy offre des outils conformes aux normes pour tous ceux qui pourraient avoir besoin d'examiner, d'échanger, de traiter ou de valider des fichiers .x3d. Examinons quelques exemples.

Tout d'abord, nous pouvons personnaliser le menu des outils XMLSpy afin de créer une nouvelle option de menu qui permet d'afficher facilement des images 3D à partir de fichiers .x3d. Nous avons installé deux lecteurs X3D listés sur la page Ressources X3D du site web3d.org, afin de pouvoir comparer les résultats obtenus avec chacun. Cela permet de créer les options de menu personnalisées suivantes :

Nous avons maintenant besoin d'un fichier .x3d. De nombreux exemples sont disponibles en ligne. L'Institut national de la santé (NIH) maintient une bibliothèque de fichiers .x3d sur son site web. Ces fichiers comprennent une variété d'applications X3D, notamment des modèles de structures chimiques, des objets imprimables en 3D, ainsi que des représentations réelles de tissus cellulaires et d'organismes.
Commençons par une forme imprimable en 3D. Dans la capture d'écran ci-dessous, nous avons ouvert un fichier et, grâce au menu Outils, nous l'avons également ouvert dans l'application H3DViewer :

Notez la fenêtre de message située sous l'affichage principal du texte. XMLSpy valide automatiquement les fichiers .x3d lorsque vous les ouvrez. Dans le visualiseur H3D, vous pouvez saisir l'image et la faire pivoter pour mieux la visualiser

Cet objet est un dispositif conçu pour soulager la pression exercée par les masques sur les oreilles, et qui peut être imprimé en 3D. Il est destiné à prévenir les irritations derrière les oreilles chez les personnes qui portent des masques.
Comme nous l'avons vu dans la première capture d'écran, la majeure partie du fichier contient des définitions de coordonnées, qui commencent à la ligne 14. Si nous voulions modifier ce fichier, par exemple pour changer la couleur d'un objet, nous pourrions envisager de passer à la vue "Éditeur de grille" d'XMLSpy. La vue "Éditeur de grille" affiche la structure hiérarchique des documents XML et des DTD à l'aide d'un ensemble de conteneurs imbriqués qui peuvent être facilement développés et repliés. Nous allons laisser le conteneur contenant toutes les coordonnées des formes replié afin de nous concentrer sur d'autres éléments du document et d'éviter de modifier accidentellement les valeurs de n'importe quelle forme.
La capture d'écran ci-dessous montre ce qui se passe dans l'éditeur de grille lorsque nous double-cliquons sur l'élément "Forme" :

XMLSpy ouvre une fenêtre contextuelle d'aide qui affiche tous les autres éléments définis dans le schéma et qui sont des éléments enfants valides de l'élément "Group" à cet emplacement dans le fichier. Cela peut être utile si vous devez créer ou modifier un fichier prototype .x3d pour un environnement de conception assistée par ordinateur (CAO) ou une scène dans un jeu immersif à la première personne.
Modifions la couleur de l'objet défini dans ce fichier. Lorsque nous cliquons pour modifier les valeurs de l'attribut "diffuseColor" de l'élément "Material", XMLSpy propose la valeur par défaut en fonction du schéma XML. Nous pouvons soit accepter la valeur par défaut, soit saisir une nouvelle valeur.

XMLSpy propose une option permettant de valider les fichiers .x3d pendant la phase de modification. Si nous tapons "3 3 3" et essayons de sauvegarder le fichier, XMLSpy détecte immédiatement une erreur :

Les valeurs de cet attribut doivent toutes être inférieures à 1. Nous pouvons entrer 0,3, 0,2 et 0,1, puis recharger l'image dans le visualiseur H3D :

L'objet est maintenant d'une couleur bronze au lieu de bleu.
D'autres fichiers disponibles sur le site du NIH et ailleurs illustrent d'autres applications de X3D. Ci-dessous, vous trouverez le modèle chimique du remdesivir, un traitement potentiel pour Ebola et la Covid-19. Cette forme est définie de manière très différente de celle du dispositif de protection des oreilles :

Si vous êtes assez courageux, vous pouvez même affronter l'ennemi de toute l'humanité :

Conversion de fichiers .x3d en format JSON
Le consortium Web3D est sur le point de finaliser une norme pour le stockage de fichiers X3D au format JSON, et a publié une feuille de style XSL pour convertir les fichiers .x3d en JSON. XMLSpy intègre le processeur XSLT 3.0 RaptorXML, qui est extrêmement rapide, et que vous pouvez utiliser avec la feuille de style XSL de Web3D pour tester la conversion de fichiers.
Tout d'abord, nous pouvons modifier l'extension de fichier par défaut dans la boîte de dialogue des options de XMLSpy, pour le traitement XSLT :

Nous avons également désactivé l'option "Valider les fichiers XML", car nous effectuons une validation continue pendant la phase de modification.
Ensuite, avec un fichier .x3d ouvert, appuyez sur la touche F10 ou sélectionnez la transformation XSL dans le menu XSL/XQuery.
La transformation s'effectue et le fichier JSON résultant s'ouvre dans une nouvelle fenêtre. L'image ci-dessous montre le document JSON généré à partir du modèle de masque facial "ear saver" du NIH, affiché dans la vue texte d'XMLSpy et dans la vue grille JSON :

Si vous avez besoin d'examiner, de modifier ou de valider des fichiers .x3d, consultez la page des démonstrations XMLSpy pour découvrir davantage de vidéos et de tutoriels détaillés sur l'éditeur de grille et de nombreuses autres fonctionnalités de XMLSpy. Lorsque vous êtes prêt à vous immerger dans un environnement 3D défini par un fichier .x3d, téléchargez une version d'essai gratuite de XMLSpy, valable pendant 30 jours.