我正在尝试使用MAXScript使用MAXScript从场景中删除所有动画键。目前我正在使用鼠标并按CTRL + A选择所有对象,从而调出场景中所有对象的键。然后,我使用鼠标选择动画时间轴上的所有键,然后选择时间轴上的所有键,然后删除它们。我如何在MAXScript中完成它?
我在MAXScript documentation中找到了这个,但我不知道如何使用它:
deleteKeys <controller> [#allKeys | #selection]
我尝试使用
deleteKeys globaltracks #allKeys
但这似乎没有做任何事情。
答案 0 :(得分: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
答案 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;删除所选动画