maya Python Je veux réparer à nouveau l'animation cuite.

J'ai juste essayé de faire quelque chose comme ça pour étudier la maya et le python.

Tout d'abord, créez une animation IK simple Réglez la clé sur iKHandle1 dans les 1re, 5e et 10e images Comme ça ...

Faire une animation ronde Ensuite, les touches sont frappées dans toutes les images comme celle-ci dans Joint, etc.

Je souhaite supprimer uniquement 1 5 10 images clés d'ici. Je veux changer l'animation pour qu'elle soit difficile à corriger car toutes les touches sont frappées où qu'elles se trouvent. Je me demande si cela veut dire. J'ai juste besoin de l'enregistrer sous un nom différent avant de le cuire ...

Commande que vous voulez faire

procédure Créez un cube etc. et définissez les clés dans 1,5,10 cadres. Après cela, sélectionnez d'abord le cube, puis sélectionnez l'objet cuit et exécutez la commande! Résultat idéal Les animations autres que les clés définies dans le cube sont supprimées

Résultats d'essais et d'erreurs

J'ai réussi à le faire


import maya.cmds;
model = cmds.ls(selection=True)[0];
keyTimes = cmds.keyframe(model,query=True);

timeList = range(1, int(max(keyTimes)));
data = list(set(timeList) - set(keyTimes));

selectObjList = cmds.ls(selection=True);
for frameTime in data:
    for obj in selectObjList[1:]:
    	cmds.cutKey(obj, time=(frameTime,frameTime), cl=1);

C'est désagréable à écrire si vous ne pouvez pas devenir python, mais c'est court!

Bref commentaire

Définir le nom du premier objet sélectionné à modeler


model = cmds.ls(selection=True)[0];

Obtenir des images clés pour le premier objet sélectionné (doublons car nous avons tous)


keyTimes = cmds.keyframe(model,query=True)

Créez une liste de numéros d'images jusqu'à la durée maximale (dans ce cas, 1,2,3,4,5,6,7,8,9,10)


timeList = range(1, int(max(keyTimes)));

Obtenir les différences d'images clés (liste des images clés à effacer) (2,3,4,7,8,9)


data = list(set(timeList) - set(keyTimes))

Après cela, faites une boucle autour de l'objet sélectionné (sauf le premier), Bouclez avec une liste d'images clés à supprimer OK avec cutKey!


selectObjList = cmds.ls(selection=True);
for frameTime in data:
    for obj in selectObjList[1:]:
    	cmds.cutKey(obj, time=(frameTime,frameTime), cl=1);

Recommended Posts

maya Python Je veux réparer à nouveau l'animation cuite.
Je veux afficher la progression en Python!
Je veux hériter de l'arrière avec la classe de données python
Je veux écrire en Python! (3) Utiliser des simulacres
Je veux utiliser le jeu de données R avec python
Je veux initialiser si la valeur est vide (python)
[Python] Je souhaite utiliser l'option -h avec argparse
Je veux connaître la nature de Python et pip
Je veux déboguer avec Python
Je veux connaître la météo avec LINE bot avec Heroku + Python
Je veux sortir le début du mois prochain avec Python
Je veux exécuter l'interface graphique Python au démarrage de Raspberry Pi
Je veux épingler Spyder à la barre des tâches
Je veux sortir froidement sur la console
Je veux gérer la rime part1
Je veux gérer la rime part3
Je veux utiliser jar de python
Je veux créer un environnement Python
Je veux analyser les journaux avec Python
Je veux jouer avec aws avec python
Je veux afficher la barre de progression
Je veux gérer la rime part2
Je veux gérer la rime part5
Je veux gérer la rime part4
Je veux convertir par lots le résultat de "chaîne de caractères" .split () en Python
Je veux expliquer en détail la classe abstraite (ABCmeta) de Python
Python: je souhaite mesurer proprement le temps de traitement d'une fonction
Je veux faire le test de Dunnett en Python
Je veux utiliser MATLAB feval avec python
Je veux mémoriser, y compris les arguments de mots clés de Python
Je veux créer une fenêtre avec Python
Je souhaite envoyer un e-mail depuis Gmail en utilisant Python.
[Python] Je veux gérer 7DaysToDie depuis Discord! 1/3
Je veux faire un jeu avec Python
Je veux gérer la rime part7 (BOW)
Je veux fusionner des dictionnaires imbriqués en Python
Je souhaite utiliser le répertoire temporaire avec Python2
Je veux utiliser le solveur ceres de python
#Unresolved Je veux compiler gobject-introspection avec Python3
Je veux résoudre APG4b avec Python (chapitre 2)
Je souhaite vendre les produits que j'ai listés par python scraping Mercari
[Python] Je veux gérer 7DaysToDie depuis Discord! 2/3
Je veux créer du code C ++ à partir de code Python!
[Python] Je vais télécharger FTP sur le serveur FTP.
Je souhaite personnaliser l'apparence de zabbix
Je veux écrire dans un fichier avec Python
Je souhaite utiliser la fonction d'activation Mish
Je souhaite utiliser Python dans l'environnement de pyenv + pipenv sous Windows 10
Je veux recadrer l'image le long du contour au lieu du rectangle [python OpenCV]
Je veux obtenir le nom du fichier, le numéro de ligne et le nom de la fonction dans Python 3.4
Je veux écrire en Python! (1) Vérification du format de code
Je veux voir le nom de fichier de DataLoader
J'ai essayé de représenter graphiquement les packages installés en Python
Je souhaite intégrer une variable dans une chaîne Python
Je veux facilement implémenter le délai d'expiration en python
Je veux répéter plusieurs fois un générateur Python
Je veux générer rapidement UUID (memo memo) ~ Edition Python ~
Je veux grep le résultat de l'exécution de strace
Je veux faire défiler la table de décalage Django, mais ...