Trouver un point du mode 3D en 2D

Résolu
cs_thespartan Messages postés 36 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 26 mai 2008 - 12 janv. 2008 à 11:36
cs_thespartan Messages postés 36 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 26 mai 2008 - 13 janv. 2008 à 00:58
Bonjour. Dans mon jeu, je me balade dans un univers 3D et j'ai besoin de faire des explosions. Je me suis dit qu'il faudrait afficher les images en mode 2D (gluOrtho2D) afin que qu'on voit toujours la même explosion quelque soit le point de vue. Seulement je ne sais pas quelles coordonées 2D donner pour l'affichage de la texture : j'ai un point A(x,y,z) en mode 3D , quelles seront ses coordonneés 2D avec gluOrtho2D(0, 800, 600, 0) ? Merci

Spartan

5 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
13 janv. 2008 à 00:32
Salut,

Y a aussi la bonne vielle (Trop vielle ?) technique du billboard. Un bête quad toujours tourné vers la caméra sur lequel on applique une succession de textures.

Un article avec de jolie explosions.
3
acx01b Messages postés 280 Date d'inscription dimanche 7 septembre 2003 Statut Membre Dernière intervention 8 juillet 2014 6
12 janv. 2008 à 13:53
salut,

tu as une matrice GL_PROJECTION avec gluPerspective, et une autre avec GL_MODELVIEW avec gluLookAt multpliée par d'autres (translate rotate scale ....)

pour afficher à l'écran un objet openGL multiplie simplement les coordonnées du point: (x,y,z,1) par la matrice modelview puis par la matrice projection

il faudrait que tu regardes un peu ça car ton explosion va poser des problèmes:
faut-il oui ou non afficher l'explosion (le point explosif est-il dans le champ de vision ?)
parfois il faut aussi afficher une partie de l'explosion (juste les bords, ou encore pire une partie peut-être cachée par un objet...)

une idée comme ça qui résoudrait le problème: plaquer ta textue d'explosion sur une sphère par exemple et afficher cette sphère comme tes autres objets (enfin après l'affichage de toute la scène car ta texture d'explosion est transparente)

après si tu veux juste un effet style dessin annimé tu peux faire comme t'as dit en multipliant les coordonnées du point explosif par tes matrices

un lien: http://www.siteduzero.com/tuto-3-23958-1-les-transformations.html

Renaud
0
cs_thespartan Messages postés 36 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 26 mai 2008
12 janv. 2008 à 14:34
Je n'avais pas pensé au fait que des objets pouvaient être placés devant l'explosion... c'est vrai que sans depth buffer ils seraient cachés en partie...

Sinon quel genre d'effet sympa je peux obtenir avec la texture d'explosion plaquée sur la sphère? parceque c'est des sphères (astéroïdes) que je détruit et si je fais que changer la texture lors de la destruction des sphères (avec bien sur leur disparition) ça me parait pas trop top comme animation.

Spartan
0
acx01b Messages postés 280 Date d'inscription dimanche 7 septembre 2003 Statut Membre Dernière intervention 8 juillet 2014 6
12 janv. 2008 à 18:58
salut ben c'est toi qui voulait faire une explosion avec une texture !

apriori il faudrait que la texture se modifie avec un effet plasma ou un truc du genre pour faire vraiment explosion

en dessinant une sphère (et en utilisant le Stencil buffer ?) tu peux voir les endroits de la scène qui doivent être en explosion (idée d'un volume d'explosion)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_thespartan Messages postés 36 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 26 mai 2008
13 janv. 2008 à 00:58
effectivement rt15, c'est la solution que j'ai choisie il y a quelques heures mais merci quand même

Spartan
0
Rejoignez-nous