グローバルに3DS最大でmaxscriptを使用してすべてのアニメーションキーを削除する

StackOverflow https://stackoverflow.com/questions/9350335

  •  27-10-2019
  •  | 
  •  

質問

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を押してから、メインメニュー>アニメーション>選択したアニメーションを削除します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top