Historique des modifications - Message

Message #6092

Sujet: rotation absolue >> local ( setAbsoluteRotation )


Type Date Auteur Contenu
Création du message 02-03-2009 16:01:16 Steph
Ben une rotation global par rapport au world
si tu mets juste tous à zéro, alors il vas prendre l'orientation du parent, tous en ayant ses axes local à zéro, donc pas par rapport au world

Se que je cherche, c'est que si j'envoie un (10,20,5) mon objet devras faire (10,20,5) dans le world, exactement comme un objet->setRotation(valeur);

Sauf que si l'objet à un parent qui à déjà une orientation des axes autre que (0,0,0), alors comme le setRotation et basé sur l'axe local, l'axe vas s'additionner au parent et il ne sera plus orienté par rapport au world. D'où la 1er idée naïve de lui soustraire l'orientation du parent, mais c'est plus compliqué que ça... sad

Sinon j'ai réussis à faire la position absolue, et la j'ai pas de problème, ça marche bien...

Si quelqu'un en à besoin un jour, voila... smile
void setAbsolutePosition( irr::scene::ISceneNode *objet, core::vector3df vector )
{
    irr::scene::ISceneNode *parent =  objet->getParent();
    if (!parent) objet->setPosition(vector);
    else
    {                                              
        irr::core::vector3df position( vector - parent->getAbsolutePosition() );
        objet->getAbsoluteTransformation().inverseRotateVect( position );
		objet->setPosition( position );  
    }
	objet->updateAbsolutePosition();
}

Avec cette fonction, je donne des valeurs de position absolue par rapport au world, peut importe ou sont placé et orienté les objets parents.
Maintenant il faut que je trouve le même truc pour les rotations, puis le scale pour avoir une trousse complète pour les positionnement dans l'espace 3D.

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
121 invités en ligne
membre en ligne: -
RSS Feed