Projet de conception - Troisième partie- - ÉPISODE III -
Le grand rassemblement
Objectif :
Amener l'étudiant à développer un programme graphique interactif de complexité
moyenne comportant :
- le vaisseau/objet que vous avez conçu précédemment
- un environment
Résultat attendu :
Un programme donnant l'impression que l'observateur se déplace dans un environnement tridimensionnel.
Le vaisseau ou l'objet conçu au travail 5 devra apparaître dans votre scène à l'endroit de votre choix.
Contraintes :
1- Le vaisseau ou l'objet développé dans le travail #5 devra être présent dans votre scène.
2- L'usager ne devra pas pouvoir utiliser la souris pour interagir avec votre programme. On devra plutôt utiliser
les flèches du clavier (ou les lettres WASD) pour se déplacer dans votre scène. Ainsi, l'usager pourra avancer,
reculer, tourner à gauche ou tourner à droite. La vidéo suivante montre un exemple de déplacement attendu :
Il est à noter que la matrice produite par l'utilisation des flèches (ou des lettres WASD) sera toujours appliquée
au début de votre fonction "render()".
Pour ce type d'environnement, vous pouvez utiliser ou vous inspirer des exemples suivants : Exemple 1 => fichier ZIP contenant tous les fichiers de l'exemple 1 Exemple 2 => fichier ZIP contenant tous les fichiers de l'exemple 2
Vous pouvez créer vous-même un environnement en utilisant la caméra de votre téléphone (panorama 360 degrés).
Les informations décrites au chapitre 10 vous permettront de créer un tel environnement avec le logiciel Blender (gratuit).
Remarque importante :
Lorsqu'on se déplace dans une scène dans laquelle il y a un "skybox", on doit faire en sorte que ce dernier suive
la position de l'observateur lorsque ce dernier se déplace. En d'autres termes, si vous appliquez une translation aux
objets de votre scène pour donner l'impression que l'observateur avance ou recule, cette translation ne doit pas être
appliquée au "skybox". Ceci donnera un effet de grande distance entre la position de l'observateur et les objets
apparaissant sur les parois du "skybox". Il est important de noter, cependant, que les transformations de rotation associées à la progression de l'observateur doivent, quant à elles, s'appliquer au "skybox".
4- Vous devrez également insérer des objets particuliers dans votre scène. Selon le type d'environnement que
vous avez choisi, voici les éléments additionnels qui devront faire partie de votre animation :
a) Pour ceux et celles qui auront choisi l'environnement spatial
Lors d'un déplacement dans votre scène, on devra pouvoir observer la Terre et au moins une planète connue.
Pour obtenir des textures de planète, veuillez consulter le site suivant :
La lune devra être localisée à proximité de la Terre (note: la lune n'est pas une planète).
Les planètes devront tourner très lentement sur elles-mêmes et la lune devra tourner autour de la Terre. Veuillez ne pas faire tourner les planètes autour du soleil.
b) Pour ceux et celles qui auront choisi l'environnement "terrestre" ou "fait maison"
Lors d'un déplacement dans votre scène, on devra pouvoir observer une sphère sur laquelle l'image
d'un ballon de basketball sera appliquée. Une seconde sphère devra tourner autour de ce ballon. Sur cette
seconde sphère, une image de ballon de "soccer" ("foot") sera appliquée.
Pour obtenir ces deux textures, veuillez cliquez sur le lien suivant :
b) Pour ceux et celles qui auront choisi l'environnement "terrestre" ou "fait maison" : Iron-Man.zip
Ces fichiers contiennent tous les éléments requis pour visualiser les objets avec un navigateur.
Vous devrez placer les différents fichiers dans le dossier (répertoire) géré par un serveur Web.
8- Toujours lors du lancement de votre programme, on devra pouvoir voirundes deux éléments suivants :
a) un cube réfléchissant l'environnement (tournant sur lui-même) à proximité de votre vaisseau ou objet.
Il est recommandé d'utiliser des images claires (comme, par exemple, celles du fichier ciel-nuages.zip
pour créer le "cubemap" de cet objet.
b) un cube translucide (tournant sur lui-même) à proximité de votre vaisseau ou votre objet.
Vous devrez "signer" votre animation en insérant votre nom sur l'image qui sera appliquée en texture
sur ce cube.
Évaluation :
Ce travail sera évalué selon les éléments suivants:
Respect des critères imposés
- Présence d'une planète et de la lune
- Rotation de la planète et de la lune
- Présence d'un "skybox"
- Présence d'un modèle OBJ
- Présence d'un cube réfléchissant ou translucide
- Interaction avec l'usager (déplacement dans la scène)