4

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

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

deleteKeys <controller> [#allKeys | #selection]  

我尝试使用

deleteKeys globaltracks #allKeys

但这似乎没有任何作用。

4

5 回答 5

3

是我在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
于 2012-02-20T08:16:56.380 回答
1

或仅从有限的一组对象中删除键尝试

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

或选择要从中删除键的对象并尝试此操作

for o in selection do deletekeys o #allkeys
于 2013-02-13T22:52:22.543 回答
1

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

deletekeys $*.controller #allkeys
于 2013-04-23T11:08:21.953 回答
1
max select all
macros.run "Animation Tools" "DeleteSelectedAnimation"
clearSelection()

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

于 2012-04-28T11:19:36.417 回答
0

没有脚本:按Ctrl-A,然后主菜单>动画>删除选定的动画

于 2012-02-29T14:33:24.207 回答