Tout l�int�r�t d�une sc�ne graphe r�side dans le fait de pouvoir exprimer une entit� 3D dans le rep�re d�une autre entit� par une hi�rarchisation matriciel !
Comme tu sembles �tre novice (sans vouloir te vexer) avec la 3D, je vais tenter de t�expliquer le concept de sc�ne graph
Par exemple un verre est pos� sur une table, il est alors attach� en que fils de Table, si le perso d�place la table le verre se d�placera automatiquement avec...
ensuite si le perso attrape le verre dans �� main, pour que le verre suive les mouvements du perso, il suffit de d�tacher l�entit� verre de table pour l�attacher, en tant que fils, a l�entit� poign�e du perso , lui-m�me attach� � l�entit� coude , et ainsi de suite le long du squelette du perso.
Si tu d�sires obtenir une vue � la troisi�me personne, tu as juste a attach� ta camera en tant que fils de l�entit� perso, la propri�t� position devient alors le vecteur d�offset par rapport � la position du personnage :
camera.position = new THREE.Vector3( 0, 5, -10 );
place la camera dans le dos du perso a une distance de 10 et a une hauteur de 5.
Voil� si tu ma�trise ton arbre de matrices de ta sc�ne 3D, tu ma�triseras, alors, le rendu !
Juste quelques rappels et conseils pour finir:
- Le systeme de calcule matriciel n�est pas commutatif A * B != B * A, si tu pan avant de tiller tu n�obtiendras pas le m�me changement de rep�re que si tu tilt et ensuite tu pan !
- Les entit�s 3D ( proto Object3D ), par d�faut, recompose la matrice 4x4 � partir des 3 angles d�Euler composant la propri�t� rotation ,et cela en utilisant la propri�t� eulerOrder, qui par d�faut est �gale a "XYZ" , il est pr�f�rable, pour �viter les surprise, d�utiliser l�ordre "YXZ", pour effectuer dans l�ordre : le pan (axe Y) , le tilt (axe X) et en dernier le roll (axe Z) , sinon y aussi les quaternions, a la places des angles, par les propri�t�s quaternion et useQuaternion.
- N�h�site pas � cr�er des point de pivot dans ton sc�ne graph pour t�aider � la manipulation, en instanciant directement le proto Obect3D.
Voilou bonne chance pour ton applis 3D !
Partager