ピボットの位置を底辺に移動したいけど一々移動するのは面倒だからそれをmelでやりたい。でもログからコピペー程度のスクリプトしか書いたことがないからやり方が分からないと。
俺も分かんないけど、移動コマンドとバウンディングボックス情報の取得方法さえ分かればなんとか行けそうな気がする。Melの文法はJScriptと似ているし。
既にありそうなスクリプトだけど、mel練習的に作ってみることに、Challenge Accepted !
(分かる人には分かる。How I Met Your Motherっていうドラマを見てる人は多分居ないけど、まぁいいや)
ということで、マニュアルとグーグルで調べたら、バウンディングボックスの取得が分かりました:
float $bBox[] = `exactWorldBoundingBox $obj`;
これで $bBox というアレイが出来ます。
bBox[0],bBox[1] とbBox[3]は XYZ の最小数値
そして、
bBox[4],bBox[5]とbBox[6] は XYZ の最大数値
ピボット移動はログからヒントを貰って
move $x $y $z ($obj + ".scalePivot") ($obj +".rotatePivot") ;
で移動します。
$x $y $z はただの変数です。XYZの新しい位置をこっちで指定します。
$obj は選択されているオブジェクトの変数。
どうやらMayaでは scalePivot と rotatPivot があります。しかしMayaのGUIコマンドを使うと両方を同時に移動されるので、それでいきます。
melで別々でも移動が出来ますが、変なことになりそうだな。
よし、バウンディングボックスと移動方法が分かりました。
これさえあれば、あとはこっちのもんですね。
全オブジェクトを同時にも対応する為にfor in ループを入れて、
あとは AlignCVというmelのGUIをパクって、
完成!
DOWNLOAD

これはSIにも欲しいかもな。もうあるのかな?
それじゃ、また。
追記
2012/8/7
mAlign Pivot 1.1 更新
http://myara.blog.fc2.com/blog-entry-154.html