[Résolu !] Animation de 3DSMAX qui bug dans Unity

GO TO ADMIN PANEL > ADD-ONS AND INSTALL VERTIFORO SIDEBAR TO SEE FORUMS AND SIDEBAR
#1
Salut les gens !

Je vous expose un problème que j'ai actuellement avec Unity.

Dans 3DSMax, j'ai 4 animations : Idle / IdleOBJ / IdleFEU / IdlePOISON
Chacune de ces animations est destinée à tourner en boucle.

Elle font 30frames chacunes + 1 frame de sécurité (qui est un double de la frame n°30)

J'ai bien vérifié dans Max, mes boucles tournent parfaitement.

Pour exporter mon personnage et ses animations, je passe par le MotionMixer.
Dans le MotionMixer je mets les animations dans le même ordre que cité plus haut.
Sauf que je sépare mes animations de 5 frames ainsi on a :
Idle ( 0 - 30)
IdleOBJ (35 - 65)
IdleFEU (70 - 100)
IdlePOISON (105 - 135)

Je fais Compute Mixdown

J'exporte le tout en FBX en sélectionnant le modèle et les bones.
Dans Unity, je retroure mon modèle et je définis les takes comme dit, juste avant.
La première animation tourne bien en boucle mais la suivante à un sursaut à la dernière frame, pareil pour la 3e et la 4e.

Je ne comprends d'où ça vient, alors, pour être sûr que mes animations fonctionnent, je décide d'exporter mon personnage qu'avec la 2e animation. (IdleOBJ)
Et là... l'animation fonctionne elle tourne en boucle nickel...

Je ne comprends plus rien.

De retour dans Max, je décide de copier mon Mixdown directement sur mon Biped et je sauvegarde mon fichier .bip.

Je réinitialise ma scène, charge mon personnage en T-pose, ajoute l'animation que j'ai sauvegardé en .bip, je vérifie mes 4 premières boucles, tout fonctionne nickel.

J'exporte le tout au format FBX sous un autre nom.
Je recharge mon personnage dans Unity et là c'est pareil.
La première animation fonctionne et pas les suivante.

J'ai fais pareil en virant les clef de sécurité que j'ai mit et ça marche pas non plus...

Ça fait 3h que je tourne en rond, j'ai pas de solution...


Help... [:foxcoon:16]


Je pense à une chose : Copier ma 2, 3 et 4 animation directement à la chaine sans passer par le MotionMixer, mais Max n'autorise à copier une animation d'un Biped à l'autre...
 
#2
J'ai trouvé une solution !!

Ce n'est pas la plus ingénieuse, mais au moins elle marche !

Alors, ce que j'ai fais ce matin c'est éditer mes 3 premières animations : Idle / IdleOBJ / IdleFEU pour tester.
J'ai rajouté (dupliqué en fait) 4 frames identique à la frame 0 et 5 frames identiques à la frame 30.
Du coup, ça donne ça :
0 -> 4 = Pas d'animation car frames identiques à 5.
5 -> 30 = Animation.
31 -> 35 = Pas d'animation car frames identiques à 30.

Dans le MotionMixer j'ai collé toutes mes animations, les unes après les autres sans laisser de frame vides.
J'ai même pas fais le compute Mixdown et j'ai exporté le tout au fortma FBX dans Unity.

Une fois dans Unity, j'ai remis les bons n° de frames pour n'avoir que mon animation et ça fonctionne !
Mes 3 animations tournent en boucle sans soucis !

Ça ressemble à du bricolage, mais ça marche, vous faites comme ça vous aussi ?
[:foxcoon:12]
Du coup, il me reste à éditer correctement mes 25 animations + 75 autres liées à d'autres personnages !
[:foxcoon:22]
 
#3
Salut.

En effet c'est un soucis qui arrive, et si tu laisse 5 frames entre deux boucles, il faut toujours les "fermer" en remplissant l'espace avec des clefs de fin de boucle. Ça sécurise la transition. Pense aussi à vérifier qu'il n'y ai pas d'interpolation particulière avec tes biped et l'animation en quaternion en posant une tension au max.

Ensuite, il est possible de régler le soucis avec un bake complet de l'animation (coche même Resamble All) lors de l'export dans les réglages en FBX (a moins que tu ne charge des .max dans unity, mais c'est laisser à unity le soin de faire l'export en RAM avec les derniers réglages FBX posé dans 3dsmax. C'est un peu tendu de faire ça ^^ ).

Pas cool d'en avoir autant a retoucher, mais tu aurais peut être du tester quelques boucles avant de faire la totale ;)
 
#4
Je viens de tester les 25 animations et ça fonctionne nickel.

Pour l'export en FBX, je coche toujours Bake Animation et Resample All

Pense aussi à vérifier qu'il n'y ai pas d'interpolation particulière avec tes biped et l'animation en quaternion en posant une tension au max.
C'est quoi " l'animation en quaternion" ?
Je crois avoir déjà vu ce mot quelque part mais comme je ne l'ai pas compris je l'ai zappé.
 
#5
Voilà la doc avec les biped sur le sujet

http://docs.autodesk.com/3DSMAX/13/...9b2112a1ce7292-7f41.htm,topicNumber=d0e250384

En gros, si tu as gardé le quaternion pour animer le biped (il est en quaternion par défaut), il te faut utiliser ceci pour régler la transition entre tes clefs (clic droit sur la frame > Controller Propertie > Selection du controlleurs voulu):


Image tirée de cette page de la doc : http://docs.autodesk.com/3DSMAX/13/...9b2112a1ce7292-7f17.htm,topicNumber=d0e256135

Tu passe d'une clef à l'autre avec les flèches en haut à gauche.
 
Haut