Exporter des curves d'anim et nettoyez le fichier .ma
Par Narann le samedi, 8 juin 2013, 17:28 - Script et code - Lien permanent
Je sais pas pour vous mais moi ça me fatigue un peu que, suite à l'export de courbes d'anim Maya, lors de l'import, Maya essaie de me charger tous les plugins qui étaient présents au moment de l'export... :ideenoire:
Je vous propose une petite suite d'expression régulière que j'utilise de temps à autres visant à nettoyer un fichier .ma de ces "requires" et autres "select" quand tout ce qui nous intéresse au fond ce sont des nodes "simples".
Je poste ce code principalement comme un aide mémoire auquel je me réfèrerai et qui pourrait vous servir. :sourit:
Important: Un fichier nettoyé de cette façon détruit toute référence à des plugins externes. Les courbes d'anims ne nécessitant pas de plugin particulier ce n'est pas un problème, mais soyez vigilant si vous souhaitez exporter des nœuds qui nécessitent un/des plugins pour pouvoir s'ouvrir.
import re import maya.cmds as cmds # selectionnez vos curves d'anim puis: animCurveFilePath = "/home/toto/myAnimCurves.ma" cmds.file( animCurveFilePath , force = True , exportSelected = True , type = "mayaAscii" , options = "v=0" ) # on lit et stock le contenu myFile = open( animCurveFilePath, "r" ) rawRead = myFile.read() myFile.close() # puis on reecrit le fichier myFile = open( animCurveFilePath, "w" ) rawRead = re.sub( "requires \".*;\n" , "" , rawRead ) # on supprime tous les "requires" des plugins rawRead = re.sub( "select(.*\n)*(select)" , "\\2" , rawRead ) # on supprime tous les "select" qui vont notamment modifier le node "time1" rawRead = re.sub( "select(.*\n)*(// End of )" , "\\2" , rawRead ) # et le dernier "select" de fin de ligne myFile.write( rawRead ) myFile.close()
Et voilà le travail! :dentcasse:
Encore une fois ce n'est pas un tutorial, juste un partage rapide d'un truc que j'ai eu à utiliser plusieurs fois.
En espérant que ça vous aide.
A bientôt!