Pages: 1
Bonjour, je suis en train de faire une caméra inspirée de celle de World of Warcraft, c'est à dire une caméra qui fixe toujours le personnage et qui tourne autour de lui, avec un clic pour tourner la caméra et le personnage, un clic pour ne tourner que la caméra, et la molette pour zoomer.
Même si il y a de plus ou moins gros détails à améliorer, ma caméra est fonctionnelle. Mais je me retrouve confronté à un mur quand j'essaie de gérer la sélection des SceneNode environnants avec cette caméra. J'ai essayé pas mal de chose en tâtonnant mais je n'ai jamais réussi à avoir quelque chose de concluant.
Les informations connus sont donc, la position du SceneNode du personnage, la position de la caméra (grâce a ces deux derniers on peut donc obtenir la direction de la vue), et la position du curseur à l'écran.
Le problème, je pense, vient du fait qu'on doive sélectionner un objet dans la 3D, avec un rendu "2D" (votre écran affiche une 2D créer à partir de la 3D, vous pouvez remarquez les lignes de fuites en regardant le sol de la map BSP fournie avec Irrlicht).
J'aimerais donc votre avis, si vous avez une piste sur comment passez de la sélection au curseur "2D", a la sélection en 3D. (Il faudrait j'imagine récupérer la direction de la vue, et la modifier (lui effectuer une rotation et/ou une translation) en fonction de la position du curseur à l'écran)
Merci de votre aide.
Hors ligne
regard les example irrlicht sur les triange_selector
Hors ligne
Ce n'est pas la sélection en elle même qui pose problème, je sais utiliser la fonction "getSceneNodeAndCollisionPointFromRay", le problème vient du "ray", je ne sais pas vraiment comment définir sa direction.
Hors ligne
J'aime bien discuter sur les forums mais la franchement c'est le tuto officiel 7 (livré dans le sdk)
allez ! je file le bout interressant:
Dernière modification par TUpac (18-09-2010 18:49:32)
Hors ligne
En fait vous n'avez pas compris mon problème mais je l'ai résolu grâce au forum anglais. Encore une fois je sais utiliser la fonction getSceneNodeAndCollisionPointFromRay, mon problème était de sélectionner un scene node avec le curseur avec une vue à la 3ème personne. C'est donc la partie mathématique qui me posait problème, définir la direction du vecteur "ray", et non la partie "technique".
Mais en fait, je n'ai même pas pensé à regarder dans la doc, et je n'ai donc pas vu qu'il y a des fonctions qui font le boulot toute seule. Voici le code pour une collision ray/box à partir de la position du curseur à l'écran:
Et le code pour une collision ray/box et ray/triangle:
Hors ligne
Ben je pense que tu t'exrime mieu en anglais parce-que j'ai toujours rien compris
Mais si tu as réussi .. tant mieu.
Dernière modification par TUpac (18-09-2010 23:58:51)
Hors ligne
Lol bon bha merci quand même. Et je profite d'avoir votre attention pour vous entrainer sur ce topic ou personne ne m'a répondu:
http://irrlicht-fr.org/viewtopic.php?id=1451
Merci de regarder j'aimerais bien résoudre ce problème
Hors ligne
Pages: 1