Ich versuche, ein Werkzeug in Maya mit Python erstellen, die Kurven basierend auf einem Objekt Keyframe Positionen erstellt. Das Endziel besteht darin, verschiedene Animationskurven zu erstellen, zwischen denen das Objekt mischen kann, um Anpassungen an der Hauptanimation zu erstellen. Hier ist, was ich bisher habe. Es wird eine Kurve erstellt, die dem Bewegungspfad folgt, jedoch nicht auf der Position des Keyframes basiert. Jede Hilfe würde wirklich geschätzt werden.Benötigen Sie Hilfe bei der Erstellung von Kurven basierend auf set keyframe-Positionen (maya/python)
import maya.cmds as cmds
def createAnimCurve(startFrame, endFrame, numCV, object):
curveCVstep = ((endFrame - startFrame)+startFrame)/numCV
points = []
for step in range(startFrame, endFrame, int(curveCVstep)):
# Moves throughout the specified timeline to find point results
cmds.currentTime(step)
# Queries the pivot position to draw the curve relative to the controller
xpos = cmds.xform(object,q=1,ws=1,rp=1)
# convert the tuple (vector) to a string
points.append(xpos)
cmds.curve(d=3, ws=True, p=points, n=object+'_xPath')
createAnimCurve(1,24,12,"L_hand_CTL")
Das klingt nach dem, was ich brauche, aber wenn ich mir die Ausgabe anschaue, scheint es, als würde ich die paar Keyframes immer und immer wieder loopen. Hier ist ein Beispiel, was ich meine. [1,0, 5,0, 9,0, 13,0, 17,0, 21,0, 24,0, 1,0, 5,0, 9,0, 13,0, 17,0, 21,0, 24,0, 1,0, 5,0, 9,0, 13,0, 17,0, 21,0, 24,0, 1,0, 5,0, 9,0, 13.0, 17,0, 21.0, 24.0, 1.0, 5.0, 9.0, 13.0, 17.0, 21.0, 24.0, 1.0, 5.0, 9.0, 13.0, 17.0, 21.0, 24.0, 1.0, 5.0, 9.0, 13.0, 17.0, 21.0, 24.0, 1.0, 5.0, 9.0, 13.0, 17.0, 21.0, 24.0, 1.0, 5.0, 9.0, 13.0, 17.0, 21.0, 24.0] Auch danke ich werde sicherstellen, die Objektvariable zu etwas anderem zu ändern. – zaidi92
Ah natürlich gibt es Ihnen Zeitänderungen für jede Kurve. Entweder übergeben Sie eine animCurve, wenn Sie nach Keyframes per abimCurve oder für alle Keyframes einen Satz sortieren (siehe Bearbeiten). –
Oder Sie könnten ein Listenverständnis verwenden, um zu überprüfen, ob jeder Wert eindeutig ist, bevor Sie Instanzen hinzufügen, in denen Sie sich nicht auf das Sortieren verlassen können. –