月別アーカイブ: 2017年10月

【MEL】UVsetを指定してコピーする

UVのコピー元・コピー先を指定してUVをコピーするMEL。

0番目のUVで作業してたはずがいつのまにか意図しないUVsetで作業してることがよくあって、

いちいちぽちぽち直すのがめんどくさかったので作りました…

知らぬ間に身に覚えのないUV増えてたりするのほんとよくわからない…

 

BaseUVにコピー元のUV番号、TargetUVにコピー先のUV番号を入力する。

 

 

 

 

↑これだと、0番目のUVを1番目のUVにコピーします。

 

※使用は自己責任で…

 

////////GUI////////

global proc UVcopyGUI(){

    if(`window -exists UVcopyGUI`)
    deleteUI UVcopyGUI;

    window UVcopyGUI;
    deleteUI -window UVcopyGUI;
    windowPref -remove UVcopyGUI;

    string $window = `window -title "UVcopy" UVcopyGUI `;
    columnLayout -adjustableColumn true;

    //コピー元のUV番号を入力させる
    text -label "BaseUV" -align "center";
    textField -text "0" -w 60 TEXT_FIELD1;

    //コピー先のUV番号を入力させる
    text -label "TargetUV" -align "center";
    textField -text "1" -w 60 TEXT_FIELD2;

    separator -h 10 -w 300;

    //実行ボタン
    button -command "UVcopy()" -h 25 -label "COPY !!";

    separator -h 10 -w 300;
    setParent ..;

    showWindow $window;

}

UVcopyGUI();

////////UVcopy////////

global proc UVcopy(){

    SelectHierarchy;
    string $Sel[] = `ls -sl -type "mesh"`;

    for ($i = 0; $i < (`size $Sel`); $i++)

        {
    
            int $BaseUV = `textField -q -text TEXT_FIELD1`;
            int $TargetUV = `textField -q -text TEXT_FIELD2`;

            string $UV_List[] = `polyUVSet -q -allUVSets $Sel[$i]`; //UVをリスト化

            string $BaseUVSet = $UV_List[$BaseUV];

            polyUVSet -currentUVSet -uvSet "$BaseUVSet"; //BaseUVをCurrentUVにset

            string $TargetUVSet = $UV_List[$TargetUV];

            polyCopyUV -uvSetNameInput $BaseUVSet -uvSetName $TargetUVSet -ch 1 $Sel[$i]; //BaseUVをTargetUVにcopy

        }

};
Pocket
[`evernote` not found]

【MEL】DoubleSidedをオフにする

Unity・UE4に持っていって初めて「ウワッこのモデル片面しかないやん!!」って気づくことが多々あります。

こうした面倒をなるべく防ぐために、MayaのRenderStatsであらかじめ両面表示をオフにしています。

 

以下自分用める

////////////////////////////////////////////

global proc DoubleSideOff(){

SelectHierarchy;

string $obj[] = `ls -sl -type “mesh”`;

for ($objSel in $obj)

{

setAttr ($objSel+”.doubleSided”) 0 ;

}

}

DoubleSideOff();

 

////////////////////////////////////////////

 

MayaLT、コンポーネントエディタとリファレンスエディタくらいは標準で搭載してほしいですね、、

 

Pocket
[`evernote` not found]