アニメーション キーを削除する


まずは、シンプルにコントローラーのキーを全て削除する
方法は至って簡単。

以下は、全てのキーを削除する。
#allkeysの部分を、#selectionに変更すると、
選択したキーのみを削除する。

deleteKeys $ #allKeys

各コントローラー毎に削除する場合は、
シンプルな方法は、以下のような感じかな。

try(

 Local j = 0, oldTransform = undefined;
 for i in selection do
 (
/*ずれちゃうので残しておく*/
oldTransform =  i.transform;
 j = i.pos.controller.keys.count;
 –キーカウントがなくなるまで
 –配列のお尻から削除
 while j > 0 do
 (
  deleteKey i.pos.controller.keys j;
  j -= 1;
 );–while end
/*復元*/
  i.transform = oldTransform;
 );–for end 

)catch();

try()catch()を使用するのは、
Maxの場合、コントローラーが階層化するので、念のために。

コントローラーがどんな状態でも確実にキーを削除するならば。
削除ではなく、コントローラーを潰すのはいかがだろうか。

–まず一度キーを適当なコントローラーに変え潰す
$.pos.controller = Position_Expression ()
–元に戻す
$.pos.controller = Position_XYZ ()

もちろん、コントローラー情報は、リセットされるので、
複雑なコントローラーの関係にある場合は、破綻する。

この問題はどうしたらいいだろうか?

コントローラーを全て調べ上げる機能でも作って見た方がいいのだろうか?
でもしんどいなぁ。
レイヤー使われたら、ほぼ予測不能なコントローラーの組まれ方するし。