全局使用3ds Max中的MAXScript删除所有动画关键点

时间:2012-02-19 15:07:55

标签: 3dsmax maxscript

我正在尝试使用MAXScript使用MAXScript从场景中删除所有动画键。目前我正在使用鼠标并按CTRL + A选择所有对象,从而调出场景中所有对象的键。然后,我使用鼠标选择动画时间轴上的所有键,然后选择时间轴上的所有键,然后删除它们。我如何在MAXScript中完成它?

我在MAXScript documentation中找到了这个,但我不知道如何使用它:

deleteKeys <controller> [#allKeys | #selection]  

我尝试使用

deleteKeys globaltracks #allKeys

但这似乎没有做任何事情。

5 个答案:

答案 0 :(得分:3)

这是我在thisCGTalk挑战的一部分发布的方法。我修改它以删除动画控制器上的所有键。它操纵内置的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

答案 1 :(得分:1)

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

或将此代码拖到工具栏上以制作宏!

答案 2 :(得分:1)

要删除有限的一组对象中的键,请尝试

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

或选择要删除密钥的对象并尝试此

for o in selection do deletekeys o #allkeys

答案 3 :(得分:1)

我曾经使用此命令删除所有密钥:

deletekeys $*.controller #allkeys

答案 4 :(得分:0)

没有脚本:按Ctrl-A,然后按主菜单&gt;动画&gt;删除所选动画