テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】AnimationClipからTransformを操作するのアニメーションカーブを一括で消すエディタ拡張

アニメーションクリップからTransformのアニメーションを一括で消すエディタ拡張についてです。
Animationを使用する目的のある程度はTransformの更新だと思うので必要かどうかは微妙な所ですが、一応。

TransformをAnimationClipから消すエディタ拡張

AnimationClipを操作するには、AnimationUtilityのGetCurveBindingsを使用します。このAPIはAnimationClipのカーブを云々するAPIですが、実はカーブの設定にnullを突っ込むとカーブを消すことが出来ます

なのでAnimationClipからCurveへの参照を取得し、Transformに関係する項目を全て削除すれば、AnimationClipからカーブを消すことが出来る訳です。

下のコードをEditorフォルダ以下に配置し、AnimationClip選択中にRemoveTransformを選択すれば、Transformのカーブが消えます。

gist.github.com

f:id:tsubaki_t1:20160124235912j:plain

f:id:tsubaki_t1:20160124235440j:plain

f:id:tsubaki_t1:20160124235918j:plain

Transform以外の項目を一括で消す

その他、消すbindingの項目をTransform以外に指定すれば、その項目に関連するカーブを消せます。例えば下の図だとFlareLayerに関するアニメーションを全部消しています。

f:id:tsubaki_t1:20160125000059j:plain