2012-02-19 107 views
4

我想使用MAXScript從我的場景中使用MAXScript刪除所有動畫鍵。此刻,我正在使用鼠標並按下CTRL + A選擇所有對象,從而爲場景中的所有對象啓動按鍵。然後使用我的鼠標在動畫時間軸上選擇所有的鍵,然後選擇時間軸上的所有鍵,然後刪除它們。我怎樣在MAXScript中做到這一點?在全局3ds Max中使用MAXScript刪除所有動畫鍵

我在MAXScript documentation發現了這一點,但我不知道如何使用它:

deleteKeys <controller> [#allKeys | #selection] 

我嘗試使用

deleteKeys globaltracks #allKeys 

,但似乎並沒有做任何事情。

回答

3

這是我作爲this挑戰的一部分張貼在CGTalk上的一種方法。我修改了它以刪除動畫控制器上的所有按鍵。它操作內置的Trackbar自定義過濾器函數來自動迭代所有對象的所有控制器,而不必檢索自己的所有控制器。

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

編輯:對不起,或者只是使用這個:)

deleteKeys objects #allKeys 
0

沒有腳本:按下Ctrl-A,然後主菜單>動畫刪除所選的動畫>

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

或拖動這段代碼給一個工具欄做一個宏!

+0

歡迎LoneRobot,並感謝您的建設性答案。如果我知道這是否正確,我會改變模式(回顧首次回答,而不是專家)。 – 2012-05-07 23:14:28

1

,或者只是從有限組刪除鍵的對象儘量

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

或選擇要刪除的對象從按鍵和嘗試這個

for o in selection do deletekeys o #allkeys 
1

我用來刪除使用此命令的所有鍵:

deletekeys $*.controller #allkeys 
+0

如何在相機和相機上使用此目標? – Dariusz 2017-01-23 14:45:52

+0

'deletekeys camera.controller#allkeys'?也可能是'deletekeys camera.position.controller#allkeys',但它已經有一段時間了,因爲我沒有碰到3ds max。 – 2017-01-24 10:00:59