[RESOLU] Mouvement d'un Bone sur un objet animer

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Avatar de l’utilisateur
Ramou
Messages : 15
Inscription : 15 Oct 2012 13:03

[RESOLU] Mouvement d'un Bone sur un objet animer

Message par Ramou » 02 Nov 2017 22:49

Bonsoir,
Je me heurte a un petit soucis qui me chagrine quelques peu.
J'ai un personnage en 3D que j'ai animer avec blender au niveau de ses jambes (et que de ses jambes avec des IK).
Dans Unity, j'ai utiliser un bout de code pour faire pencher le personnage sur l'avant ou l’arrière en fonction du mouvement de la souris (en bougeant un des Bones du torse). Tout fonctionnais bien jusqu'a se que je lance l'animation des jambes, a se moment là, plus moyen de me pencher.

Dans Blender, quand je lance l'animation des jambes et que je bouge un Bone qui n'est pas affecter par cette animation, tout ce qui est relier bouge correctement, ce qui m’amène à penser que mon problème est plutôt du coté de l'importation de l'animation dans Unity.

Petite photo, sur la gauche, dans Unity RAS sans l'animation, a droite, mon Armature dans Blender.
Image

Quelqu'un aurais une idée de ce que j'ai fait de travers ?
Ps : Dans "Animation type" dans Unity, je suis sur "Legacy".

Merci :)

Avatar de l’utilisateur
ZJP
Messages : 5748
Inscription : 15 Déc 2009 06:00

Re: Mouvement d'un Bone sur un objet animer

Message par ZJP » 03 Nov 2017 00:38

Le Script qui affecte les "bones" est-il placé dans une fonction "LateUpdate"?.

Avatar de l’utilisateur
Ramou
Messages : 15
Inscription : 15 Oct 2012 13:03

Re: Mouvement d'un Bone sur un objet animer

Message par Ramou » 04 Nov 2017 21:54

Bonjour, merci de te réponse.
Non, je n'utilise pas cette fonction (que je ne connaissait pas d’ailleurs, je vais regarder de plus près sont utilité)
Cependant, cela ne change rien, de plus, même depuis l'éditeur, je ne peux pas effectuer de rotation sur un bone quand un animation est joué.
Une idée ?
Merci

Avatar de l’utilisateur
ZJP
Messages : 5748
Inscription : 15 Déc 2009 06:00

Re: Mouvement d'un Bone sur un objet animer

Message par ZJP » 05 Nov 2017 01:31

C'est une question d'ordre d’exécution. Le code dans un LateUpdate est exécuté APRES les animations et AVANT le rendu. Donc, normal que bouger les "bones" dans l’éditeur soit sans effet lors de l'animation.

Quelle que soit l'Animation (cohérente ou pas), elle est (ou peut être) "overwritée" par le code dans le LateUpdate. Principe fondamental sous Unity. Surtout en Legacy.
Ramou a écrit :
04 Nov 2017 21:54
Une idée ?..
A part placer le code qui visiblement fonctionnait au bon endroit?!. Non...

http://www.echo17.com/forum/index.php?topic=180.0

Avatar de l’utilisateur
Ramou
Messages : 15
Inscription : 15 Oct 2012 13:03

Re: Mouvement d'un Bone sur un objet animer

Message par Ramou » 05 Nov 2017 11:56

Un grand merci de nouveau, merci beaucoup de ton explication !
Effectivement, la rotation veux s'effectuer, cela fait des sursauts mais à chaques frames l'angle de rotation cherche à se remettre à sa valeur d'origine et dès que j’arrête de forcer avec la souris, elle la reprend.
J'ai pas chercher bien loin pour la rotation, juste un transform.Rotate
:pleur4: :pleur4: :pleur4: :snif:

EDIT : Je crois que ca vient de mon code cette fois. Je récupérais la valeur avec Input.GetAxis plutôt qu'avec Input.mousePosition :-D
Je reviens confirmer si le problème est résolut

Avatar de l’utilisateur
ZJP
Messages : 5748
Inscription : 15 Déc 2009 06:00

Re: [RESOLU] Mouvement d'un Bone sur un objet animer

Message par ZJP » 05 Nov 2017 17:18

;-)

Répondre

Revenir vers « Unity le logiciel »