【MEL】任意の位置を基準にアニメーションキーのスケール

![]() | AriAniKeyScale |
選択したアニメーションキーの中心や、最大値、最小値を基準に任意の値でスケールするツールです。
Time, Value (縦横)どちらに対しても実行できます。
ツール起動
AriAniKeyScaleを実行するとツールのウィンドウが開きます。

上のほうがTime(横方向)スケールで、
下のほうがValue(縦方向)スケールです。
スケール中心(Pivot)設定
Min Center Maxで、選択範囲の 最小値 真ん中 最大値 のどこをスケールの中心にするか設定できます。
CurrentTime は現在の時間をスケールの中心とします。
Input は任意の値を設定でき、Getボタンを押すと、選択しているキーから値を取得できます。

スケール実行
一番下の段。
スケールしたい数値を入力し、右側のボタンで選択範囲のスケール実行です。

入力した数値が掛け算されます。
真ん中にある「 / 」ボタンで数値の割り算を行います。行き過ぎて戻したい場合や、同じだけ縮小したい時などに使えると思います。
絶対値スケール
「Absolute」ボタンがある段では、結果のサイズを指定できます。
30Fにしたかったら、Timeで 30と入力し、Absoluteボタン、
波を10という幅にしたかったらValueで 10と入力し、Absoluteボタンで、
入力された値になるようにスケールされます。


Getボタンで、選択したキーから幅が取得できます。
バッファカーブ使用時の注意
バッファカーブを使用する場合、
バッファカーブ表示直後は、一度ベイクしてください。

本来表示しただけではベイクされていないようで、すぐこのツールを使用した場合、バッファカーブも一緒に動いちゃうようなのです。
なのでベイクを・・・。
追記
Timeオフセット機能


CurrentTをONにした状態で、左右の<< >>ボタンを押すと、
画像のように現在のフレームを基準に前後のフレームが、入力されている値でオフセットされます。

選択したオブジェクトにのみ有効です。
CurrentTをOFFにした場合、
現在のフレーム関係なく、全体がオフセットされます。
左右の<< >>ボタンは同じ機能になります。
オフセット挙動
選択キーのあるカーブにのみ適用
CurrentT が ON の状態で、
<< >>キーを押した場合、
移動の影響が、選択したキーを含むカーブのみに絞られます

キーが一つでも選択されていると、そのカーブ全体に影響され、キーが選択されてないカーブには影響しません。
キーを選択していない場合、選択オブジェクトのすべてのカーブに適用されます。
選択キーにのみ適用
CurrentT を OFF にすると、現在時間は考慮されなくなります。
その状態でキーを選択し、<< >> を押すと、
選択されたキーのみが移動します。

CurrentT が OFF の時は、
右の << >> も 左の << >> も同じ効果です。
値方向の移動
Value > Move 内の - + ボタンを押すと、選択したキーが、真ん中のフィールドの値分、オフセットします。

更新
2023/04/30 スケール中心(ピボット)を現在時間に設定できる項目追加
2022/12/11 オフセット機能調整
2022/09/11 キーオフセット機能追加
ダウンロード
こちらからダウンロードいただけます。
Download
つぶやき
こちら操作自体は簡単なスクリプトを書けばできます。
そのうえ自分はそれほどアニメーション触る機会も多くないということもあり、必要なときはスクリプトを直接書いて凌いでいました。
ただ、それはそれで中心の値計算したりがめんどくさかったのと、
たまたまモーションさんに話聞いたところ、あれば使いたいとのことだったので形にしました。
tag : Maya, MEL, アニメーション, AriAniKeyScale,
スポンサーリンク