役立ちフリー配布

【MAYA】選択フェースミラースクリプト【MEL】

2020年10月24日

 

今回は、フェースをミラーコピーするスクリプトの紹介です。

こちらのスクリプトの特徴は、オブジェクト単位ではなく、
選択したフェースを同じオブジェクト内でミラーコピーすること。

オブジェクトを分けなくても任意のメッシュをミラーコピーできるので、
一部が左右非対称になってしまったときやメッシュのパーツ分けが面倒な時に便利かも?

 

ウィンドウは下の画像のような簡素なもの。

ここでミラーコピーしたい軸を選んで…

対応するボタンを押すと選択中のフェースをコピーできます。

 

ヒストリに二つほど履歴が溜まるのがたまにキズですが、
こまめに削除する癖のある人なら大丈夫なはず…!

 

 

利用したい!という人は、自己責任のもと下記スクリプトを
"MirrorPolygon.mel"の名前でscriptsフォルダに保存していただければと!

 command
global proc MirrorPolygon()
{
if ( (`window -ex MirrorPolygon`) == true ) deleteUI MirrorPolygon;
window -title "PolyMirror" MirrorPolygon;
scrollLayout;
columnLayout -w 120 -adj true;
button -l "X" -c "MirrorPolygon_X";
button -l "Y" -c "MirrorPolygon_Y";
button -l "Z" -c "MirrorPolygon_Z";
setParent..;
showWindow;
}
global proc MirrorPolygon_X()
{
string $obj[] = `ls -selection`;
string $oType[] = `ls -selection -showType`;
if($oType[1] == "float3")
{
polyChipOff -keepFacesTogether 1 -duplicate 1 -scaleX -1 -pivotX 0 $obj;
string $dupPoly[] = `ls -selection`;
polyNormal -normalMode 4 $dupPoly;
}
}
global proc MirrorPolygon_Y()
{
string $obj[] = `ls -selection`;
string $oType[] = `ls -selection -showType`;
if($oType[1] == "float3")
{
polyChipOff -keepFacesTogether 1 -duplicate 1 -scaleY -1 -pivotY 0 $obj;
string $dupPoly[] = `ls -selection`;
polyNormal -normalMode 4 $dupPoly;
}
}
global proc MirrorPolygon_Z()
{
string $obj[] = `ls -selection`;
string $oType[] = `ls -selection -showType`;
if($oType[1] == "float3")
{
polyChipOff -keepFacesTogether 1 -duplicate 1 -scaleZ -1 -pivotZ 0 $obj;
string $dupPoly[] = `ls -selection`;
polyNormal -normalMode 4 $dupPoly;
}
}

 

-役立ちフリー配布
-, ,

© 2022 うさほ3D Powered by AFFINGER5