Bonjour !
Je voudrais créer une ligne qui part d'un personnage et qui "s'arrête" pile à un autre, afin de tester une IA. Je sais initialiser la ligne sur le node de départ, mais j'ai du mal à le faire arrêter sur l'autre node, car je ne sais pas vraiment comment la terminer. Dois-je juste mettre :
line.end = node->getPosition(); ?
Autre question :
comment récupérer la taille d'une ligne ou alors la distance entre deux nodes ?
De tout cœur, merci...
Dernière modification par Fremtid (27-08-2008 20:30:03)
Hors ligne
Pour la taille des ligne, si je me rappel mes cours sur les vecteurs, faut faire :
(position de fin) - (position de début) = vecteur 3d
Racine de ((x du vecteur)² + (y du vecteur)² + (z du vecteur)²)
et normalement tu obtiendras la taille de ta ligne si je me trompe pas...
ex :position de début = (3,4,5) position de debut = (5,8,10)
(5,8,10) - (3,4,5) = (2,4,5)
(2²+4²+5²)=45
racine de 45 = environ 6.7
j'espère que sa t'aideras, corrigé moi si je me trompe :p
Pour ta la position de fin getPosition me parait pas mal mais faut voir si la position ne renvoie pas au centre du perso
Dernière modification par bestben (27-08-2008 21:23:38)
Hors ligne
Merci pour ton aide, bestben.
En vérité je connaissais déjà cette methode, c'est vieux comme le monde, le théorème de pythagore et on voit ça très jeune. Moi je me demandais s'il n'y avait pas une methode qui prenait moins de resources peut-être, où qui manipule directement les positions des nodes d'irrlicht sans intermédiaire. Mais bon, je vais utiliser cette methode.
Hors ligne
J'avais pas vu mais je crois que getLength( ) sert à récupérer la taille d'une ligne
Hors ligne
Voici une fonction qui renvoie la distance entre 2 nodes:
float getDistance(ISceneNode* n1, ISceneNode* n2) { return line3d (n1->getPosition(),n2->getPosition()).getLength (); }
Evidement si ta ligne sert a autre chose comme testé les collisions cette fonction va faire perdre du temps donc il ne faut pas l'utiliser directement a moin que tu veule uniquement la distance et que tu ne crée pas la même ligne ailleur.
Mais elle te permettra de comprendre comment l'utilser.
Je te conseil par contre de consulter la doc irrlicht disponible dans la section api du site officiel ou le repertoir doc du sdk irrlicht. Tu aurais vu tous sa directement en faisant une recherche avec comme mot clef line. Ce n'est aucune ment une critique c'est juste que sa va plus vite pour toi que t'attendre que quelqu'un te reponde
dark calculator
Hors ligne
Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
---|---|---|---|---|
Corrections |
|
xhtml 1.0 css 2.1 Propulsé par FluxBB Traduit par FluxBB.fr |
882 membres 1429 sujets 11119 messages |
Dernier membre inscrit: LiseBuisson96 15 invités en ligne Aucun membre connecté RSS Feed |