Pages: 1
Bonjour,
Ne trouvant pas de sujet semblant parler de ceci, je poste ce topic. Comme à mon habitude ça va être long et y'aura plein de choses à discuter... (pfff quel boulet ce valholl)
Je suis en train de faire quelques essais avec irrlicht et je suis pour le moment en train de faire une petite scène avec de la lave (désolé pour la qualité, en JPEG ça donne pas terrible, mais au moins c'est petit en bytes):
Pour le moment ça se passe bien, faut dire que c'est assez simple (enfin pour vous qui me lirez, moi je suis débutant total )
J'ai donc: un terrain, une eau (enfin c'est de la lave), une lumière, un mesh (ce brave nain qui nous forge une hache bien entendu, il est au bon endroit) et les ombres. Bon je sais vous allez rire en voyant les FPS mais bon j'ai une 7600GS et en 1440x900 pas terrible tout ça... enfin soit.
Dans cette scène il y a plusieurs choses que je voudrais améliorer:
1) on voit la lave sous le terrain: il faudrait pouvoir fermer les côtés et la partie inférieure du terrain pour qu'on ne voie rien (comme si on prenait une tranche complète du terrain et pas seulement la surface)
2) les bords de la lave: ils sont trop découpés, et la lave, de par sa viscosité, devrait faire des courbes plus douces lorsqu'elle touche le terrain
3) la chaleur par radiation: en effet vu la chaleur de la lave, il faudrait avoir un effet de flou au-dessus, comme lorsqu'on regarde au-dessus d'une bougie, c'est la chaleur radiée
4) le nain qui suit le terrain: ça marche, mais parfois l'intersection avec le terrain pour récupérer les normales n'a pas d'effet... car il semble qu'il n'intersecte avec rien Et résultat parfois il reste penché en avant comme pour descendre alors qu'il est sur du plat.
5) brouillard volumétrique: ça n'est pas vraiment lié à la lave elle-même, mais plutôt à la distance de vue... en effet, j'ai appliqué un Fog au driver et je l'ai activé sur les SceneNodes (terrain, nain, eau), mais il n'y a pas de volume, c'est juste les surfaces qui sont embrumées... (il est désactivé sur le snapshot)
J'ai bien une idée pour 1: créer à la main des triangles qui viendraient fermer les 4 côtés du terrain (en suivant celui-ci bien entendu). Pour 2, il faudrait peut-être ajouter des triangles pour arrondir le terrain aux endroits d'intersection (je sais pas si c'est possible "on the fly"). En revanche pour 3 j'ai aucune idée (à part une idée stupide: wobbler la vue caméra avec une table sinus). Pour 4 je dois peaufiner ma recherche des intersections, donc c'est plutôt mineur pour le moment. Enfin pour 5 je ne sais pas trop comment ça marche, d'habitude on voit l'effet en FPS mais moi justement ce qui m'intéresse c'est la vue de loin.
Il faut savoir que la caméra n'est pas FPS, elle regarde le terrain comme sur le snapshot, et on peut la tourner autour du terrain pour voir celui-ci sous les autres angles.
La heightmap du terrain fait 256x256, à l'origine elle faisait 512x512 mais irrlicht semble mal le vivre... de plus j'ai du la resizer dans irrlicht avec setScale (le terrain a été généré avec World Machine 2 Basic - merci Steph - et avait beaucoup plus d'altitude, c'était super dans WM2B mais dans irrlicht ça donnait vraiment moche). Donc question détails ben ça peut expliquer le point 2.
Je sais pas si vous avez des idées, il faut savoir que je débute mais bon je suis déjà arrivé à ceci et j'en suis assez content car j'ai compris dans l'ensemble ce que je faisais
Après il faudra que je m'attaque à d'autres choses (coord. souris 3D pour déplacer le nain au clic - pour le moment c'est au clavier -, collision souris<->objets pour sélections, etc.) mais avant j'aimerais résoudre ces quelques éléments.
Un grand merci d'avance, en espérant avoir suscité l'intérêt avec mes questions !
valholl
Hors ligne
Pages: 1