X3D
Définition
x3D
x3D (ou eXtensible 3D) est un standard pour la construction d'environnement en trois dimensions sur le web. Il permet de naviguer dans un monde 3D directement à partir de votre navigateur; il nécessite cependant l'installation d'un plug-in ou d'un logiciel à part. Ce standard prend la succession de VRML, mais reste néanmoins compatible avec celui-ci. Il a été normalisé par l'ISO en 2005 et les spécifications sont disponibles ici.
Depuis 2005, de nombreuses entreprises ont quitté le consortium web3D afin de créer leur propre technologie basée sur xml :
- Intel avec U3D
- Microsoft avec XAML
- Dassault Systèmes avec 3D XML
Ces technologies ne sont cependant pas aussi ouvertes, documentées et donc accessibles que VRML et X3D, qui sont disponibles gratuitement sur le web et permettent la création de mondes virtuels à l'aide d'un simple éditeur de texte.
Liens
- Page officiel du x3D
- La page officielle de U3D pointe à présent vers un vendeur de livres audios (http://www.3dif.org/)
- Page francophone de XAML
- Page officielle de 3D XML
Ajax3D
Ajax3D combine la puissance de x3D (langage de balises) avec l'ajax. Un équivalent du DOM a été créé pour contrôler le monde 3D par l'intermédiaire de javascript; celui est appelé le SAI (Scene Access Interface).
Liens
Utiliser x3D
Pour pouvoir lire du x3D (en plus d'avoir une carte 3D), il vous faudra installer un lecteur. Les principaux sont les suivantes :
- Flux Player, développé par Media Machines
- Octaga, développé par Octaga (entreprise engagé par Shell)
- BS Contact, développé par bitmanagement
- xj3D, qui est un projet de développement d'un toolkit en java pour VRML97 et X3D
Comprendre du x3D
x3D est un langage de balises, basé sur xml. Par exemple le bout de code suivant :
<Shape DEF='Box1'> <Appearance containerField='appearance'> <Material DEF='Red' containerField='material' ambientIntensity='0.200' shininess='0.200' diffuseColor='1 0 0'/> </Appearance> <Box DEF='GeoBox1' containerField='geometry' size='1 2 3'/> </Shape>
signifie que nous avons créé un cube qui s'appelle 'Box1', qui est rouge, a une intensité ambiante de 0.2, une brillance de 0.2, a une grandeur de 1 sur l'axe des x, 2 sur l'axe des y et 3 sur l'axe des z. Enfantin.
Nous pouvons ensuite lui faire subir toute sorte de modification de la manière suivante :
<Transform DEF='dad_Box1' translation='5 0 0' rotation='.764 -.063 -.642 1.867' center='.58356 -2.88 2.79429'> <Shape DEF='Box1'> /* commandes pour le carré */ </Shape> </Transform>
Ce qui veut dire que l'on déplace le cube de +5 sur l'axe des x, et qu'on lui fait faire une rotation par rapport à un point dans l'espace 3D.
Créer du x3D
Tout d'abord il vous faudra préciser le mime-types côté serveur :
.x3dv model/x3d+vrml .x3d model/x3d+xml .x3db model/x3d+binary
Ensuite il est trop laborieux de créer un objet ou un environnement 3D en écrivant uniquement ses balises. Heureusement il existe un programme de création 3D (gratuit) qui permet d'exporter ses créations au format x3D, VRML, etc. Il se nomme Flux Studio et est disponible à cette adresse.
J'ai également créé un x3d:flux studio tutorial en anglais pour les personnes qui souhaitent s'initier à ce genre d'environnement.
Liens
- le site des auteurs de Flux player et Studio
- la page wikipedia sur x3D (maigre)
- la page edutech wiki (en) sur le x3D
- Web3D.fr (un portail dédié à toutes les formes de Web 3D]