VRML Worlds, Mondes VRML

Membre de ClickFR, Reseau francophone Paie-Par-Click

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 tutorials


 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 

Réagir, nous proposer un site, participer ...