Rotation d'un vilebrequin

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Avatar de l’utilisateur
Philippe
Messages : 18
Inscription : 18 Déc 2010 16:40
Localisation : Montpellier
Contact :

Rotation d'un vilebrequin

Message par Philippe » 18 Déc 2010 16:53

Bonjour,

Nouvel utilisateur de Unity, évidement, je perds beaucoup de temps sur des détails de script.

Comme, par exemple, la rotation sur l'axe Z d'un vilebrequin de moteur à explosion.

Le vilebrequin n'est pas un cylindre parfait par rapport à son axe :

Image

Avec le petit script suivant, le vilebrequin tourne bien sur lui-même, mais, en plus, décrit un cercle autour de son axe (double rotation) !

var Vilebrequin:GameObject;

function Update () {
Vilebrequin.transform.Rotate(0,0,1);
}


Je suppose que la raison est le déséquiblibre, par rapport à l'axe principal, des parties constituants le vilebrequin, mais je n'arrive pas à resoudre ce mouvement.

Quelqu'un a-t-il une idée comme l'introduction d'un offset, par exemple ?

Philippe
http://www.crokiup.fr - Dessin 3D sous SketchUp

Avatar de l’utilisateur
Philippe
Messages : 18
Inscription : 18 Déc 2010 16:40
Localisation : Montpellier
Contact :

Re: Rotation d'un vilebrequin

Message par Philippe » 21 Déc 2010 09:31

Bonjour à tous,

Je suis heureux de vous indiquez la réponse... à ma question...

Travaillant mes modèles 3D depuis SketchUp, que je connais très bien, je n'avais pas compris que l'axe de référence du modèle 3D SketchUp (les 3 traits de couleur RGB), en l'occurence, le vilebrequin, serait l'axe de rotation dans Unity !

Image

Une fois déplacé le bloc entier, sur cet axe, dans SketchUp, puis importé dans Unity, l'axe du vilebrequin tourne bien avec le code indiqué ci-dessus.

Je vais maintenant essayé de faire tourner, à leurs bons emplacements, les 4 bielles et les 4 pistons, je ne sais pas encore comment ?

Voila ou j'en suis, les bielles et les pistons suivent le mouvement du vilebrequin, mais les bielles et les pistons restent droits (verticaux) ?

Code : Tout sélectionner

var Vilebrequin:GameObject;
var Bielle1:GameObject;
var piston1:GameObject;
var Bielle2:GameObject;
var piston2:GameObject;
var Bielle3:GameObject;
var piston3:GameObject;
var Bielle4:GameObject;
var piston4:GameObject;

var vitesse=1;

function Update () {

print (transform.eulerAngles.z); 


Vilebrequin.transform.Rotate (0,0,vitesse);

Bielle1.transform.rotation = Quaternion.AngleAxis(0, Vector3.up);

Bielle2.transform.rotation = Quaternion.AngleAxis(0, Vector3(0, 0, 0));

Bielle3.transform.rotation = Quaternion.AngleAxis(0, Vector3(0, 0, 0));

Bielle4.transform.rotation = Quaternion.AngleAxis(0, Vector3(0, 0, 0));


}
Philippe
http://www.crokiup.fr - Dessin 3D sous SketchUp

Avatar de l’utilisateur
Philippe
Messages : 18
Inscription : 18 Déc 2010 16:40
Localisation : Montpellier
Contact :

Re: Rotation d'un vilebrequin

Message par Philippe » 22 Déc 2010 16:43

Bonjour à tous,

Je m'embête beaucoup avec les diverses possibilités de rotations dans Unity. Notamment avec les nombreuses variables Quaternion.

J'ai donc traduit en français une partie de la documentation de Unity3. En fait, tout ce qui concerne cette page de leur site : http://unity3d.com/support/documentatio ... Quaternion.

Sur ce lien : http://www.vuedehaut.fr/Unity/Quaternion.doc vous pourrez télécharger ce document d'une cinquantaine de pages, qui, bien que n'étant pas parfait, pourra certainement vous aidez.

Philippe
Dernière édition par Philippe le 22 Déc 2010 18:12, édité 1 fois.
http://www.crokiup.fr - Dessin 3D sous SketchUp

Avatar de l’utilisateur
Freelax
Messages : 1595
Inscription : 30 Déc 2009 23:02
Localisation : Niort
Contact :

Re: Rotation d'un vilebrequin

Message par Freelax » 22 Déc 2010 17:30

Ca c'est cool! ;)

Merci ca va me servir!
Image

Avatar de l’utilisateur
Philippe
Messages : 18
Inscription : 18 Déc 2010 16:40
Localisation : Montpellier
Contact :

Re: Rotation d'un vilebrequin

Message par Philippe » 23 Déc 2010 11:12

Résultat du code actuel visible ici : http://www.vuedehaut.fr/engine/WebPlayer.html

Philippe
Dernière édition par Philippe le 23 Déc 2010 15:54, édité 1 fois.
http://www.crokiup.fr - Dessin 3D sous SketchUp

Avatar de l’utilisateur
Freelax
Messages : 1595
Inscription : 30 Déc 2009 23:02
Localisation : Niort
Contact :

Re: Rotation d'un vilebrequin

Message par Freelax » 23 Déc 2010 11:17

Sympa ;)

c'est dans quel but ton anim?
Image

Avatar de l’utilisateur
Philippe
Messages : 18
Inscription : 18 Déc 2010 16:40
Localisation : Montpellier
Contact :

Re: Rotation d'un vilebrequin

Message par Philippe » 23 Déc 2010 13:28

Salut Freelax,
Mon but, juste apprendre l'utilisation de Unity au travers d'exemples concrets. Ce dernier exemple commençant sérieusement à me fatiguer...
Philippe
http://www.crokiup.fr - Dessin 3D sous SketchUp

Avatar de l’utilisateur
Freelax
Messages : 1595
Inscription : 30 Déc 2009 23:02
Localisation : Niort
Contact :

Re: Rotation d'un vilebrequin

Message par Freelax » 23 Déc 2010 16:05

J'avais pas vu que tu était fraichement inscrit, donc bienvenu à toi ;)

bonne continuation
Image

Avatar de l’utilisateur
didite
Messages : 32
Inscription : 30 Déc 2009 13:43
Localisation : Dinan
Contact :

Re: Rotation d'un vilebrequin

Message par didite » 23 Déc 2010 16:23

je suis en train de rechercher dans mes archives, j'avais des trucs sympa fait avec Cinema4D, avec les formules, dès que j'ai ça, je reviens.
En adaptant la formule, y'aura peut-être moyen de faire un truc sympa
MacBook Pro(Parallels) - Mac G5.
Unity3D - Cinema4D - Suite Adobe CS4

Avatar de l’utilisateur
didite
Messages : 32
Inscription : 30 Déc 2009 13:43
Localisation : Dinan
Contact :

Re: Rotation d'un vilebrequin

Message par didite » 23 Déc 2010 16:32

Voici déja la vidéo.

PISTON AVEC CINEMA4D
MacBook Pro(Parallels) - Mac G5.
Unity3D - Cinema4D - Suite Adobe CS4

Répondre

Revenir vers « Scripting »