2015年7月12日日曜日

MayaLT: Mel:オブジェクトのローカル座標をゼロにする

Mayaいいんだけど、ローカル座標とワールド座標があって、ワールドの位置がわからなくなるので困る。
ピボットをセンターにした時なんかに起こるんだけど、その後ローカル座標をゼロにする方法がわからなくて、調べた。


ここを参照した。
けど、そのまま実行してもうまく動かない。

string $sel[] = 'ls -sl';
の部分がうまく実行できないみたいなので、調べつつ少し手直し。

string $sel[] = eval('ls -sl');
に変更。
どうやら、Maya LTのせいなのかバージョンの違いなのかはわからないけど、コマンドの戻り値を直接引き取ることができないらしくて、evalを使用しなきゃいけないらしい。

あとは、ピボットをセンターにしている部分をコメントアウトするのと、複数選択に対応して作りなおした。
string $sel[] = eval("ls -sl");
for ($s in $sel){
     //CenterPivot;
     float $selRPQuery[] = eval("xform -q -ws -rp $s");
     string $locator[] = eval("spaceLocator");
     move -ws $selRPQuery[0] $selRPQuery[1] $selRPQuery[2];
     select -r $s;
     select -tgl $locator[0];
     parent;
     makeIdentity -apply true -t 1 -r 0 -s 0 -n 0;
     select -r $s;
     parent -w;
     select -r $locator[0];
     doDelete;
}
生まれて始めてのMelでした。

0 コメント:

コメントを投稿