2011-04-23 1 views
5

Possible en double:
Inverting rotation in 3D, to make an object always face the camera?Comment puis-je dessiner un objet dans openGL qui fait toujours face à la caméra?

J'ai des images 2D dans un espace 3D que je voudrais faire face à la caméra en tout temps. Ces objets sont à l'intérieur d'une pile de transformations (puisque je veux qu'ils se déplacent par rapport à un autre objet, pour garder une longue histoire courte). Quel serait le moyen le plus facile de mettre en œuvre cela?

+0

mathématiques, il a été trop long, cela ne suffira pas pour une réponse. Vous pouvez utiliser la surface normale de vos images 2D pour pointer vers l'appareil photo. En supposant que vos images 2D sont sur un plan simple. –

Répondre

0

Votre image 2D dans l'espace 3D face à la caméra est appelé un panneau d'affichage et il est couramment utilisé dans un moteur 3D pour représenter des géométries complexes comme les arbres, les plantes, les particules, etc.

Pour calculer l'orientation de votre panneau d'affichage , parcourez votre pile de transformation vers l'arrière pour trouver le point de vue par rapport à votre panneau d'affichage. Faites ensuite pivoter le plan de sorte que la normale de l'avion ressemble à ce point de vue.

Dans des cas particuliers comme les arbres ou les plantes, les panneaux d'affichage ont un axe contraint, car vous voudriez que ces objets soient verticaux par rapport au sol.

+0

Bien que cela fonctionne en principe, cette méthode est beaucoup plus compliquée qu'elle ne devrait l'être. Voir mon message. – datenwolf

Questions connexes