Afficher un arbre à partir d'une texture
Vous pouvez facilement ajouter des arbres dans votre monde.
Vous voyez sur la gauche ce que le cours vous apprendra à faire.
Visualiser le résultat. |
 |
1- Type de node : billboard
Le billboard est un node de groupe. Il permet de créer des objets qui seront
toujours tournés vers l'utilisateur, quelque soit sa position. L'objet fera donc
toujours face à l'utilisateur.
Transform {
children Billboard {
children Shape {
... # La
forme qui sera toujours face à l'utilisation
}
axisOfRotation 0 1 0
}
}
La propriété "axisOfRotation" permet de savoir sur quel axe
l'objet fera face à l'utilisateur. Pour un arbre c'est l'axe Y (l'axe
vertical).
2- Création de la surface avec la texture
Exactement comme une page HTML, recopiez le ou les fichiers WRL et les images
dans les bons répertoires.
children Shape {
appearance Appearance {
texture ImageTexture {
url "maps/trees/tree.gif"
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ -2.5 0 0,
2.5 0 0,
2.5 5 0,
-2.5 5 0 ]
}
coordIndex [ 0, 1, 2, 3, -1 ]
texCoord TextureCoordinate {
point [ 0 0,1 0,1 1,0 1 ]
}
texCoordIndex [ 0, 1, 2, 3, -1 ]
}
}
La surface est simplement un carré sur lequel on applique une texture. Vous
pourrez changer d'arbre en changeant l'url de la texture.
La texture elle-même est un gif ou un png qui comporte une
couleur de transparence. Seul l'arbre est affiché, l'utilisateur ne voit
pas le carré qui définit l'arbre.
3- Résultat
Transform {
children Billboard {
children Shape {
appearance Appearance {
texture ImageTexture {
url "maps/trees/tree.gif"
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ -2.5 0 0,
2.5 0 0,
2.5 5 0,
-2.5 5 0 ]
}
coordIndex [ 0, 1, 2, 3, -1 ]
texCoord TextureCoordinate {
point [ 0 0,1 0,1 1,0 1 ]
}
texCoordIndex [ 0, 1, 2, 3, -1 ]
}
}
axisOfRotation 0 1 0
}
}
Vous trouverez d'autres textures d'arbres ici.
Retour aux astuces de modélisation
|