グローバルに3DS最大でmaxscriptを使用してすべてのアニメーションキーを削除する
質問
MaxScriptを使用して、MaxScriptを使用してシーンからすべてのアニメーションキーを削除しようとしています。現時点では、マウスを使用してCtrl + Aを押して、すべてのオブジェクトを選択して、シーン内のすべてのオブジェクトのキーを表示しています。次に、マウスを使用してアニメーションタイムライン上のすべてのキーを選択し、タイムライン上のすべてのキーを選択してから削除します。 maxscriptでそれを行うにはどうすればよいですか?
私はこれをで見つけました maxscriptドキュメント, 、しかし、私はそれを使用する方法がわかりません:
deleteKeys <controller> [#allKeys | #selection]
使ってみました
deleteKeys globaltracks #allKeys
しかし、それは何もしなかったようです。
解決
これは私がその一部として投稿した方法です これ 挑戦します cgtalk. 。アニメーションコントローラーのすべてのキーを削除するように変更しました。組み込みのトラックバーカスタムフィルター機能を操作して、すべてのコントローラーを自分で取得する代わりに、すべてのオブジェクトのすべてのコントローラーを自動的に反復します。
(
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を押してから、メインメニュー>アニメーション>選択したアニメーションを削除します
所属していません StackOverflow