2010年12月15日 星期三

mix8 layer blend mode

blend mode numbers and their functions

-ei 0 ") alpha"
-ei 1 ") normal.mix"
-ei 2 ") add"
-ei 3 ") multiply"
-ei 4 ") substract"
-ei 5 ") screen"
-ei 6 ") darker"
-ei 7 ") lighter"
-ei 8 ") difference"
-ei 9 ") average"
-ei 10 ") negation"
-ei 11 ") exclusion"
-ei 12 ") overlay"
-ei 13 ") hard.light"
-ei 14 ") soft.light"
-ei 15 ") color.dodge"
-ei 16 ") color.burn"
-ei 17 ") reflect"
-ei 18 ") glow"
-ei 19 ") stamp"
-ei 20 ") freeze"
-ei 21 ") heat"

2010年7月29日 星期四

two sided shader in renderman

如果遇到正反面是不同屬性的材質,可以用SLBOX來寫condition,利用model的face normal來判斷.
sl code寫法如下,v1跟v2可再各自串聯node上去

/* color */
if ((dPdu^dPdv).N>0)
result = v1;
else
result = v2;


記得maya model的double side 要關掉,renderman的ensemble的double shaded 要開

2010年5月13日 星期四

template for shader palette selection upon attachment

global proc yi_selector(string $phase)
{
string $paletteName ="";
string $s ="";
string $m ="";
string $b ="";
if ($phase == "normal")
{
$s = "/shows/tife/prod/surface/char/tife_c_yi/tife_c_yi_rig_h.splt";
$m = "/shows/tife/prod/surface/char/tife_c_yi/tife_c_yi_rig_h.surface";
$b = "/shows/tife/prod/surface/char/tife_c_yi/yi_sss_setup.mel";
}
else if ($phase == "wet")
{
$s = "/shows/tife/prod/surface/char/tife_c_yi/tife_c_yi_rig_h_wet.splt";
$m = "/shows/tife/prod/surface/char/tife_c_yi/tife_c_yi_rig_h_wet.surface";
$b = "/shows/tife/prod/surface/char/tife_c_yi/yi_sss_setup_wet.mel";
}
else if ($phase == "dirty")
{
$s = "/shows/tife/prod/surface/char/tife_c_yi/tife_c_yi_rig_h_dirty.splt";
$m = "/shows/tife/prod/surface/char/tife_c_yi/tife_c_yi_rig_h_dirty.surface";
$b = "/shows/tife/prod/surface/char/tife_c_yi/yi_sss_setup_dirty.mel";
}

$paletteName=`slimcmd slim CreatePalette -file $s`;
print "attach mel\n";
eval("source \""+$m+"\"");
eval("source \""+$b+"\"");

}
global proc surface_yi_selector()
{
if (`window -ex ABCWin`==true)
deleteUI -window ABCWin;
window -title "Select yi shader type" ABCWin;
columnLayout -adjustableColumn 2;
button -label "normal" -c "yi_selector(\"normal\")";
separator -h 10;
button -label "wet" -c "yi_selector(\"wet\")";
separator -h 10;
button -label "dirty" -c "yi_selector(\"dirty\")";
separator -h 10;
setParent ..;
showWindow ABCWin;
}
surface_yi_selector();

2010年5月11日 星期二

Old Maya Render Presets

There is no preset option to create a layer override in Maya 2009 as it was in 2008

However you can still create these overrides by using the following Mel
Where layer1 is the name of the Layer you like to override.

Ambient Occlusion

renderLayerBuiltinPreset occlusion layer1;

Luminance Depth

renderLayerBuiltinPreset linearDepth layer1;

Normal Map

renderLayerBuiltinPreset normal layer1;

Geometry Matt

renderLayerBuiltinPreset matte layer1;

Diffuse

renderLayerBuiltinPreset diffuse layer1;

Specular

renderLayerBuiltinPreset specular layer1;

Shadow

renderLayerBuiltinPreset shadow layer1;

From http://mayastation.typepad.com/