X3D

De EduTech Wiki
Aller à la navigation Aller à la recherche

Définition

X3D (ou eXtensible 3D) est un standard pour la construction d'environnements en trois dimensions sur le web. X3D est le successeur de VRML (ou Virtual Reality Modelling Language).

Spécification:

Mine types (selon web3d.org

  • x3d: model/x3d+xml
  • vrml: model/x3d+vrml (pas encore officiel)

Définition

X3D (ou eXtensible 3D) est un standard pour la construction d'environnements 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.

Il existe des nombreuse alternatives à X3D (à peu près une par grande entreprise active dans la 3D ou les systèmes d'opération). 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

Utiliser X3D

Pour pouvoir lire du X3D (en plus d'avoir une carte 3D), il vous faudra soit installer un "player" soit utiliser X3Dom. Les principaux players sont les suivantes :

  • Coweb (navigateur WebGL, marche avec FF en nov. 2015)
  • 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
  • Flux Player et Flux Studio, développé par Media Machines

X3Dom est une proposition pour intégrer X3D dans HTML5 en utilisant WebGL et éventuellement l'élément Canevas.

  • Attention: Ne jamais utiliser des balises auto-fermés (vieux bug, tjrs présent en Janvier 2015).
  • Exemple: simple-shapes.html

Comprendre du X3D

Voir aussi: en:X3D tutorials

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.

Validation

  • X3D Validator en ligne. Ne marche pas avec X3Dom, autrement dit, il faut soumettre une page XML de type .x3d.

Créer du X3DV

Configuration du serveur web

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
.wrl   x-world/x-vrml

Outils

Il est 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 X3DV (X3D, VRML, etc.) Il se nomme Flux Studio et est disponible à cette adresse. (à vérifier s'il marche toujours - Daniel K. Schneider (discussion) 1 avril 2016 à 19:41 (CEST))

On a également créé un Tutoriel Flux Studio en Français pour les personnes qui souhaitent s'initier à ce genre d'environnement.

Liens