global proc string [] makeSurfaceShader(string $obj)
{
string $sname[];
$sname[0] = `shadingNode -asShader surfaceShader`;
$sname[1] = `sets -renderable true -noSurfaceShader true -empty`;
connectAttr -f ($sname[0] + ".outColor") ($sname[1] + ".surfaceShader");
select $obj;
sets -e -forceElement $sname[1];
return $sname;
}
global proc makeDisplacementShader(string $dest, string $src)
{
string $dsname = `shadingNode -asShader displacementShader`;
string $dname = `sets -renderable true -noSurfaceShader true -empty`;
connectAttr -f ($dsname + ".displacement") ($dname + ".displacementShader");
connectAttr -f ($dest + ".outAlpha") ($dsname + ".displacement");
connectAttr -f ($dsname + ".displacement") ($src + ".displacementShader");
}
global proc string [] make2dTexture(string $name)
{
string $sname[];
$sname[0] = `shadingNode -asTexture $name`;
$sname[1] = `shadingNode -asUtility place2dTexture`;
connectAttr ($sname[1] + ".outUV") ($sname[0] + ".uv");
connectAttr ($sname[1] + ".outUvFilterSize") ($sname[0] + ".uvFilterSize");
return $sname;
}
global proc makeKeyframe(int $keys[], float $vals[], string $obj, string $attr)
{
int $i = 0;
for($k in $keys)
{
currentTime $k;
setAttr ($obj + "." + $attr) $vals[$i];
setKeyframe -at $attr $obj;
$i++;
}
}
global proc makeKeyframe3(int $keys[], float $vals[], string $obj, string $attr)
{
int $i = 0;
for($k in $keys)
{
currentTime $k;
setAttr ($obj + "." + $attr) -type double3 $vals[$i] $vals[$i] $vals[$i];
setKeyframe -at $attr $obj;
$i++;
}
}
global proc setAllAttr(string $name, string $attrs[], float $vals[])
{
int $i = 0;
for($attr in $attrs)
{
setAttr ($name + "." + $attr) $vals[$i];
$i++;
}
}
global proc setAllAttr3(string $name, string $attrs[], float $vals1[], float $vals2[], float $vals3[])
{
int $i = 0;
for($attr in $attrs)
{
setAttr ($name + "." + $attr) -type double3 $vals1[$i] $vals2[$i] $vals3[$i];
$i++;
}
}
global proc makeMultiplyDivide(string $ramp)
{
string $mname = `shadingNode -asUtility multiplyDivide`;
string $obj[] = `listConnections ($ramp + ".alphaGain")`;
connectAttr -f ($obj[0] + ".output") ($mname + ".input1X");
setAttr ($mname + ".input2X") -1;
connectAttr -f ($mname + ".outputX") ($ramp + ".alphaOffset");
}