Comment puis-je faire pivoter un maillage de 90 degrés dans ThreeJS?
J'ai un mesh que je veux faire tourner de 90 degrés à l'intérieur de Trois JS.
Voici l'image de la situation actuelle:
Je veux le filet sélectionné pour être tourné en parallèle à la grande maille.
J'ai essayé de la rotation de la matrice comme ceci:
matrix = new THREE.Matrix4().makeRotationX(1.57)
Mais le maillage va dans d'étranges rotations. Est-il un moyen plus facile de le faire pivoter de 90 degrés ?
- objet.de rotation.y = TROIS.Les mathématiques.degToRad( 90 );
Vous devez vous connecter pour publier un commentaire.
La threejs rotation utilise Radians (comme vous le savez peut-être)
vous pouvez utiliser cette
ou
mesh.rotation.set(new THREE.Vector3( 0, 0, Math.PI / 2));
ne fonctionnent pas sur les r96. utilisationsetFromVector3
au lieu deset
mesh.rotation.set(0, 0, Math.PI / 2)
est Ok avec r101. À l'aide derotation.set()
avec un Vector3 donneNaN
valeurs dans les propriétésmatrix
etmatrixWorld
qui rend votre objet disparaissent de la scène, montrant rien dans la console.Vous pouvez faire pivoter un objet à l'aide de cette fonction:
THREE.Math.degToRad()
ouTHREE.Math.radToDeg()
Disons
meshToRotate
doit être tourné de 90 degrés à l'axe des abscisses. Puis effectuez les opérations suivantes.Testé sur r96, vous pouvez également utiliser
mesh.rotation.set( Math.PI / 2, 0, 0 );