my funeral week

少しでも日々の生活に変化を。

MayaScripts_ReductionAnimCurve:アニメーションカーブのリダクション

コンテンツ制作において、最初にする「仮データ」制作。
アニメーション制作においても、ブロッキングとか単に仮モーションなんて名称で呼ばれる仮データ制作はありますね。

今回はそんな仮データ制作に有用なスクリプトの紹介です。


ReductionAnimCurve

仮データ制作中は、色々とトライ&エラーを繰り返しながらアニメーションのイメージを固めていくので、とにかく作業スピードを優先します。結果として、シーンやキーフレームが汚くなりがちです。挙句の果てには仮データなのに、フルベイクしてしまうことも少なくないです。

このスクリプトは、任意のフレーム以外のキーフレームを削除し、アニメーションカーブのリダクションを行うことが出来ます
標準のMayaにも、「カーブの簡略化」などで似たような機能はありますが、アニメーション制作で重要なのは「ポーズ」です。
キーフレームは整理したいが、消えて欲しくないキーフレーム(ポーズ)は残しつつ、不要なキーを全て削除したい。
そんなときに利用できるスクリプトです。

f:id:garysfirearms108:20200509152658j:plain:w400


ダウンロード

www.dropbox.com

クリエイティブ・コモンズ・ライセンス


インストール

解凍したフォルダ内の「ReductionAnimCurveフォルダ」を、以下の場所に配置してください。

C:\Users\"ユーザー名"\Documents\maya\scripts

で、実行するには以下の2行をシェルフ等に登録してお使いください。

import ReductionAnimCurve
ReductionAnimCurve.main()


使い方

実行すると、以下のようなウィンドウが立ち上がります。

f:id:garysfirearms108:20200509152648j:plain

利用する流れとしては、

  1. ウィンドウ右側の フレームリスト に任意のフレーム値を設定する。
  2. リダクションしたいアニメーションカーブを選択する。
    • ノードだけ選択した場合、ノードに含まれる全アニメーションカーブが対象となる。
  3. 「Reduction」ボタンを押すと、対象にリダクションが実行されます。


以下、ウィンドウ内の各項目について

  • ウィンドウ左側

    • TimeRange
      • リダクションを実行する範囲を設定。
    • Fix
      • 入力したフレームのみになるようにフレームリストを更新します。
    • Step
      • 入力した値でTimeRangeをステップした値でフレームリストを更新します。
    • User
      • ユーザー指定でフレームリストを設定します。
      • GetKey にて、選択中のノードのキーフレームを参照できます。
    • SetKeyframe
      • チェックを入れていると、リダクション時にリストに設定されたフレームには、新しくキーを挿入します。
  • ウィンドウ右側

    • フレームリスト
      • このリスト内に含まれる値以外のフレームのキーが削除されます。
    • Add
      • 現在の時間をフレームリストに追加します。
    • Del
      • フレームリストで選択されている値をリストから削除します。
  • ウィンドウ下部

    • Reduction
      • リダクション処理を実行します。
    • Close
      • ウィンドウを閉じます。


余談

汚いシーンだと、続きを制作する気も失せますよね。
今までフルベイクの必要がないのに、フルベイクされているアニメーションに対しては、いちいち手作業でリダクションしていたんですけど、こいつを使えばそんな面倒事とはおさらばです。後々のためにもデータはなるべくキレイに保ちたいものです。

以上です。