Löschen Sie alle Animationsschlüssel mit MaxScript in 3DS Max global
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.
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