Pages

4 juin 2016

MultiTake FBX - Scripting mel

Comment exporter des multi takes en FBX depuis maya ?
C'est possible, mais ce n'est pas accessible par défaut.

Note récente:
Depuis l'apparition du gameExport dans maya, cette bidouille n'est plus nécessaire, car ils l'ont fait par défaut, et c'est beaucoup mieux ainsi :)



Multi takes FBX depuis Maya ?


A priori cette option n'est pas disponible dans l'interface standard de maya.
Quand à lui, Motion Builder l'autorise par défaut.

Cependant ces fonctions existent bien dans maya,  elles sont documentées sur le site officiel d'autodesk: https://knowledge.autodesk.com/support

En résumé, il suffit d'écrire des lignes en script avant d'exporter: (ici en mel)

// remet les valeurs à 0 pour l'exporteur
FBXExportSplitAnimationIntoTakes -c; 

// défini les segments des takes en fbx
FBXExportSplitAnimationIntoTakes -v "First" 1 5;
FBXExportSplitAnimationIntoTakes -v "Second" 10 25;
FBXExportSplitAnimationIntoTakes -v "Third" 3 20;

Ces commandes modifient les préselections de l'exporteur FBX.
Attention, il faut veiller à réactiver la commande  FBXExportSplitAnimationIntoTakes -c; 
avant de faire d'autres exports, car cette commande retient les dernières vaeurs entrées.

Enfin on exporte, tel qu'on le fait habituellement avec la fenêtre export FBX.


En allant un peu plus loin et pour faciliter les choses,
on peut faire une interface en script (ici en mel) permettant
d'exporter le tout d'une manière plus homogène durant
le projet sur lequel on travaille.
Cela demande un peu d'investissement en temps, mais
on le récupère rapidement en production ensuite.


Dans ce cas, j'ai créé 3 colonnes qui reprennent les mêmes paramètres
que la fonction FBXExportSplitAnimationIntoTakes
ainsi que quelques autres paramètres utiles.



Pourquoi faire des multi takes dans un fichier FBX ?


Unity ou Sketchfab, utilisent les takes par défaut, 
mais permettent aussi les multi takes.



C'est assez pratique pour montrer une partie d'animation,
comme un book mark sur Sketchfab


Ou également pour morceler la ressource d'animation sur Unity;
ex un saut en 3 phases, alors qu'il est animé en
une seule séquence dans maya par exemple.

Avec unity, il y a quelque chose de particulier à savoir : si le nom du fichier FBX est formaté avec le caracter @ dans son nom, à l'importation, la Take001 sera remplacée avec ce qui suit le @.
Ex: machintruc@RUN.fbx, renommera dans unity la take001 en RUN


On peut éviter de garder la take entière et ne garder que les segments d'animations, 
il suffit de le spécifier dans les commandes FBX (voir doc)









Aucun commentaire: