顯示具有 mel 標籤的文章。 顯示所有文章
顯示具有 mel 標籤的文章。 顯示所有文章

2009年11月25日 星期三

melscript for different set of shader parameters

這是同事在公司寫的melscript,主要是給lighter設定不同組的shader參數,上面有三組分別為huge,normal跟tiny的shader參數可以選擇,三組個別有不同的specular跟bump的shader參數

global proc jingubang_selector(string $phase)
{
string $a = `slimcmd slim GetAppearances -name "Spec_jingubang"`;
string $b = `slimcmd slim GetAppearances -name "disp_jingubang"`;
string $c;
$a = `slimcmd $a GetProperties -name "Intensity"`;
$c = `slimcmd $b GetProperties -name "displacementbound"`;
$b = `slimcmd $b GetProperties -name "Kb"`;
if ($phase == "huge")
{
slimcmd $a SetValue 1.000;
slimcmd $b SetValue 0.0008;
slimcmd $c SetValue 0.0015;
}
if ($phase == "normal")
{
slimcmd $a SetValue 5.000;
slimcmd $b SetValue 0.015;
slimcmd $c SetValue 0.030;
}
if ($phase == "tiny")
{
slimcmd $a SetValue 1.000;
slimcmd $b SetValue 0.0015;
slimcmd $c SetValue 0.0030;
}

deleteUI -window ABCWin;
}

global proc surface_jingubang_selector()
{
if (`window -ex ABCWin`==true)
deleteUI -window ABCWin;

window -title "Selct Jingubang Size" ABCWin;
columnLayout -adjustableColumn 1;
button -label "Huge" -c "jingubang_selector(\"huge\")";
separator -h 10;
button -label "Normal" -c "jingubang_selector(\"normal\")";
separator -h 10;
button -label "Tiny" -c "jingubang_selector(\"tiny\")";
setParent ..;
showWindow ABCWin;
}

surface_jingubang_selector();

slim command under melscript

針對不同場景,shader參數常常需要有一組特定的參數,通常整組參數可用melscript記下來並且需要時來執行,避免每個場景都需要準備不同組palette.
slim command可以在melscript下執行,例如在slim cmd下輸入
slim GetAppearances -selected 1
melscript 前面必須再加一個指令slimcmd來執行
slimcmd GetAppearances -selected 1

2008年11月11日 星期二

ls -sl 加強版

在Maya script editor 打 ls -sl 就可以顯示現在所有選取物件的名稱,但是因為maya script 能顯示的空間有限,所以當選取的物件很多的話可以用print的方式強制顯示所有選取的物件

print (`ls -sl`);