Coucou et bienvenue sur la page bientôt célèbre du Virtual Bab' ( crée par Matthieu Crépaux et Géraldine Blondel ).
Ce travail a été effectué dans le cadre du cours d'OpenGL dispensé par Michel Buffa.
Le but du projet était de mettre en pratique les fonctionnalités d'OpenGL sur une scène personnelle.
ESSI oblige, nous avons décidé de modéliser un baby foot, instrument à part entière de beaucoup d'étudiants de l'école ( le baby est votre ami !! ).
Notre but était de créer un programme permettant de se familiariser avec les principes de base du Babyfoot ( jargon, démonstrations ... ). Dans l'absolu, le projet devait mener à une sorte de tutorial du bab'.
Quelques liens sympathiques :
Menu
:
1. Cahier des charges
2. Modélisation du babyfoot
3. Fonctionnalités - Mode d'emploi
4. Exemples
5. Critiques et bugs
6. Download
Description de notre cahier des charges ( un peu osé ) :
Par la suite il
nous a fallu baisser un peu nos prétentions ( manque de temps, trop
de travail sur baby réel :-) )
La modélisation du baby foot n'a pas été chose aisée, en effet le bab' n'est pas une vulgaire caisse à savon dans laquelle seraient plantées des barres de métal.
Nous avons donc tenté de recréer le plus fidèlement possible les formes du meuble. Pourtant le résultat n'était pas très satisfaisant ( surtout au niveau des buts ).
C'est pourquoi nous avons pris la décision d'utiliser 3D Studio Max pour modéliser le baby foot. La modélisation a alors été beaucoup plus facile. Le problème suivant a alors été de récupérer notre objet 3DS et de l'incorporer dans notre scène OpenGL, plusieurs solutions se sont offertes à nous ( convertisseurs 3DS -> C ...) pourtant aucune d'elles n'a donné de résultat satisfaisant.
Nous avons alors pensé à récupérer un bout de code d'un groupe de projet ayant déjà travaillé sur OpenGL, bout de code qui transforme des fichiers ascii générés par 3DS en objets utilisables par OpenGL ( merci à Nico, Pierrot, Mike, Jeje ). Hélas, nous n'avons pas pu exporter le babyfoot entier en ascii, nous avons donc du l'exporter par parties, puis reconstruire le bab partie par partie ( après le baby foot, le légo !!! ).
Ceci fait, nous avons pu procéder à l'intégration du baby foot dans notre scène OpenGL. Cette scène a été programmée à partir de l'exemple vu en TP : dino !
Fonctionnalités et Mode d'emploi :
Si vous n'utilisez pas directement
l'éxécutable fourni, téléchargez les sources
et compilez le tout ( voir section download ), exécutez le programme
( sous Windoz SVP ) vous verrez alors apparaître le baby foot sur
son sol. Si vous cliquez sur le bouton droit de la souris vous aurez accès
à un menu qui comprend toutes les fonctionnalités du programme.
Le bouton gauche accompgné
de mouvements de souris permet la rotation autour de l'objet.
Si vous n'avez pas envie d'avoir à
ouvrir un menu à chaque pour que vous voulez tester une fonctionnalité,
voici les "raccourcis clavier" du programme :
Touche | fonction |
esc | quitter le programme |
q | quitter aussi le programme |
a | quitter .. non j'rigole : lancer/arrêter l'animation |
m | lancer/arrêter le miroir |
r | lancer/arrêter la réflexion au sol |
s | lancer/arrêter les ombres ( shadows ) |
t | lancer/arrêter la texture du sol |
w | mode fil de fer ( wireframe ) |
f | mode flat |
s | mode smooth ( faces lissées ) |
d | mode rendu en points ( dot shading ) |
1 | arrêter/lancer la lumière 1 |
2 | arrêter/lancer la lumière 2 |
3 | arrêter/lancer la lumière 3 |
à vous de trouver | surprise !!! |
Le menu offre comme
fonctionnalité supplémentaire :
choix du type de lumière ( positionnelle, directionnelle )
Ici le baby avec miroir avec lampes 2 et 3 ( en mode positionnel )
Virtual bab' avec lampe 2 ( en mode directionnel
), notez bien qu'il n'y a rien derrière le miroir
Le baby, notez bien la courbure de l'arrière
ainsi que le dessous bombé ( 3DS ! )
Ici il convient de remarquer les ombres
des joueurs ( jolies ) et celle du baby ( beurk ! )
Baby foot en Wireframe ( attention, effet
panier d'osier au niveau des buts )
Flat shading
C'est l'heure de fermeture du bar les amis
!!!
La première et plus importante des critiques que nous puissions faire à propos de notre réalisation est que notre baby foot ne respecte pas tout à fait les objectifs que nous nous étions fixés. En effet le mode tutorial n'a pas été programmé ( faute de temps ), l'animation se résume donc à des mouvements de barres.
De plus au niveau réalisme de la modélisation de l'objet nous avons fait au plus simple. ainsi vous verrez apparaitre sur notre baby foot ni monnayeur, ni compteur de points, ni réceptacle à balles ( et oui sur notre baby foot, il n'y a ni vainqueur , ni perdant, et tout cela pour la modique somme de 0 francs 0 centimes ).
En ce qui concerne la partie OpenGL de notre réalisation vous pourrez
vous apercevoir de quelques petits défauts assez rapidement :
Il est venu le moment tant attendu où vous allez pouvoir récupérer les sources du premier baby foot virtuel.
Vous avez le choix, vous pouvez :