MayaScripts_ReductionAnimCurve:アニメーションカーブのリダクション
コンテンツ制作において、最初にする「仮データ」制作。
アニメーション制作においても、ブロッキングとか単に仮モーションなんて名称で呼ばれる仮データ制作はありますね。
今回はそんな仮データ制作に有用なスクリプトの紹介です。
ReductionAnimCurve
仮データ制作中は、色々とトライ&エラーを繰り返しながらアニメーションのイメージを固めていくので、とにかく作業スピードを優先します。結果として、シーンやキーフレームが汚くなりがちです。挙句の果てには仮データなのに、フルベイクしてしまうことも少なくないです。
このスクリプトは、任意のフレーム以外のキーフレームを削除し、アニメーションカーブのリダクションを行うことが出来ます。
標準のMayaにも、「カーブの簡略化」などで似たような機能はありますが、アニメーション制作で重要なのは「ポーズ」です。
キーフレームは整理したいが、消えて欲しくないキーフレーム(ポーズ)は残しつつ、不要なキーを全て削除したい。
そんなときに利用できるスクリプトです。
■ ダウンロード
■ インストール
解凍したフォルダ内の「ReductionAnimCurveフォルダ」を、以下の場所に配置してください。
C:\Users\"ユーザー名"\Documents\maya\scripts
で、実行するには以下の2行をシェルフ等に登録してお使いください。
import ReductionAnimCurve
ReductionAnimCurve.main()
■ 使い方
実行すると、以下のようなウィンドウが立ち上がります。
利用する流れとしては、
- ウィンドウ右側の フレームリスト に任意のフレーム値を設定する。
- リダクションしたいアニメーションカーブを選択する。
- ノードだけ選択した場合、ノードに含まれる全アニメーションカーブが対象となる。
- 「Reduction」ボタンを押すと、対象にリダクションが実行されます。
以下、ウィンドウ内の各項目について
ウィンドウ左側
- TimeRange
- リダクションを実行する範囲を設定。
- Fix
- 入力したフレームのみになるようにフレームリストを更新します。
- Step
- 入力した値でTimeRangeをステップした値でフレームリストを更新します。
- User
- ユーザー指定でフレームリストを設定します。
- GetKey にて、選択中のノードのキーフレームを参照できます。
- SetKeyframe
- チェックを入れていると、リダクション時にリストに設定されたフレームには、新しくキーを挿入します。
- TimeRange
ウィンドウ右側
- フレームリスト
- このリスト内に含まれる値以外のフレームのキーが削除されます。
- Add
- 現在の時間をフレームリストに追加します。
- Del
- フレームリストで選択されている値をリストから削除します。
- フレームリスト
ウィンドウ下部
- Reduction
- リダクション処理を実行します。
- Close
- ウィンドウを閉じます。
- Reduction
■ 余談
汚いシーンだと、続きを制作する気も失せますよね。
今までフルベイクの必要がないのに、フルベイクされているアニメーションに対しては、いちいち手作業でリダクションしていたんですけど、こいつを使えばそんな面倒事とはおさらばです。後々のためにもデータはなるべくキレイに保ちたいものです。
以上です。