VRML2 pour DESS/ESSI 3
Last updated: March 24 1998

L'environnement
Sur Sun, les browsers VRML 2.0 ne sont pas nombreux. Celui qui fonctionne
le mieux est Liquid Reality de Dimension X. Le successeur de VrWeb, VrWave
est également disponible en version alpha, cependant, il ne reconnait
que partiellement (pour le moment), la norme VRML 2.0.
Sur SGI il faut utiliser Cosmo Player 2 qui est ce qui se fait de mieux,
toutes machines confondues.
Sur PC, plusieurs browsers sont disponibles, tels que Live3D (fournit
avec Netscape 4), Cosmo Player 2 développé par SGI, Liquid
Reality (ne fonctionne pas sous NT), VIRL, le browser de Kinetix (3D studio
Max) etc... Le top en ce mois de Mars 1998 étant le couple Microsoft
Internet Explorer 4.0 ou 4.01 avec Cosmo Player 2.
Quelques ressources locales ou pas bien éloignées...
...Et ailleurs
Exercices proposés
-
Testez les exemples
du cours correspondants aux chapitres étudiés (et ceux
tirés du livre VRML 2.0 sourcebook).
-
Construire un monde simple ressemblant au logo VRML (cube rouge, sphere
verte, cone bleu).
-
Définir plusieurs points de vue (viewpoint) dans ce monde (vue du
sommet du cône, vue globale, ...)
-
Chacun des éléments doit pointer vers une page WWW ou un
autre monde VRML
-
Vus de loin, le cône et la sphère doivent être representés
comme des cubes
-
En utilisant DEF et USE, créer un petit village modèle composé
de maisons Phénix toutes identiques sauf pour ce qui est de la couleur.
Chaque maison doit avoir une porte par laquelle on peut entrer.
-
En vous inspirant de l'exemple
de la lampe, créer un robot articulé, chaque élément
du bras du robot, ainsi que la pince, devront pouvoir par la suite être
manipulables à la souris :
-
En cliquant sur le socle, on veut pouvoir translater le bras articulé
sur le plan du sol
-
En cliquant et en bougeant sur une des parties du bras , on veut pouvoir
la faire tourner
-
En cliquant sur la pince elle s'ouvre et elle se ferme
-
Créez une elevation
grid.
-
Pas trop grande !
-
Utilisez des hauteurs arbitraires pour les points de la grille (pour le
moment)
-
Arrangez-vous pour que le browser VRML démarre en "Examine"
mode
-
Réglez le viewpoint pour que la grille soit au centre de l'écran
au départ
-
Mappez une texture
sur la grille d'élévation
-
Trouvez une image quelque part (gif ou jpeg)
-
Réglez le viewpoint
pour que la grille d'élévation soit "face on" au départ
-
Que remarquez-vous à propos de la texture ?
-
Animation de l'apparence d'un objet.
-
Créez un objet (Shape)
avec
-
La géométrie d'une sphère
-
Une apparence correspondant à un Material
spécifiant une ambientIntensity.
-
Créez un TimeSensor.
-
Utilisez le TimeSensor pour contrôler l'ambientIntensity
de la sphère.
Créez une ROUTE
depuis la sortie fraction_changed eventOut
du TimeSensor vers l'entrée set_ambientIntensity eventIn
du Material.
-
Ajoutez un joli Background
à votre scène.
-
Jouez avec les champs transparency et shininess.
-
Déclenchement de l'animation par sensing. Inspirez-vous des exemples
du chapitre 9 du VRML sourcebook.
-
Créez un TouchSensor
et associez-le à la géométrie de votre sphère
-
En cliquant sur la sphère on doit déclencher l'animation.
Pour celà, vous aurez besoin de créer une ROUTE depuis
l'événement (eventOut) touchTime du TouchSensor
vers
l'événement (eventIn) startTime du
TimeSensor.
-
Animation avec déplacement de l'objet - OrientationInterpolator.
-
Plaquez une texture (souvenez-vous que la longueur des côtés
d'une texture image doit être une puissance de 2) sur un Billboard.
-
Créez un TimeSensor. Pourquoi ne pouvez-vous pas utiliser
l'événement (eventOut) fraction_changed du TimeSensor
pour
contrôler directement l'orientation de l'objet ?
-
Créez un OrientationInterpolator. Son rôle va être
de faire tourner la texture de 2*Pi pendant la durée d'un cycle
(cycleTime).
-
N'oubliez pas de créer un TouchSensor pour démarrer
l'animation sur un click souris.
-
Interaction : utilisation d'un SphereSensor
-
Attachez un SphereSensor
à votre objet pour contrôller son orientation.
...and for what it's worth: Peter Sander, Michel Buffa 1994-9X (except
stuff belonging to others of course)
sander@essi.fr , buffa@essi.fr
http://www.essi.fr/~sander, http://www.essi.fr/~buffa