Frage

Ich versuche MaxScript zu verwenden, um alle Animationsschlüssel aus meiner Szene mit MaxScript zu löschen. Im Moment benutze ich die Maus und drücke Strg + A, um alle Objekte auszuwählen, um die Schlüssel für alle Objekte in meiner Szene aufzurufen. Ich wähle dann alle Schlüssel in der Animationszeitleiste mit meiner Maus aus, dann alle Tasten auf der Timeline aus und löschen sie dann. Wie mache ich das in MaxScript?

Ich habe das in der gefunden MaxScript -Dokumentation, aber ich weiß nicht, wie man es benutzt:

deleteKeys <controller> [#allKeys | #selection]  

Ich habe versucht zu benutzen

deleteKeys globaltracks #allKeys

Aber das schien nichts zu tun.

War es hilfreich?

Lösung

Dies ist eine Methode, die ich als Teil von gepostet habe Dies Herausforderung auf Cgtalk. Ich habe es geändert, um alle Schlüssel auf animierten Controllern zu löschen. Es manipuliert die integrierten Trackbar-Filterfunktionen, um alle Controller aller Objekte automatisch zu iterieren, anstatt alle Controller selbst abzurufen.

(   
fn filterCallbackFunction theAnimatable theParent theSubAnimIndex theGrandParent theNode = 
(       
    if isController theAnimatable do deleteKeys theAnimatable #allKeys
    true
)

with redraw off
(   
    trackbar.filter = #all
    local filtind = maxops.trackbar.registerFilter filterCallbackFunction undefined "." 1 active:on
    disableRefMsgs()
    local sel = getCurrentSelection()
    select objects
    maxops.trackbar.redraw forceRedraw:on
    maxops.trackbar.unregisterfilter filtind        
    select sel
    enableRefMsgs()
    ok
)
)

Bearbeiten: Entschuldigung oder benutze das einfach :)

deleteKeys objects #allKeys

Andere Tipps

max select all
macros.run "Animation Tools" "DeleteSelectedAnimation"
clearSelection()

Oder ziehen Sie diesen Code in eine Symbolleiste, um ein Makro zu erstellen!

Oder um nur Schlüssel aus einer begrenzten Gruppe von Objekten zu löschen, versuchen

for o in objects where matchpattern o.name pattern:"*somename*" do deleteKeys o #allKeys

oder wählen Sie die Objekte aus, um Schlüssel zu löschen und dies zu versuchen

for o in selection do deletekeys o #allkeys

Ich habe alle Schlüssel mit diesem Befehl gelöscht:

deletekeys $*.controller #allkeys

Ohne Scripting: Klicken Sie auf Strg-A, dann Hauptmenü> Animation> Ausgewählte Animation löschen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top