I am in a serious bind. I need to complete my Demo reel before the Studio closes it's doors on the 15th of this month. The problem is, in all my years of animating and modelling in Maya, (2), it was all for games applications, and I am having a terrible time getting Maya's lightst to work, and the renders to cooperate.
It's an animation Reel, so what I need is that "WHite Room" GL sort of stage to show off the characters in motion, The latter half of the reel will be game engine footage from Unreal 3, but for the characters that predated the switchover to Unreal 3, I still need to show them, and need to either get an MB sile set up for me to use, or detailed, small word instructions, or an online tutorial on how to do this. Hopefully the GL looked can be somewhat faked, because I have a week and change to render this out, and real GL I have heard take forever to render, and I need three minutes.
Please help.
Scott
Replies
Maya7 only hypershade> create mentalray node> texture tab> mid_amb_occlusion> hook this node up to the ambient channel of your maya shader> render mentalray.
Maya6 only google dirtmap maya> follow install instructions> apply dirtmap node to ambient channel of shader> render mentalray.
Maya6 and 7 select camera> attribute editor> environment> colour white> mentalray options> preview final gather> render.
First select whatever camera you're using, open up the attributes, and under environment set the color to like a 50% grey or something.
Second, go into the render globals and turn off Enable Default Light.
Third, go to the mental ray tab, set the render quality to PreviewFinalGather, and make sure Final Gather is enabled under the Final Gather pulldown.
Fourth, hook an mib_ambient_occlusion node to the ambient color of whatever is shading your character. Render that and you get something like this:
This is no lights in the scene and just the texture and ambient_occlusion color. If you want more dramatic results, you can add an occluding surface into the scene, which would give you something like this:
So you get a little more to the shadowing but its subtle and not crazy dark. These took me about. . .2 minutes to render on a single P4, so the castaway boxes shouldn't have any problems with em.
Scott
http://www.impresszio.hu/szabolcs/Download/Dirtmap1.2mayaFiles.zip
You shouldn't need any lights. Unless you want harder edged shadows. Apply this to all the ambient nodes of your scene materials.
Scott
Scott
http://www.highend3d.com/maya/downloads/mel_scripts/rendering/misc/3386.html
or this
http://www.highend3d.com/maya/downloads/mel_scripts/rendering/misc/1321.html
They are pretty basic, but given you time crunch might be better than doing full blown Mental Ray renders. Malcolm's was is going to give you much better results though.
Scott
//PrerenderPyramid v0.7 - (c) Dmitry "Troydm" Geurkov
int $lights;
float $intensity;
float $cr;
float $cg;
float $cb;
float $c2r;
float $c2g;
float $c2b;
float $intc;
$lights=32; // here you can control amount of lights in pyramid
$intensity=0.2; // the parametr controls the intensity of each light
$rad=12; // this controls the scaling of pyramid
$shd=1; // this is shadow controling parametr 0 for no shadows and 1 for shadows
$shdq=2; // quality of shadows from 1-5
$cr=0.73; // This three parametrs control the color of lights
$cg=0.80;
$cb=0.85;
$c2r=1;
$c2g=0.813;
$c2b=0.625;
$lights=$lights/8;
$step=$rad/($lights-1);
$n=0;
for($i=1;$i<=$lights;$i++){
defaultDirectionalLight($intensity, $cr,$cg,$cb, $shd, 0,0,0);
setAttr ("directionalLightShape"+($i+$n*$lights)+".dmapFilterSize") $shdq;
select -r ("directionalLight"+($i+$n*$lights));
$x=$rad-($i-1)*$step;
$z=0;
$y=sqrt($rad*$rad-$x*$x-$z*$z);
move -r $x $y $z ;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateY") 90;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateX") (-($i-1)*(90/$lights));
}
$n=1;
for($i=1;$i<=$lights;$i++){
defaultDirectionalLight($intensity, $cr,$cg,$cb, $shd, 0,0,0);
setAttr ("directionalLightShape"+($i+$n*$lights)+".dmapFilterSize") $shdq;
select -r ("directionalLight"+($i+$n*$lights));
$x=($i-1)*$step-$rad;
$z=0;
$y=sqrt($rad*$rad-$x*$x-$z*$z);
move -r $x $y $z ;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateY") -90;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateX") (-($i-1)*(90/$lights));
}
$n=2;
for($i=1;$i<=$lights;$i++){
defaultDirectionalLight($intensity, $cr,$cg,$cb, $shd, 0,0,0);
setAttr ("directionalLightShape"+($i+$n*$lights)+".dmapFilterSize") $shdq;
select -r ("directionalLight"+($i+$n*$lights));
$z=($i-1)*$step-$rad;
$x=0;
$y=sqrt($rad*$rad-$z*$z-$x*$x);
move -r $x $y $z ;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateY") -180;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateX") (-($i-1)*(90/$lights));
}
$n=3;
for($i=1;$i<=$lights;$i++){
defaultDirectionalLight($intensity, $cr,$cg,$cb, $shd, 0,0,0);
setAttr ("directionalLightShape"+($i+$n*$lights)+".dmapFilterSize") $shdq;
select -r ("directionalLight"+($i+$n*$lights));
$z=$rad-($i-1)*$step;
$x=0;
$y=sqrt($rad*$rad-$z*$z-$x*$x);
move -r $x $y $z ;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateY") 0;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateX") (-($i-1)*(90/$lights));
}
$n=4;
for($i=1;$i<=$lights;$i++){
defaultDirectionalLight($intensity, $cr,$cg,$cb, $shd, 0,0,0);
setAttr ("directionalLightShape"+($i+$n*$lights)+".dmapFilterSize") $shdq;
select -r ("directionalLight"+($i+$n*$lights));
$z=$rad-($i-1)*$step;
$y=sqrt($rad*$rad-$z*$z);
$x=$rad-($i-1)*$step;
move -r $x $y $z ;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateY") 45;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateX") (-($i-1)*(90/$lights));
}
$n=5;
for($i=1;$i<=$lights;$i++){
defaultDirectionalLight($intensity, $cr,$cg,$cb, $shd, 0,0,0);
setAttr ("directionalLightShape"+($i+$n*$lights)+".dmapFilterSize") $shdq;
select -r ("directionalLight"+($i+$n*$lights));
$x=($i-1)*$step-$rad;
$y=sqrt($rad*$rad-$x*$x);
$z=$rad-($i-1)*$step;
move -r $x $y $z ;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateY") -45;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateX") (-($i-1)*(90/$lights));
}
$n=6;
for($i=1;$i<=$lights;$i++){
defaultDirectionalLight($intensity, $cr,$cg,$cb, $shd, 0,0,0);
setAttr ("directionalLightShape"+($i+$n*$lights)+".dmapFilterSize") $shdq;
select -r ("directionalLight"+($i+$n*$lights));
$x=($i-1)*$step-$rad;
$y=sqrt($rad*$rad-$x*$x);
$z=($i-1)*$step-$rad;
move -r $x $y $z ;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateY") -135;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateX") (-($i-1)*(90/$lights));
}
$n=7;
for($i=1;$i<=$lights;$i++){
defaultDirectionalLight($intensity, $cr,$cg,$cb, $shd, 0,0,0);
setAttr ("directionalLightShape"+($i+$n*$lights)+".dmapFilterSize") $shdq;
select -r ("directionalLight"+($i+$n*$lights));
$x=$rad-($i-1)*$step;
$y=sqrt($rad*$rad-$x*$x);
$z=($i-1)*$step-$rad;
move -r $x $y $z ;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateY") 135;
setAttr ("directionalLight"+($i+$n*$lights)+".rotateX") (-($i-1)*(90/$lights));
}
for($i=1;$i<=($lights*8);$i++){
$d="directionalLight"+$i;
select -add $d;
}
group -n Lights;
addAttr -ln SkyColor -usedAsColor -at float3;
addAttr -ln redBow -at "float" -p SkyColor;
addAttr -ln greenBow -at "float" -p SkyColor;
addAttr -ln blueBow -at "float" -p SkyColor;
setAttr "Lights.SkyColor" -type double3 $cr $cg $cb ;
addAttr -ln SkyIntensity -at double -min 0 -max 0.3 -dv $intensity |Lights;
addAttr -ln SkyIntensityFalloff -at double -min -0.1 -max 0.1 -dv 0.05 |Lights;
addAttr -ln GroundColor -usedAsColor -at float3;
addAttr -ln redBow3 -at "float" -p GroundColor;
addAttr -ln greenBow3 -at "float" -p GroundColor;
addAttr -ln blueBow3 -at "float" -p GroundColor;
setAttr "Lights.GroundColor" -type double3 $c2r $c2g $c2b ;
addAttr -ln GroundIntensity -at double -min 0 -max 0.3 -dv ($intensity-0.1) |Lights;
addAttr -ln EmitDiffuse -at bool |Lights;
addAttr -ln EmitSpecular -at bool |Lights;
setAttr Lights.EmitDiffuse 1;
setAttr Lights.EmitSpecular 1;
addAttr -ln ShadowColor -usedAsColor -at float3;
addAttr -ln redBow2 -at "float" -p ShadowColor;
addAttr -ln greenBow2 -at "float" -p ShadowColor;
addAttr -ln blueBow2 -at "float" -p ShadowColor;
addAttr -ln CastSkyLevel1Shadows -at bool |Lights;
addAttr -ln CastSkyLevel2Shadows -at bool |Lights;
addAttr -ln CastSkyLevel3Shadows -at bool |Lights;
addAttr -ln CastGroundShadows -at bool |Lights;
setAttr "Lights.CastSkyLevel1Shadows" $shd;
setAttr "Lights.CastSkyLevel2Shadows" $shd;
setAttr "Lights.CastSkyLevel3Shadows" $shd;
setAttr "Lights.CastGroundShadows" 0;
addAttr -ln DmapFilterSize -at long -min 1 -max 5 -dv 2 |Lights;
addAttr -ln DmapResolution -at long -min 0 -max 2028 -dv 128 |Lights;
addAttr -ln DmapBias -at double -min 0 -max 1 -dv 0.001 |Lights;
for($i=1;$i<=($lights*8);$i++){
connectAttr Lights.SkyColor ("directionalLightShape"+$i+".color");
connectAttr Lights.EmitDiffuse ("directionalLightShape"+$i+".emitDiffuse");
connectAttr Lights.EmitSpecular ("directionalLightShape"+$i+".emitSpecular");
connectAttr Lights.ShadowColor ("directionalLightShape"+$i+".shadowColor");
connectAttr Lights.DmapFilterSize ("directionalLightShape"+$i+".dmapFilterSize");
connectAttr Lights.DmapResolution ("directionalLightShape"+$i+".dmapResolution");
connectAttr Lights.DmapBias ("directionalLightShape"+$i+".dmapBias");
}
for($i=1;$i<=($lights*8);$i=$i+$lights){
select -r ("directionalLightShape"+$i);
move -r 0 2 0;
connectAttr Lights.GroundIntensity ("directionalLightShape"+$i+".intensity");
disconnectAttr Lights.SkyColor ("directionalLightShape"+$i+".color");
connectAttr Lights.GroundColor ("directionalLightShape"+$i+".color");
}
for($i=1;$i<=($lights*8);$i=$i+$lights){
connectAttr Lights.CastGroundShadows ("directionalLightShape"+$i+".useDepthMapShadows");
}
for($i=2;$i<=($lights*8);$i=$i+$lights){
connectAttr Lights.CastSkyLevel1Shadows ("directionalLightShape"+$i+".useDepthMapShadows");
}
for($i=3;$i<=($lights*8);$i=$i+$lights){
connectAttr Lights.CastSkyLevel2Shadows ("directionalLightShape"+$i+".useDepthMapShadows");
expression -s ("directionalLightShape"+$i+".intensity="+"directionalLightShape2.intensity"+"-"+"Lights.SkyIntensityFalloff");
}
for($i=4;$i<=($lights*8);$i=$i+$lights){
connectAttr Lights.CastSkyLevel3Shadows ("directionalLightShape"+$i+".useDepthMapShadows");
expression -s ("directionalLightShape"+$i+".intensity="+"directionalLightShape2.intensity"+"-"+"2*Lights.SkyIntensityFalloff");
}
for($i=2;$i<=($lights*8);$i=$i+$lights){
connectAttr Lights.SkyIntensity ("directionalLightShape"+$i+".intensity");
}
sphere -n Sphere -p 0 0 0 -ax 0 1 0 -ssw 0 -esw 360 -r 1 -d 3 -ut 0 -tol 0.01 -s 4 -nsp 4 -ch 1;
setAttr "SphereShape.castsShadows" 0;
setAttr "SphereShape.receiveShadows" 0;
setAttr "SphereShape.primaryVisibility" 0;
setAttr "SphereShape.visibleInReflections" 0;
setAttr "SphereShape.visibleInRefractions" 0;
setAttr "SphereShape.doubleSided" 0;
setAttr "SphereShape.opposite" 1;
setAttr "Sphere.scaleX" ($rad+3);
setAttr "Sphere.scaleZ" ($rad+3);
select -r Sphere.cv[5:6][0:7] ;
move -r 0 ($rad+3) 0 ;
select -r Sphere.cv[4][0:7] ;
move -r 0 ($rad-1) 0 ;
select -r Sphere.cv[0:3][0:7] ;
select -r Sphere;
move -r 0 -2.6 0 ;
displaySmoothness -divisionsU 3 -divisionsV 3 -pointsWire 16 -pointsShaded 4;
subdivDisplaySmoothness -smoothness 3;
select -cl;
shadingNode -n SurfaceShader -as surfaceShader;
shadingNode -n ramp -asTexture ramp;
shadingNode -n place2dTexture -asUtility place2dTexture;
connectAttr place2dTexture.outUV ramp.uv;
connectAttr place2dTexture.outUvFilterSize ramp.uvFilterSize;
connectAttr -f ramp.outColor SurfaceShader.outColor;
setAttr ramp.type 1;
setAttr ramp.interpolation 4;
showEditor ramp;
removeMultiInstance -break true ramp.colorEntryList[1];
setAttr "ramp.colorEntryList[0].position" 0.4;
setAttr "ramp.colorEntryList[2].position" 0.7;
select -cl;
defaultNavigation -source SurfaceShader -destination |Sphere|SphereShape.instObjGroups[0] -connectToExisting;
parent Sphere Lights;
connectAttr Lights.SkyColor ramp.colorEntryList[2].color;
connectAttr Lights.GroundColor ramp.colorEntryList[0].color;
select -r Lights;
print("\n\n\n\n\n###########################################################\n");
print("###Pre render Pyramid v0.7 - (C) Dmitry \"Troydm\" Geurkov###\n");
select -r Lights;
delete;
select -r SurfaceShader ;
delete;
select -r ramp;
delete;
select -r place2dTexture ;
delete;
Hope it helps man.
I think I will give this a tray, so the usage is to, in a new scen, run the script, then import the animation file, and then render?
Scott
Scott
The next shot, I pulled one of the animated assets in and rendered off one frame, this is a Mummified lion and it has incandescence maps, but they are subtle, However the lighting is quite acceptable, and it rendered quickly.
The Final Image is the "design goal" of this excercise. with a shadow,and a light background. How would I proceed to get this effect, then?
Otherwise this would be quite acceptable.
Scott
Looks best in Firefox, an Opera.
The reel has been posted on "Pimping & Previews.
Scott