วันเสาร์ที่ 2 มีนาคม พ.ศ. 2562

Material ID (Mel Script)

This script for assign material easily



CODE

   if (`window -ex frmMaterialID` != true)
        {
window -w 310 -h 360 -t ("Assign Material ID Ver 1.3 by Vorasorn Ketlek") -in "cometRename" -s true -tb true frmMaterialID;

columnLayout  cr_mainCol;
  rowColumnLayout -nc 2 ;
       button -w 120 -h 40 -l "Face To UV Shell" -c "polySelectBorderShell 0;";
   
       setParent ..;
  rowColumnLayout -nc 6 ;
       button -l "" -c " vfn_MaterialID(1,0,0); " -w 40 -h 40 -bgc 1 0 0;
       button -l "" -c " vfn_MaterialID(1,1,0); "-w 40 -h 40 -bgc 1 1 0;
       button -l "" -c " vfn_MaterialID(0,1,0); "-w 40 -h 40 -bgc 0 1 0;
       button -l "" -c " vfn_MaterialID(0,1,1); "-w 40 -h 40 -bgc 0 1 1;
       button -l "" -c " vfn_MaterialID(0,0,1); "-w 40 -h 40 -bgc 0 0 1;              
       button -l "" -c " vfn_MaterialID(1,0,1); "-w 40 -h 40 -bgc 1 0 1;

       button -l "" -c " vfn_MaterialID(0.5,0,0); " -w 40 -h 40 -bgc 0.5 0 0;
       button -l "" -c " vfn_MaterialID(0.5,0.5,0); "-w 40 -h 40 -bgc 0.5 0.5 0;
       button -l "" -c " vfn_MaterialID(0,0.5,0); "-w 40 -h 40 -bgc 0 0.5 0;
       button -l "" -c " vfn_MaterialID(0,0.5,0.5); "-w 40 -h 40 -bgc 0 0.5 0.5;
       button -l "" -c " vfn_MaterialID(0,0,0.5); "-w 40 -h 40 -bgc 0 0 0.5;              
       button -l "" -c " vfn_MaterialID(0.5,0,0.5); "-w 40 -h 40 -bgc 0.5 0 0.5;

       button -l "" -c " vfn_MaterialID(0.25,0,0); " -w 40 -h 40 -bgc 0.25 0 0;
       button -l "" -c " vfn_MaterialID(0.25,0.25,0); "-w 40 -h 40 -bgc 0.25 0.25 0;
       button -l "" -c " vfn_MaterialID(0,0.25,0); "-w 40 -h 40 -bgc 0 0.25 0;
       button -l "" -c " vfn_MaterialID(0,0.25,0.25); "-w 40 -h 40 -bgc 0 0.25 0.25;
       button -l "" -c " vfn_MaterialID(0,0,0.25); "-w 40 -h 40 -bgc 0 0 0.25;              
       button -l "" -c " vfn_MaterialID(0.25,0,0.25); "-w 40 -h 40 -bgc 0.25 0 0.25;
            setParent ..;

showWindow frmMaterialID;
}
        else // else just pop it up from being minimized again
    {
   showWindow frmMaterialID;
}

global proc vfn_MaterialID(float $red,float $green,float $blue)
{
     string $sel[] =`ls -sl`;
     string $materialName = `shadingNode -n ($sel[0]+"_MT") -asShader surfaceShader`;
     setAttr ($materialName+".outColor") -type double3 $red $green $blue;
   
     select -r  $sel;
     hyperShade -assign $materialName;
   
 
}

Random Selection (MelScript)

This script for selecting objects randomly


CODE

global proc frm_randomSelection()
{
    if(`window -exists frm_randomSelection` )
   // windowPref -ra; 
    deleteUI frm_randomSelection ;
    window -mxb off -title "Random Selection Ver 1.1 by Vorasorn Ketlek" -widthHeight 320 250 frm_randomSelection ;
        string $myForm        = `formLayout -numberOfDivisions 100`;    
       radioCollection;
        string $chkUnGrp = `radioButton -sl -l "Selected Only" chkUnGrp`;  
        string $chkCreateGrp = `radioButton -l "Selected and group" chkGroup`;  
        string $chkCreateGrpVis = `radioButton  -l "Selected and group then disable" chkGroupVis`;
        string $chkDelete = `radioButton  -l "Selected and delete" chkGroupDel`;
                            
        string $myBtn5   = `button -l "Start" -h 30 -w 200 -c "vfn_randomSelection();"`;
        string $p1 =`progressBar -pr 0 -w 200 pDeselect `; 
formLayout -edit
      
      
        -attachForm $chkUnGrp           "top" 5 -attachForm $chkUnGrp            "left" 5  
        -attachForm $chkCreateGrp       "top" 25 -attachForm $chkCreateGrp       "left" 5   
        -attachForm $chkCreateGrpVis    "top" 45 -attachForm $chkCreateGrpVis    "left" 5    
        -attachForm $chkDelete          "top" 65 -attachForm $chkDelete          "left" 5        
        -attachForm $p1                 "top" 100 -attachForm $p1                "left" 5       
        -attachForm $myBtn5             "top" 125 -attachForm $myBtn5            "left" 5  
         
        
     $myForm; 
     
    showWindow frm_randomSelection ;  
}
global proc vfn_randomSelection()
{    
    string $selCurve[] = `ls -sl`;
    float $cSize=size($selCurve);
    float $t2 = ($cSize/100);
    for($i=0;$i<$cSize;$i++)
    {
       int $rNum = rand(0,$cSize);
         
        vfn_randomSelect($selCurve[$rNum]);
        progressBar -e -pr ($i/$t2) pDeselect;
    }    
        progressBar -e -pr 0 pDeselect;
        int $chkGroup = `radioButton  -q -sl chkGroup`;
        int $chkGroupVis = `radioButton -q -sl chkGroupVis`;
        int $chkGroupDel = `radioButton -q -sl chkGroupDel`;
        //
        //setAttr "group1.visibility" 0;
        //doDelete;
        if($chkGroup ==1 && $chkGroupVis ==0)
        {
            string $cGrp = `group`;
        }
        if($chkGroupVis ==1)
        {
            string $cGrp = `group`;
            setAttr ($cGrp+".visibility") 0;
        }
        if($chkGroupDel ==1)
        {
            doDelete;
        }
}
global proc vfn_randomSelect(string $name)
{
    select -d $name;  
}
frm_randomSelection();