IF文を使います。
int $FC[]=`polyEvaluate -fc`;
if($FC[0]==1)
{
選択フェース数が1であれば実行するスクリプト
}
else if($FC[0]>1)
{
選択フェース数が1より多ければ実行するスクリプト
{
★UV平面マッピング用に作成したMELを使用します。
選択フェース数が1で使用するMEL
https://sites.google.com/site/mayadictionary/mel/ping-mianmappingu-tou-yingno-futo-gaosawo-zhi-ding
選択フェース数が1より多い場合に使用するMEL
https://sites.google.com/site/mayadictionary/mel/uv-ping-mianmappingunomel
▼以下がMELスクリプトです。
int $FC[]=`polyEvaluate -fc`;
//選択フェース数が1であれば実行
if($FC[0]==1)
{
//フェースを選択してから実行してください。
//指定数を10から変更する場合は2行目、3行目10の値を任意の数値に変更。
//1行目のbは最適プレーン、xに変更するとx方向、yに変更するとy方向、zに変更するとz方向、cに変更するとカメラ方向(パースビューで表示されている形)。
polyProjection -ch 1 -type Planar -ibd on -kir -md b;
setAttr ".projectionWidth" 10;
setAttr ".projectionHeight" 10;
}
//選択フェース数が1より多ければ実行
else if($FC[0]>1)
{
//フェースを選択、登録
string $selFACE;
string $selFACES[]= `ls -sl -fl`;
//選択フェイスの内エッジ選択
ConvertSelectionToContainedEdges;
//選択フェイスの内エッジ登録
string $selEDGE[]= `ls -sl`;
//登録フェース個別に平面最適プレーンマッピング、投影の幅と高さ10
for( $selFACE in $selFACES )
{
select -r $selFACE;
polyProjection -ch 1 -type Planar -ibd on -kir -md b;
setAttr ".projectionWidth" 10;
setAttr ".projectionHeight" 10;
select -cl ;
};
//登録フェースを選択
select -r $selFACES;
//UVレイアウト、裏になっているUVシェルをなくします。
polyLayoutUV -lm 1 -sc 0 -se 2 -rbf 0 -fr 1 -ps 0.2 -l 2 -ch 1;
//登録内エッジ選択
select -r $selEDGE;
//UVの選択したエッジの移動と縫合
polyMapSewMove;
//フェース選択の戻す
SelectFacetMask;
}