![]() |
![]() |
![]() |
Membre de ClickFR, Reseau francophone Paie-Par-Click |
![]() |
![]() |
Type | Champ | Defaut | Borne | Utilisation |
SFFloat | ambiantIntensity | 0 | 0-1 | Pourcentage de lumière ambiante reflétée par la surface |
SFColor | diffuseColor | .8 .8 .8 | 0 - 1 | Couleur que la surface diffuse à la lumière |
SFColor | emissiveColor | 0 0 0 | 0 - 1 | Couleur que la surface émet |
SFFloat | shininess | 0.2 | 0 - 1 | Brillance de l'objet |
SFColor | specularColor | 0 0 0 | 0 - 1 | Couleur de la lumière spéculaire (brillance de l'objet) |
SFFloat | transparency | 0 | 0 - 1 | Transparence de la surface |
Le noeud Material définit l'aspect de la surface d'une figure géométrique. Il vous permet de définir la couleur, la brillance, la transparence de la surface, ainsi que sa réaction par rapport à l'éclairage de la scène.
En VRML, les couleurs s'expriment selon trois composantes : Le rouge, le vert et le bleu, exactement comme une couleur HTML. Cependant les valeurs ne vont pas de 0 à 255 (comme en HTML) mais de 0 à 1 (0 = Noir 1 = La couleur la plus claire). Les composants de la couleur sont les Float, c'est à dire des nombres à virgule.
La lumière ambiante de la scène (pour l'utilisation de l'ambiantIntensity) a générée par les différentes lumières de la scène.
A propos des exemples :
Afin de vous permettre de mieux apprécier les différentes possibilités des Material, nous avons créé un cône sur lequel va s'appliquer les différents aspect de la surface. Autour de ce cône tourne une lumière de type PointLight (représentée par une sphère blanche), une lumière omnidirectionnelle qui va éclairer la sphère. La rotation de la sphère est assurée par un timeSensor et un petit script Java. Nous aurions pu aussi utiliser OrientationInterpolator.
Voici la définition simple d'un surface bleue.
material Material {
diffuseColor 0 0 1
}
Voir le résultat - Voir la source
Remarque : diffuseColor sélectionne en fait la couleur qui sera diffusée en fonction de l'éclairage de la scène. Cela veut sire que si votre objet est bleu (0 0 1) et que vos lumières sont rouges (1 0 0), l'objet ne réfléchira aucune lumière, il ne sera pas pas éclairé.
emissive color permet de définir une couleur émisse par la surface (quelque soit l'éclairage). Nous avons choisi une couleur différente du bleu afin que vous puissiez apprécier le mélange des couleurs.
material Material {
diffuseColor 0 0 1
emissiveColor 0 .2 .2
}
specularColor définit la couleur du reflet de la surface et shininess (entre 0 et 1) sa brillance.Plus shininess est petit, plus l'objet est brillant
material Material {
diffuseColor 0 0 1
specularColor 1 1 1
shininess 1
}
Un objet plus brillant :
material Material {
diffuseColor 0 0 1
specularColor 1 1 1
shininess 0.1
}
transparency précise le niveau de transparence de la surface. A 0, l'objet est opaque, à 1 l'objet est entièrement transparent.
Nous avons ajouté une emissiveColor afin de voir l'objet même lorsque la lumière ne l'éclaire pas. Vous verrez la lumière passer derrière l'objet.
material Material {
diffuseColor 0 0 1
emissiveColor 0 0 .5
specularColor 1 1 1
shininess 0.3
transparency .7
}
Accueil de VRML Worlds | CHAT 3D | Autres technologies Web3D |
Des textures | Apprendre le VRML | Autres mondes multi-user |
Les objets du chat | Outils pour le VRML | Autres sites 3D |