/ / threejs fait pivoter une partie du modèle , comment une partie du modèle tourne autour de la partie elle-même - three.js

troisjs font pivoter une partie du modèle , comment une partie du modèle tourne autour de la partie elle-même - three.js

J'étais confus , je charge un modèle obj en HTML , maislorsque je fais pivoter une partie de ce modèle (ce modèle provient d'un mélangeur, une partie à la fois) cette pièce ne fait que pivoter autour du centre du modèle mais elle ne tourne pas autour de son centre, comment puis-je laisser la pièce tourner autour du partie elle-même, l'instruction "part.rotation + = 1;" ne marche pas.

Réponses:

0 pour la réponse № 1

Vous devez organiser les pièces de cette manière: chaque partie est une THREE.Mesh qui contient une collection de sommets positionnés (local) par rapport au centre de la pièce. En d’autres termes, le centre de la pièce du monde devient l’axe d’origine dans l’axe local de la pièce. le maillage doit être un enfant de THREE.Object3D situé au centre de cette pièce, vous pouvez alors appliquer une rotation à l'objet maillé.

Exemple de transposition de l'emplacement des vertices:

mesh.position.set(partCenterVec);

mesh.updateMatrixWorld();
mesh.geometry.applyMatrix(mesh.matrixWorld);

// reset local matrix
mesh.position.set(0,0,0);
mesh.rotation.set(0,0,0);
mesh.scale.set(1,1,1);
mesh.updateMatrixWorld();