Elimina tutte le chiavi di animazione usando MaxScript in 3DS max a livello globale

StackOverflow https://stackoverflow.com/questions/9350335

  •  27-10-2019
  •  | 
  •  

Domanda

Sto cercando di usare MaxScript per eliminare tutte le chiavi di animazione dalla mia scena usando MaxScript. Al momento sto usando il mouse e premendo CTRL + A per selezionare tutti gli oggetti sollevando così i tasti per tutti gli oggetti nella mia scena. Sto quindi selezionando tutte le chiavi sulla sequenza temporale dell'animazione usando il mouse, quindi selezionando tutte le chiavi sulla sequenza temporale, quindi eliminandoli. Come faccio a farlo in Maxscript?

L'ho trovato nel Documentazione MaxScript, ma non so come usarlo:

deleteKeys <controller> [#allKeys | #selection]  

Ho provato a usare

deleteKeys globaltracks #allKeys

Ma non sembrava fare nulla.

È stato utile?

Soluzione

Questo è un metodo che ho pubblicato come parte di questo sfida Cgtalk. L'ho modificato per eliminare tutte le chiavi sui controller animati. Manipola le funzioni di filtro personalizzato della barra track-in per iterare automaticamente tutti i controller di tutti gli oggetti, invece di dover recuperare tutti i controller da solo.

(   
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
)
)

EDIT: scusa, o usa questo :)

deleteKeys objects #allKeys

Altri suggerimenti

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

Oppure trascina questo codice su una barra degli strumenti per creare una macro!

O per eliminare le chiavi da un gruppo limitato di oggetti prova

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

oppure seleziona gli oggetti per eliminare le chiavi e provare questo

for o in selection do deletekeys o #allkeys

Ero solito eliminare tutte le chiavi usando questo comando:

deletekeys $*.controller #allkeys

Senza scripting: premere Ctrl-A, quindi menu principale> Animazione> Elimina animazione selezionata

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top