vfx

Nuke Character ramp gizmo by Mauricio Ricaldi

This little gizmo will create a ramp or gradient from the top part of a character to the lowest part, this is useful if you want to color-correct it but you want to use only the length of the character.

we only want a gradient from the top to the bottom of the geko.

we only want a gradient from the top to the bottom of the geko.

This gizmo uses the metadata from the exr to calculate the ramp, is pretty simple and can be customized to do more things.

most of the options are pretty self-explanatory, just play with the values.

most of the options are pretty self-explanatory, just play with the values.

geko03.JPG
geko04.JPG

download: Char_ramp.zip


VelocityBlender noise reduction technique. by Mauricio Ricaldi

One of the biggest problems with CG is the noise, it takes a lot of CPU power to render an animation without it, and sometimes is not possible to get rid of it without going to insane long render times.

all-hail-king-julien-images-2.jpg

In 2014 at the beginning of the King Julien show we had this problem, one solution I used to do when I was a painter is blend frames in the patches so it looks smooth. With Jordan Cho, a great comp and vfx artist we figure out that if the velocity is used to mask the frame blending in a CG character we can reduce the noise of it.

"Then the logic was if the character is not moving much the blending will be more effective, as soon begin to move the motion blur will make the noise imperceptible."

Since latest version of Nuke has already this feature and we found out that our tool in the Internet and also being used in some studios I think is right to give credit to the people behind it.

VelocityBlender:

vb01.JPG

For the next 3 years Jordan and me fine-tune this tool, so it can reduce a lot of the noise in any pass, have customs mask and exclusions for props that don't need blend or generates ghosting, have triple blending to get rid of complicaded character noise. At the end to make the thing easier for the artist, there is tree setups. action, talking, staying still. But also there where custom version tailored for different shows.

vb02.JPG

Different setting for the action of the characters.

vb03.JPG

Velocityblender was used in a series of projects like King Julien, Puss and Boots and become one of the main tool in the studio, I know that Technicolor used too in their productions, (without telling us).

Vanila version of VelocityBlender 3.5x


All images and characters belong to DreamWorks, I'm using it as demonstrative purposes.


Baking GI with Vray by Mauricio Ricaldi

One way to reduce to the minimum the noise in our renders is baking the GI.

When rendering environments with GI, ambient occlusion is very good idea to bake the GI specially if the camera is moving.

gi.JPG

There are certain things that don't work with this method, first if any object in your scene is animated will break the GI, making ghosting in your rendering. To solve this problem you can render those elements separated in a different layer and comp it later.

First in Maya we go to the environment layer, and enable GI, here are the basic settings:

Select the Engine as Irradiance map, also set the Mode to Incremental add to current map in Irradiance map and in Lightcache to Fly-through

We need to render a few frames where the camera is moving, think about doing a panoramic landscape but instead of photos we are photographing GI and stitching in one big file, so we can render different frames as example: if our range is 1-50, we can render each 10 frames, take all of them and save it as a GI that is called irradiance map. (if you are rendering using a farm or a network you need to save this file in an accessible place)

One tip: render the image as 100% or 50%, but not less than that, otherwise your Irradiance map will be useless.

To do this we can write a MEL script to automate the render of the GI.

float $lastFrame= `getAttr ("defaultRenderGlobals.endFrame")`;
int $frameskip = 10; // each 10 frames
int $loop = $lastFrame/(int)$frameskip;

for($x=1;$x<$loop+1;$x++) {
 
 $framerun = ((int)$frameskip*$x);
 currentTime -e $framerun; 
 RenderIntoNewWindow render;// render!!
 print ("Render Frame:"+$framerun+"\n");
 }

 

Irradiance map

Irradiance map

When all is render, we can check the irradiance map and see  if all the image is complete, is there any holes that the render didn't catch, is possible that the camera movement was to fast, the easier way is to go to that frame and render, it will add to the irradiance map automatically.

 

 

Finally we save both files, irradiance and ligthcache and set the Mode to load and locate the files, save the maya file, now you can render normally.  Remember if you are rendering into a farm, place this files where it can be loaded from the network.

Our environment layer is ready to render without any noise.

I coded a more advanced version of this tool for different TV shows, some need some tweaks here and there, if you are using render managers like Deadline you can send all the GI calculations to the farm too.

Current BakeGI tool for KJN

Current BakeGI tool for KJN


For more detailed information you can check Vray documentation: https://docs.chaosgroup.com/display/VRAY3MAYA/Render+Settings+%7C+GI+tab

and Irradiance documentation: https://docs.chaosgroup.com/display/VRAY3MAYA/Irradiance+Map+Settings