前回の Subsurface Scattering (misss_fast_simple_maya)シェーダーの作成を MEL スクリプトで自動化してみましょう。
global proc misss1()
{
nurbsPlane -ax 0 1 0;
scale 30 30 30;
string $sname[] = `sphere`;
move 0 1 0 ;
pointLight;
move 3.0 3.3 3.0;
pointLight;
move -3.0 -1.0 -3.0;
string $misss = `shadingNode -asShader misss_fast_simple_maya`;
string $sg = `sets -renderable true -noSurfaceShader true -empty`;
connectAttr ($misss + ".message") ($sg + ".miMaterialShader");
select $sname[0];
sets -e -forceElement $sg;
string $textureNode = `createNode mentalrayTexture`;
connectAttr -f ($textureNode + ".message") ($misss + ".lightmap");
setAttr ($textureNode + ".miWritable") 1;
setAttr ($textureNode + ".miWidth") 1280;
setAttr ($textureNode + ".miHeight") 480;
setAttr ($textureNode + ".miDepth") 4;
string $lmap = `shadingNode -asUtility misss_fast_lmap_maya`;
connectAttr -f ($lmap + ".message") ($sg + ".miLightMapShader");
connectAttr -f ($textureNode + ".message") ($lmap + ".lightmap");
setAttr ($misss + ".front_sss_color") -type double3 1 0 0 ;
setAttr ($misss + ".back_sss_color") -type double3 0 0 1 ;
setAttr ($misss + ".front_sss_weight") 1;
setAttr ($misss + ".back_sss_weight") 3;
setAttr ($misss + ".samples") 256;
}