Message #10266
Sujet: Modélisation du système solaire et problèmes de clipping
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Création du message | 24-11-2011 16:15:32 | Dexter9313 |
Bonjour à tous ! Je suis nouveau dans le monde d'Irrlicht et j'ai choisis ce moteur pour créer un équivalent libre d'Orbiter pour ceux qui connaissent (http://orbit.medphys.ucl.ac.uk/ pour les autres). Apparemment le créateur de ce programme n'a eu aucun mal à afficher les planètes/vaisseaux et autres bâtiments avec Direct3D, bien que je sois convaincu qu'il utilise quelques astuces.
Ayant programmé ma classe qui me permet de gérer les caractéristiques physiques des planètes, j'ai décidé de faire un petit test en graphique. Prévoyant à l'avance que la farValue serait un obstacle pour afficher les distances réelles quand celles-ci sont très grandes, je place les planètes à une distance fixe de la caméra à partir d'une certaine distance par rapport à la planète en utilisant scale() pour réduire sa taille avec la distance, pour avoir un diamètre apparent réaliste (angle de vue sous lequel on voit un corps céleste). C'est fluide et on a vraiment l'impression de s'en éloigner alors qu'elle ne bouge pas. Cette technique fonctionne terriblement bien pour afficher des objets très lointains, par contre, pour ce qui est des distances proches, je bloque... J'ai vu qu'un autre membre avait aussi eu ce problème, cependant vous lui aviez conseillé de revoir ses échelles il me semble. Cependant, pour mon cas, je dois conserver les échelles puisque le programme se veut réaliste à ce niveau-là, ou alors il faut trouver une technique de contournement des contraintes techniques du moteur, comme je l'ai fait pour les grandes distances. Quand je suis très proche d'une planète, en s'approchant donc de la nearValue (et quand celle-ci est inférieure à 1, c'est de toute manière le bordel quelle que soit la distance, donc je l'ai laissée à 5), les mouvements de caméra font "vibrer" désagréablement la planète, la rendant à nouveau fixe quand la caméra ne bouge plus. J'ai pris pour échelle 1 unité graphique = 100km. À 600km et au-delà de la planète ça va donc très bien, cependant, dans Orbiter, on est censé pouvoir se poser sur la planète ! Mes questions sont donc :
Je pense bien que la solution sera l'illusion mais j'espère trouver une fonctionalité du moteur qui pourrait me simplifier la vie à ce niveau-là. Bonne soirée et merci d'avance ! |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 151 invités en ligne membre en ligne: - RSS Feed |