【MEL】フリーズしたオブジェクトの移動値を戻す

AriReFreezeTranslate
2016/11/11 更新
2016/01/07 更新
2015/10/25 MEL名変更しました。
ご存知のとおり、「トランスフォームのフリーズ(Freeze Transformations)」を実行するとその位置で座標が0 0 0になります。
作業によっては、値を0にしなきゃよかったーなんてこともあります。
そういった場合に座標値を原点からのピポット距離に計算しなおすツールです。
内容
オブジェクトを選択してMELを実行すると、オブジェクトの位置は変わらず、移動値に原点からピポットまでの距離が入る状態になります。

原点からの距離なので、ためしに0 0 0を入力してみると原点に移動するはずです。

オブジェクトの子なっている場合、ローカル空間での処理になります。
0 0 0を入力すると親オブジェクトの原点に移動します。
ワールドに出し、親がない状態で0 0 0入力すると原点に行く状態になります。
処理されるのは移動値のみです。
追記:
アニメーションがついているものに ReFreeze & Freeze
アニメーションキーの打ってあるものにも対応しました。フリーズも出来ます。

親グループに回転値やスケール値が入っているとうまくいきません。
アニメーションが入っているオブジェクトが子にあっても実行できません。
更新
2016/01/07 ReFreezeとFreezeをアニメーションキーを打ってあるものに対応しました。
2015/10/25 MEL名変更
2015/10/25 実行後選択を保持
オブジェクトの選択を、実行後も選択したままにしました。
追記:
ピボット制御MELに組み込み
AriReFreezeTrAndSetPivot
2015/06/21:ピボット制御MELに組み込みました。
普通のフリーズや、ピボット制御する機能です。

・「移動値フリーズ」移動値のみをフリーズします。回転スケールはそのままです。
・「アトリビュート0」アトリビュートの移動値を0にします。数値が入っていれば、0にするためオブジェクトが移動します。
・「原点に移動」移動値とは無関係にピボットが原点に来るようにオブジェクトを移動します。
■Pivotフレーム内の機能はこちらの記事から
【MEL】ピボットをマニピュレータの位置にする等ピボット制御
こちらは単品。実行するとウィンドウが出ずに、ReFreezを実行します。
Download (AriReFreezeTranslate)
※2015/10/25 MEL名変更しました。
これ・・・標準機能でできないですよね?コレもかなり初期に作ってあって、使うたびにもしかすると標準であるんじゃないか?なんて思いながらもろくに調べず使ってきました。
それと毎度気になっているのがツール名。はい!安易につけてます。フリーズの反対でそれなりの意味がある単語あるんじゃないか?とかも思いましたが、フリーズってあったほうがわかりやすいので、わかりやすさ優先でREフリーズ・・・。
あと実は同じようにして回転値を戻すツールもあるのですが、ちょっと操作が複雑で行き当たりばったりな状態なので、ちゃんとカチッ!ビシッ!と作ったら近々?公開します。
追記:公開しました。
【MEL】フリーズしたオブジェクトの回転値を戻す
【MEL】フリーズしたオブジェクトのスケール値を戻す
スポンサーリンク
コメントの投稿
No title
20170125現在こちらのscriptは動作いたしますでしょうか?
windowあり版なし版どちらもmel実行後も何もおこらなくて・・・
Re: No title
アップされているものをダウンロードして試してみましたが、こちらの環境では動作しているようです。
よろしければ、念のためどのようにしてMELを実行しているか手順を教えていただいてもよろしいでしょうか?