2016年10月4日火曜日

Mayaでジョイントのセグメントスケール補正のオン、オフ

mayaのボーンをいじっているときに、
ボーンのスケールを継承したいときや、したくないときがあります。
そういうときは、ジョイントを選択して、アトリビュート設定で「セグメントスケール補正」(スケールを子に継承するかどうか)をオン、オフして設定しますが、
これって、ジョイントをまとめて選択して、オン、オフできないので、一つずつ選択してはチェックを付けたり外したり、、非常にメンドクサイです。。。

なので、選択したボーンをまとめてオン、オフできるようなmelを作りました。

私と同じ思いをしている人も居るかもしれないので、簡単ですが載せときます。


※以下をスクリプトエディタにコピペして、マウスの中ボタンでシェルフに登録して使います。

//▼▼ここから▼▼
//▼選択したオブジェクトのセグメントスケール補正(スケールを子に継承するかどうか)のオンオフ
//オンならオフに、オフならオンに。

string $name[] = `ls -sl`;
$size = size($name);

for ($i=0;$i<$size;$i++) {

string $printName = ($name[$i]);

    if(getAttr ($printName + ".segmentScaleCompensate") == 1){
        setAttr ($printName + ".segmentScaleCompensate") 0;
    }
    else{
        setAttr ($printName + ".segmentScaleCompensate") 1;
    }
}
//▲▲ここまで▲▲