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



我正在尝试使用MAXScript从我的场景中删除所有动画关键帧。目前,我正在使用鼠标并按CTRL+A选择所有对象,从而调出场景中所有对象的键。然后,我使用鼠标选择动画时间线上的所有关键点,然后选择时间线上的全部关键点,再删除它们。如何在MAXScript中执行此操作?

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

deleteKeys <controller> [#allKeys | #selection]  

我试过使用

deleteKeys globaltracks #allKeys

但这似乎没有任何作用。

这是我在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
max select all
macros.run "Animation Tools" "DeleteSelectedAnimation"
clearSelection()

或者将此代码拖动到工具栏以生成宏!

或者只从有限的对象组中删除键,请尝试

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

或者选择要删除密钥的对象,然后尝试此

for o in selection do deletekeys o #allkeys

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

deletekeys $*.controller #allkeys

不使用脚本:点击Ctrl-A,然后点击主菜单>动画>删除选定的动画

最新更新