Удалить все клавиши анимации, используя MaxScript в 3DS Max во всем мире
Вопрос
Я пытаюсь использовать MaxScript для удаления всех клавиш анимации из моей сцены, используя MaxScript. На данный момент я использую мышь и нажимаю Ctrl + A, чтобы выбрать все объекты, поднимая ключи для всех объектов в моей сцене. Затем я выбираю все ключи на временной шкале анимации, используя мою мышь, а затем выбираю все клавиши на временной шкале, а затем удаляю их. Как мне сделать это в MaxScript?
Я нашел это в MaxScript Documentation, но я не знаю, как его использовать:
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, затем главное меню> Анимация> Удалить выбранную анимацию