Keyframed Transparency

From scripting
Jump to: navigation, search
//Author Nicholas Pisca Copyright 2005
//creates a keyframed transparency transition by getting a Z-translate attribute

int $iii = 0;
$jump = `ls -sl`;
int $sizejump = size($jump);
do {
	float $ht2pre = `getAttr($jump[$iii]+".translateZ")`; 
	float $ht2 = $ht2pre * 4;
	string $nicklambert = "nicklambert"+$iii;
	string $nicklambertSG = "nicklambert"+$iii+"SG";
	string $nicklambertoutcolor = "nicklambert"+$iii+".outColor";
	string $nicklambertSGsS = "nicklambert"+$iii+"SG.surfaceShader";
	string $nicklamberttrans = "nicklambert"+$iii+".transparency";

	shadingNode -asShader lambert -n $nicklambert;
	renderCreateBarCB -asShader "surfaceShader" lambert;
	sets -renderable true -noSurfaceShader true -empty -name $nicklambertSG;
	connectAttr -f $nicklambertoutcolor $nicklambertSGsS;
	
	currentTime $ht2;
	setAttr ($jump[$iii] + ".visibility") 0;
	setAttr $nicklamberttrans -type double3 1 1 1 ;
	setKeyframe $nicklamberttrans;
	
	float $iiitra = $ht2 + 3;
	setAttr ($jump[$iii] + ".visibility") 1;	
	currentTime $iiitra ;
	
	float $iiiend = $ht2 + 140;
	currentTime $iiiend;
	setAttr $nicklamberttrans -type double3 0 0 0 ;
	setKeyframe $nicklamberttrans;

	select -r $jump[$iii] ;
	sets -e -forceElement $nicklambertSG;
	
       $iii=$iii + 1;
}
while ($iii < $sizejump);


More information on attribute keyframing, read pages 119-122 in YSYT.