Lauriou Anne
Lanche Anthony
Essi 3 Vimm
Le but du sujet proposé est de concevoir un logiciel de création de cuisine virtuelle 3D.
Nous devons donc faire une étude détaillée sur une telle conception, les modules et les possibilités qu’un tel logiciel doit offrir, et présenter une démonstration du travail réalisé.
Comme le temps imparti à notre projet était limité, nous allons utiliser le langage V.R.M.L. (Virtual Reality Modeling Language) pour modéliser les objets présents dans notre maquette.
Nous allons donc appréhender les subtilités de ce langage pour concevoir, agencer et animer notre cuisine de manière à présenter à la fois ce que pourrait être notre logiciel mais aussi les possibilités de VRML.
Notre démonstration mettra en évidence ce que les TDs du module " Logiciels Graphiques " nous ont appris :
Un logiciel de conception de cuisine virtuelle dispose d’utilisateurs d’un type bien précis :
Ce ne sont pas à priori des personnes expertes dans l’informatique.
Cette constatation doit nous amener à déterminer quels doivent être les points forts de notre produit.
Dans un premier temps, le programme doit être robuste à toutes les mauvaises manipulations que les utilisateurs pourraient commettre :
Le logiciel doit donc parfaitement gérer les problèmes de sauvegarde, de gestion de fichiers etc …
Ensuite, le logiciel doit être le plus convivial possible pour ne pas rebuter ces même utilisateurs :
On doit donc mettre l’accent sur la facilité de prise en main avec des manipulations simples à effectuer sur les objets grâce à la souris.
De plus, l’aspect visuel doit être développé avec un aperçu permanent des objets créés sans passer par des menus fastidieux.
Enfin, il est souhaitable que l’utilisateur soit guidé dans ses choix avec des conseils quant aux règles d’agencements et la vérification de la réalisation physique des objets.
La première partie du logiciel comporte donc tous les modules nécessaires à l’édition d’une cuisine.
Pour commencer, un module de gestion classique des fichiers avec des options Créer, Ouvrir, Fermer, Sauver ….
Ce premier menu nécessite toutefois un format bien spécifique pour sauvegarder les données et il est important de bien y réfléchir tant la maintenabilité du logiciel en sera dépendante.
Ensuite, il faut pouvoir construire une pièce aisément afin de placer tous les meubles à l’intérieur.
On peut imaginer qu’un certain type de formes de pièces seront prédéfinies ainsi que la texture des murs, leur couleur, les portes et les fenêtres qui doivent répondre à des impératifs physiques pour leur ouverture.
On pourra donc implémenter une base de donnée de ces objets de " pré-création " car le cadre dans lequel l’utilisateur va crée sa cuisine est aussi important que les meubles qu’il va y mettre.
Dans un troisième temps, il faut bien entendu un menu d’édition des objets.
Ce module doit permettre à la fois de composer des meubles entièrement nouveaux à partir de formes de base mais aussi d’accéder à une base de donnée comprenant les objets les plus usuels.L’accès à ces objets pourrait se faire grâce à des " drag & drop " de la BD à la fenêtre de création.
L’intérêt de cette démarche est double :
Elle permet de créer rapidement une cuisine en n’utilisant que des composants existants mais aussi de rendre plus réaliste une création personnelle en ajoutant de la vaisselle, des ustensiles etc …
Ensuite, on doit pouvoir manipuler ces objets de la manière la plus simple possible, c’est à dire en les déplaçant (translation / rotation) avec la souris.
L’idéal serait de toujours visualiser les objets en gardant visible les côtes à l’écran.
Enfin, un dernier module pourrait permettre de corriger toutes les erreurs d’ajustement physique entre les objets (collisions, ouverture de portes impossibles, meubles flottant dans les airs…).
L’utilisateur ainsi guidé ne pourrait pas générer de modèles impossibles à mettre en place dans la réalité.
La deuxième partie du logiciel doit permettre la mise en valeur de la cuisine créée.
Pour cela, la première fonctionnalité de notre produit sera de proposer des vues classiques prédéfinies par l’agencement de la pièce.
On pourra ainsi voir la cuisine depuis la porte, les fenêtre, les coins de la pièce et du dessus pour avoir une vision générale de l’architecture.
Ensuite, tout comme pour la manipulation des meubles, on pourra se balader en caméra virtuelle gérée à la souris pour les translations et les rotations.
On peut même envisager de brider cette caméra virtuelle en lui imposant un comportement humain, c’est à dire de se déplacer à hauteur des yeux (1m70 à 1m90) et de ne pas pouvoir entrer en collision avec les murs et les objets.
On obtient ainsi un surplus de réalisme dans la vision de la cuisine.
On pourra aussi avoir accès à différents types de lumière (spot light, cône light ) qui seront définies par les lampes que l’utilisateur aura choisies pour sa cuisine.
Toutefois, il serait intéressant de proposer un éclairage naturel défini en fonction de l’orientation des fenêtres et de leur taille.
Le rendu serait beaucoup plus juste par rapport à la réalité, l’utilisateur pourrait ainsi avoir une meilleure appréciation de la luminosité de sa création et ainsi changer la couleur ou la texture des meubles avant de se lancer dans des achats coûteux ! !
Enfin, il sera possible de visualiser sa cuisine sous la forme d’un plan de type " architecte "(plan 2D ou perspective) et d’imprimer n’importe quelle vue sur une belle imprimante couleur.
Afin de bien formaliser tous nos objets, nous avons suivi scrupuleusement le cahier des charges qui nous avait été fourni au début des séances de TD :
Tous nos meubles ont donc été conçus avec ces directives et ceux qui ont été importés du réseau ont été modifiés afin de rentrer également dans notre modèle.
Dans la première partie des séances de TD, nous nous sommes familiarisés avec la création d’objet en VRML.
Nous avons utilisé les formes simples mises à notre disposition (nœud Shape, geometry) pour former des meubles de base (tables, portes, fenêtres, étagères).
Ensuite, nous avons conçu les murs, sol et plafond de la cuisine et ainsi de comprendre l'utilisation des textures et des "IndexFaceSet" ….
Dans un troisième temps, nous avons recherché sur le web et chez nos camarades des objets susceptibles d ‘égayer un peu notre cuisine et de la rendre plus réaliste. Mais afin de suivre le cahier des charge et de correspondre au style de la cuisine, de multiples modifications tels que la taille, la couleur, la position ont du être effectuées.
Ainsi, notre démonstration comporte des fours, réfrigérateur et même une télévision qu’ils nous auraient été impossible de créer en si peu de temps.
Exemple de meubles réalisés entièrement par nous:
Placard Bar
Exemple d'objets récupérés:
Frigo Four
Nous avons décidé d'utiliser différents types de lumières.
Ainsi la cuisine comporte une lumière ambiante non modifiable et deux lumières directionnelles (SpotLigth) pouvant être activée en cliquant un bouton grâce à l'animation.
Nous nous sommes intéressés à l’animation de nos meubles.
Nous avons tout d’abord procédé à des animations de type cyclique (Loop) puis nous avons utilisé des animations plus fines grâce aux Sensor et Interpolator qui permettent d’animer un objet interactivement sur un simple clic de souris.
Ainsi, la plupart de nos portes peuvent s’ouvrir et des animations plus complexes sont possibles comme l’ouverture de fenêtre avec rotation de poignée séquentielle, l'allumage des lumière et de la télévision grâce à des Script.
Un exemple:
Beaucoup d'outils VRML ont été utilisés tels que Background, Viewpoint, Movietexture, Sons, ….
Exemple: la télévision comporte un bouton qui lorsqu'il est cliqué, une vidéo est joué sur l'écran.
La cuisine a bien été réalisée en respectant au mieux le cahier des charges.
Mais par manque de temps, la cuisine n'est pas exactement telle que nous l'avions imaginée.
En effet, la conception d'objets est très longue et donc notre cuisine ne contient pas toutes les fournitures que nous voulions créer.
Durant ces TDs, nous avons surtout voulu utiliser et maîtriser le plus grand nombre d'outils différents VRML. De plus, nous avons voulu privilégié la créativité et l'originalité afin de rendre notre cuisine intéressante.
En conclusion, nous avons appréhendé un grand nombre de notions de la conception et animation tridimensionnelle que VRML permet de gérer et nos jours et nos nuits en seront à tout jamais boulversés pour des siècles et des siècles …. Amen ….
Que J.C.(L) soit loué ainsi que ses apôtres Michel et François.