26-07-2010, 12:34 PM
Bonjour,
Imaginez un cube qui représente un mur. Un impact d'obus peut déformer le mur en faisant un gros trou dedans. Je voulais avoir votre avis sur deux questions que je me pose.
Question 1 : Comment modéliser cette déformation ?
J'utilise l'API Java3D (qui utilise openGL ou direct3D), mais je suppose que toutes les API offrent des fonctionnalités similaires. Techniquement, on commence par créer un univers (l'ensemble des objets du monde) et on demande son affichage. On peut manipuler l'univers en déplaçant les objets ou en les faisant tourner par exemple. Mon problème vient du fait que les objets doivent être présents dans le monde initialement.
Après avoir réfléchi un peu dessus, et parcouru des sites traitant (un peu) de ça, voici les idées que j'ai retenues :
(1) Créer un objet "MurNormal" et un objet "MurAbimé". Téléporter l'objet "MurAbimé" hors de la vue du joueur. Lorsqu'il y a une interaction avec l'objet "MurNormal", échanger la position de "MurNormal" et de "MurAbimé".
(2) Modéliser l'objet "MurNormal" comme un objet "MurAbimé" auquel s'ajoute une partie "TrouComblé" (qui comble le trou du mur abimé). Lors de l'interaction avec "MurNormal", la partie "TrouComblé" est téléportée loin.
(3) Lors de l'interaction, détacher l'objet "MurNormal" de l'univers, reconstruire (dynamiquement) un objet "MurAbimé" en fonction de l'impact, et attacher cet objet à l'univers.
La solution (3) a l'air la plus intéressante, mais la plus compliquée aussi (il faut recalculer la position de tous les triangles en fonction de l'impact).
Question 2 : Dans les jeux 3D actuels, est-ce que les animations des objets 3D utilisent des déformations ou uniquement des objets mobiles mais non déformables ?
En regardant attentivement les animations de personnages/monstres dans dans MMORPG en 3D, j'ai l'impression que les objets ne sont pas déformables... Qu'en pensez-vous ?
Merci
Imaginez un cube qui représente un mur. Un impact d'obus peut déformer le mur en faisant un gros trou dedans. Je voulais avoir votre avis sur deux questions que je me pose.
Question 1 : Comment modéliser cette déformation ?
J'utilise l'API Java3D (qui utilise openGL ou direct3D), mais je suppose que toutes les API offrent des fonctionnalités similaires. Techniquement, on commence par créer un univers (l'ensemble des objets du monde) et on demande son affichage. On peut manipuler l'univers en déplaçant les objets ou en les faisant tourner par exemple. Mon problème vient du fait que les objets doivent être présents dans le monde initialement.
Après avoir réfléchi un peu dessus, et parcouru des sites traitant (un peu) de ça, voici les idées que j'ai retenues :
(1) Créer un objet "MurNormal" et un objet "MurAbimé". Téléporter l'objet "MurAbimé" hors de la vue du joueur. Lorsqu'il y a une interaction avec l'objet "MurNormal", échanger la position de "MurNormal" et de "MurAbimé".
(2) Modéliser l'objet "MurNormal" comme un objet "MurAbimé" auquel s'ajoute une partie "TrouComblé" (qui comble le trou du mur abimé). Lors de l'interaction avec "MurNormal", la partie "TrouComblé" est téléportée loin.
(3) Lors de l'interaction, détacher l'objet "MurNormal" de l'univers, reconstruire (dynamiquement) un objet "MurAbimé" en fonction de l'impact, et attacher cet objet à l'univers.
La solution (3) a l'air la plus intéressante, mais la plus compliquée aussi (il faut recalculer la position de tous les triangles en fonction de l'impact).
Question 2 : Dans les jeux 3D actuels, est-ce que les animations des objets 3D utilisent des déformations ou uniquement des objets mobiles mais non déformables ?
En regardant attentivement les animations de personnages/monstres dans dans MMORPG en 3D, j'ai l'impression que les objets ne sont pas déformables... Qu'en pensez-vous ?
Merci