October 27, 2018
The Grand Tour is a series of trainings which aims to simulate a small production pipeline. In this compositing chapter, we will go over useful techniques that leverage the strengths of RenderMan with Nuke and Fusion.
In the following sub-chapters we will be going over useful attributes and tips that will help us successfully manipulate RenderMan outputs in compositing:
In a very similar fashion to the Color Management training for RenderMan, it's very important to composite images in linear gamma. If we don't understand proper color management, we risk improper merging of alpha channels, incorrect color transforms, films grain issues and color banding. The values we worked so hard to light and shade properly will be mudded and frustrating to work with if we don't respect a correct linear gamma workflow in post.
Linear workflows work best when images have the correct color Space and color depth, meaning, images need to be rendered in the correct bit-depth and image formats, if not, we risk inefficient I/O speed and insufficient metadata in order to work linearly, bringing us back to the same issues we mentioned before.
Let's oversimplify things and break down an entire compositing workflow into three simple steps.
As we can see, there need to be certain standards for our images to behave properly while we manipulate them in post, but one thing is clear, it's always best to do all calculations in linear space. Let's go into a bit more detail, so we can understand why.
Gamma Correction is a term that gets tossed around a lot and is rarely understood. It was invented to compensate for the luminance limitations of a Cathode Ray Tube (CRT) in old monitors, but now a days it is mostly understood as a form of value and color compensation for human vision. Well, you're probably wondering how this affects a render...well, compositing is just a bunch of simple math, so changes in the gamma of the original image are going to affect inconsistently what the compositor is doing to the image, meaning, if we change the value by 1 we expect an equal change in luminance. You can start seeing how this is a problem if each image has their own gamma, because calculations will be different for every image.
This is why it's called Linear Workflow, because we are converting all kinds of different data curves to a simple and reliable linear curve, with which we can always have expected and reasonable results.
In the example above, we can see how incorrectly merged color and alpha can look muddy and undesirable. On the right, with linear gamma, colors blend naturally and the alpha falloff is perfectly smooth. This aesthetic is even more apparent when merging CG elements with film plates, matte paintings or with each other, because if we don't linearize our images, we will start seeing black fringes and incorrect color values.
A correct linear workflow for compositing would look something like this:
Modern floating point formats already operate with a linear curve, but many legacy formats like jpg, tif, tga and png don't. They operate in an old sRGB compensatory Color Space. This is where we need to transform all these sRGB curves to behave linearly, so that our compositor can do all the operations evenly and reliably across multiple image formats.
In the image bellow, we can see how Fusion deals with linear gamma. All operations have happened in linear space, including our Film Grain, after which we need to add an sRGB gamma curve to our image for final output. We can either do this in the final saver node for the image output, or we can do it manually via a gamut node. Both have the capacity to add the sRGB color space to our image.
Once we add the sRGB color space, the image will be viewable in any modern computer monitor as well as any HD broadcast standard television, since rec 709 shares the same chromacities.
Tip
Setting everything to a linear workflow is not so much about viewing the data as it is about manipulating it in the best possible manner.
This color management workflow differs between Nuke and Fusion. Fusion has color space and gamma handling included in every loader and saver, it also has a separate gamma tool, but it's up to you to handle gamma manually. Nuke on the other hand, tries its best to do everything automatically by abiding to global color management preferences, which will linearize all gamma as long as you configure Nuke to treat certain images with the same standard, for example, an 8-bit image will always have an sRGB color space and a 32-bit image will always be linear. This keeps consistency (and saves many headaches) when doing texture painting, 3D rendering and compositing.
Automating everything can be the downfall of a pipeline if the user is not aware of what is happening behind the scenes. Which brings us to our next point: Color Spaces.
A Color Space (sometimes called color profile) is the way an image format encodes color and gamma. Most Color Spaces belong to either one of the most popular Color Models: RGB and CMYK. We will be using the sRGB Color Space for The Grand Tour, since it is the standard for Web and also carries the same chromacity as the HDTV standard Color Space Rec-709.
Tip
Always remember that the compositing program needs linear data to provide the most accurate and predictable image, so think of linear data as lacking a color space, thus being a truly unbiased way of interpreting color and gamma.
We will be using openEXR (or commonly known as EXR) as our main Image Type. Developed by ILM, EXR is the standard and most extensive way of rendering floating-point images. To compensate for big file sizes, EXR supports many different data types and compressions, within these is Half-Float images, or floating point images with half the data, which is what I used for The Grand Tour. Getting rid of half the data sounds like a big loss, but in reality they hold more than enough stops of luminance for most uses, except data passes, like Z, World Normals and World Position, where we need all the metadata we can get.
In other words, since we are transforming gamma curves back and forth, and manipulating the images constantly, we need as much data as we can get. This mentality will help us avoid image artifacting such as banding and visible compression artifacts. This is why it's important to work with floating point image types such as EXR, because they can carry millions of colors per channel, unlike the 8-bit standard of just 255 colors.
Just like TGA has RLE compression and TIFF has LZW, there are several types of compression types within the EXR format. I chose to use ZIP (or deflate) as this is a lossless compression format and very fast to decompress for Fusion. One of the key things to consider is how your compositor is rendering the frame. Fusion is a whole frame renderer, while Nuke is a scanline renderer, so choosing the right compression is key. Nuke seems to thrive with zips (note the "s") compression, because it compresses every single scanline. Zip compression does every 16 scanlines.
Let's analyze our composites hands on and see how it all fits together in post.
Fusion, like Nuke, allows us to composite our renders in a native 32-bit color space, where all our floating point renders will be used to their full potential. In the image bellow we can see a not-very-legible overview of the entire comp, don't worry, we'll be breaking it down in more detail. Let's open our Fusion comp from the attached project files to understand the comp better.
Depending on how you develop a compositing pipeline, there can be several methods to starting a comp. Some compositors like to rebuild the beauty pass entirely using AOV's, which gives the most creative control, but it can be very time consuming and I/O heavy. I chose to use AOV's to isolate and color correct the beauty pass as needed, relying more on finalizing the shot during 3D rendering. This is usually much more I/O friendly, less cumbersome and much more straight forward for stereo pipelines, where heavy compositing needs to be kept to a minimum.
For the Fusion comp, we are using a Chromatic Aberration plugin from the suite Krokodove, but we could also divide the three color channels and shift them manually like we are doing in the Nuke comp.
Understanding concatenation is crucial to building an efficient and clean composite that will not degrade the image.
As we will learn in more detail in the relighting sub-chapter, we need to merge our AOV metadata with our beauty pass, in order to feed the compositor the correct metadata for its relighting tools. In order to merge our 3D position metadata with our beauty pass, we need to use the Channel Booleans node. Very much like the shuffle node in Nuke, a channel boolean node can re-route any channel into any other channel.
Because we have fed this data onto the node stream of the beauty pass, Fusion will now use the data throughout the composite to manipulate any tools that use positional data. Meaning, the data is not lost in successive tools and can be used at any time by other tools. Bellow, we can see in more detail how we can use the Volume Mask tool to pick 3D masks and later use them to drive or isolate values for color correctors, shader tools or a merge. This 3D mask is the base for the relighting in Fusion.
In the image below we can see how thanks to the positional data, our masks are sticking to our scene, which allows us to use them to color correct and change the values of our render procedurally, instead of animating masks manually. In our case, we used it to drive a color corrector tool to add visual emphasis to specific places, like our tree top, which guides the eye from the top left down to our car. We also isolated and color corrected some of the grass with the help of the specular pass, which was being isolated by the 3D masks. This helped us add some variance to the grass saturation and luminance in key places, making it look a little more random.
We are also using the Moss AOV (REYES only as of version 20) to isolate the moss in the cliff, which we can use as a mask for color correction. With this mask I was able to use a color corrector node to bring up the saturation and contrast by about 50%. It's hard to anticipate exact color balance during rendering, so having separate AOV's to make subtle color changes is very helpful.
Here we can see the Maya fluid clouds merged. Since I rendered both clouds together, we are using masks to isolate the background from the foreground. We could have also rendered both clouds separately. We can also see the 3D matte painting being done for our sky background and teapot. We are using a bent texture mapped cloud image to get better parallax. To achieve this, we are using the imported FBX cliff geometry as placement reference and the imported Maya ASCI camera to render the 3D matte painting.
The next step in the comp is to add some animated 3D dust particles, which will help us add some life to the flythrough. We are again using 3D compositing to achieve this through Fusion's 3D particles.
We are also doing some slight luminance level balancing after merging the 3D render with the sky matte painting, as well as using several AOV's to color correct the composition.
The SSS AOV is being used to add extra vibrance to the character and mushrooms. The reflection (specular indirect) is being used to isolate the hovercraft's windshield and add a sun glare at the rim. Finally, the word Turbo is being isolated with the incandescence AOV to add extra importance to the text.
Next, we are adding some color vibrance to the center of the image to help the eye focus on our hovercraft and character. We have also merged our car dust, which is a separate render from our beauty pass. I did this in order to have the flexibility of shadow sampling the volumes in Maya more efficiently and have more control of the overall effect in post.
Another great reason to separate the car dust into a separate render, was to use the render as a mask for effects. In this case we are using the car dust to blur the background, which adds a nice heat haze effect and makes the dust pop by making it a sharper element than the background.
Finally, we apply the main color grade and other effects that simulate a vintage film stock, such as a vignette, chromatic aberration and film grain. We go into more detail in the color grade sub-chapter. More importantly, we need to burn-in an sRGB color profile for an 8-bit output such as tga or quicktime, because we have been working in linear space and that's too dark to view properly on a TV or monitor.
As we can see, using AOV's to manipulate an image in post can add a lot of room for experimentation in real time.
Nuke and Fusion follow the same workflow with different tools, except Nuke offers a true interactive 3D relighting tool and deep image compositing support, which Fusion somewhat compensates with its volume tools.
For the most part, standard tools like a merge, glow, blur, color corrector, etc...will have the same math operations in both softwares, but since they handle slider values and gamma differently it is almost impossible to match the original Fusion results pixel perfect. So, I took this as an opportunity to come up with a new cartoony version of the image instead of the original naturalistic color grade.
As we can see in the image bellow, I tried to follow a very similar node progression to the original Fusion comp, starting with the merging of the data AOV's into our image. Let's open up the Nuke project files, included in the project files, to follow the script breakdown.
To merge the AOV's into the beauty pass, we are using a copy node in order to copy the color from the AOV's into data channels. For the Relight tool, we need a normal and a position data channel, both of which are not available by default in Nuke, so we need to create them using the relight node so they can become available inside the copy node dropdown. More detailed info in the Relighting sub-chapter.
This will ensure we have the metadata available throughout the node script.
After we have placed our lights and are done with the relighting process, we need to transform the RGB output into grayscale luminance to drive a color corrector node. This will allow us to change the value of the original render, instead of merging new color information which can be destructive to the original dynamic range or color information down the comp.
This is what our final relighting mask looks like. As some of you might have noticed it is slightly different than Fusion's, because I wanted to add some more motivated lighting in the foreground and in some other key places to make the lighting directionality look manipulated and cartoony, as opposed to Fusion's naturalistic approach. The intensity of the effect is also much more exaggerated.
Using a CC and Hue Correct node we are manipulating the image saturation, gamma and gain, to effectively add some vibrance and contrast to certain parts of the image where we need to draw the eye.
This is where we start using our AOV's to manipulate color in our final image. We are using the specular AOV to bring out the hovercraft's glass by tinting it orange like the sun haze, we are also using the Moss AOV to add saturation to our cliff moss. In order to do this, we are converting the AOV color channels into standard RGB channels and subsequently into alpha information to mask the corresponding color corrector nodes.
We are also merging our clouds into two separate merges, one cloud for the foreground and another for the background. Finally, we are merging our 3D matte painting which we are creating out of a sky image and our teapot render, both of which are later mapped to 3D cards to get better parallax shift.
Still taking advantage of our AOV's, we are using the SSS AOV to emphasize the character's skin and the mushrooms. The incandescence AOV is allowing us to isolate the "Turbo" sign on the car.
We are also doing some manual work to add a slight sun glare in the negative space formed between the car and tree, as if the sun were seeping through the clouds.
We are also merging our car dust, by first doing a little bit of CC work and bringing up the gain, which will make it more prominent. We are also using the luminance of the dust to blur the main render, this will simulate an exhaust heat haze and emphasize the dust by making it sharper than the background.
The last part of the node tree is where we add the finishing touches to our image. We are changing the image in several ways, including hue shifting the middle of the image, adding our main color grade and adding a lens vignette. To finish off the vintage stock effects, we are adding a chromatic aberration to the edges of the frame and some film grain, which not only helps with the look, but is also crucial to eliminating color banding, by introducing slight color changes between colors that can't be represented by an 8-bit output.
When comparing the images, the Fusion final is more natural looking, while our Nuke image was made a bit more colorful and cartoony.
As we learned in the comp breakdowns above, thanks to Relighting, re-evaluating and improving upon our shot doesn't have to stop at color correction and effects. Even though relighting techniques are different in Fusion and Nuke, they both use the same AOV's, so let's understand them first.
The World Position AOV or Wp, holds the position of the geometry in the scene relative to world space. The passes can also be encoded in camera space, but we need them in world space so that they retain their global positioning independent of camera animation. This means we can pick a pixel value in post and it will represent an absolute position in space, which is crucial to relighting or making 3D masks, etc...
As we can see, these passes can be difficult to judge visually in their RAW form, sometimes even invisible (as is the case of z depth), but we can remap these values to a reasonable viewing range (0-1) by normalizing them in post. Each software has a way of normalizing data (Fusion has a normalizer built into the viewer for example), but normalization should only be used for viewing purposes, because the software needs the RAW data to interpret it correctly, therefore never normalize these data AOV's within the comp operations.
Tip
If you have a hard time viewing the data in your software of choice, don't worry, it's still there for the compositor to use even if you can't see it.
Our World Normal AOV or Wn is also in world space and tells the compositor about the surface normal of our objects, or where a point in space is facing. The compositor needs this data to determine the qualities of the surface it is relighting.
We also use a good'ol Z Depth AOV. Z passes have been used for many years as a trick to achieving fog, depth of field, atmospheric perspective and other depth based tricks in post. In our case, we are using it to feed information to our relighting tools about the depth and dimensions of the scene in world space.
Tip
It is very important we render data AOV's with the highest color depth and least compression possible in order to get very accurate results in post.
Now that we understand the data AOV's a little better. Let's see how we can use these passes in Fusion and Nuke.
Fusion, like Nuke, will allow us to use our floating point data natively within the application. Even though there is no dedicated 3D relighting tool with the ability to use 3D lights, Fusion has its own volume tools and 2D shader tool to relight, reshade or just color correct if we feed it the appropriate position and normal data. As discussed above, we are using Wp, Wn and Z. This will allow Fusion to understand the entire 3D scene.
Unlike Nuke, Fusion can interpret normal and position information by default, so we are only converting the color to data and skipping the channel creation.
To convert the color information to position and normal data, we need to use the Channel Booleans tool. This Fusion tool is capable of performing many different mathematical operations, but most importantly for us, it has a very important Aux Channels tab, where we can redirect color information to certain data or Aux channels. In order to do this, we need to check Enable Extra Channels and navigate to our desired Aux channel. From the dropdown, we can choose any incoming color channel, in this case we will redirect each one of the AOV's r,g, b channels into their respective x,y, z normal and position vectors. The Z buffer Aux will read the luminance (or lightness) of the Z depth AOV. Each redirection needs its own Channel Booleans tool.
As we can see in the image bellow, the beauty pass is in the background, as multiple Channel Booleans merge data into the node stream.
Once we have the data for Relighting, we can start making our 3D masks by using the VolumeMask tool. We can pick where we want our mask to be, by dragging the "Pick..." icon into the viewer, while viewing the output of the volume tool. We can do this interactively, which will also help us modify it's scale. The resulting mask is being softened by the alpha channel of the beauty pass, in order to limit the Relighting operations.
Once we have the VolumeMasks where we want them, we can use several methods to change the original image. One of those is using a Shader tool. The controls are very similar to Nuke's own Relight node, except Fusion's Shader tool is a 2D shader and has no 3D viewport feedback. The tool compensates by adjusting height and angle of reflection. We can also add a reflection map if needed.
Like Nuke, the main method used to Relight is using Color Corrector tools in order to modify the saturation, hue, gain and gamma of the original image. The fact that we are using floating point images allows us to get a clean image devoid of banding and artifacting, even though we are heavily manipulating it, because our exposure and color range is very wide.
Nuke offers true relighting, where data from 3D lights can be fed into a dedicated Relight node with the ability to change diffuse and specular shading.
For Nuke to interpret the color data in the AOV passes, we need to change color to data, effectively changing it to position, normal and Z data. To transform color into data we will use a copy node, but we first need to create the position and normal layers in Nuke, because they are not available by default.
To create a new layer, we need to either use the Nuke viewer or a Relight node. For example, create a Relight node and in the menu dropdowns choose new (for new layer). Here we will make a new layer called normal and assign each channel (r,g,b) to said layer accordingly. Follow the same process for a new layer called position.
After we make these new layers, Nuke will make them available in copy nodes, effectively allowing us to change our AOV's into useful Relight position and normal data.
As we can see in the image bellow, we need to connect a shader into the Relight node, as well as lights and camera data. We are using the cliff FBX geometry to view a simple representation of the 3D cliff scene when positioning new lights. Note the relight tool will still work without geometry, but it is recommended for accuracy.
The Relight output will have diffuse and specular information, but Instead of relying on shading results, we've gone a step further and converted the resulting image into a luminance mask to color correct our image.
Tip
Don't forget to check "use alpha" in the Relight node, so that the relighting only happens within the boundaries of the alpha channel.
3D Compositing has been on the rise in recent years. Traditional 2D compositors like Shake lacked 3D tools, but applications like Nuke and Fusion have complex 3D engines built-in, which allows the user to expand the limitations of 2D and bridge the gap between production and post-production. We used 3D Compositing to composite our sky with our cloud teapot and add some atmospheric dust particles to the camera flythrough.
The main workflow consisted in exporting FBX geometry and camera data from Maya, in order to use Fusion to generate particles and composite our sky and teapot. To do this, I exported the Maya camera in .ma format, because Fusion will read Maya animation curves natively. Fusion also supports alembic files, so we can import our vegetation to get a better representation of the scene if needed.
Nuke follows many of the same principles for importing data as Fusion, but can't import Maya .ma files for the camera, so we need to generate FBX data for our camera. Because of animation curve interpolation, it is best to bake the camera animation before exporting.
Tip
To ensure that the camera matches 100% in post, it is crucial to set the camera's Film Aspect Ratio to the same value as the Device Aspect Ratio in the render settings. In our case, this value is 1.850. Unfortunately Maya always defaults to 1.50, so we always need to change it!
To create our sky, we texture mapped an image plane with a sky texture from cgtextures.com, with the same method, we added our cloud teapot onto our sky. The fluid dynamic Maya clouds added the finishing touch of life to the sky.
In the image below we can see how using very simple geometry to represent our cliff, we are able to position our particles and better judge spatially where our sky looks best. It's crucial to have a good spatial relationship to represent the parallax needed for such a space. Not having the reference geometry could lead to the sky being too close, thus shrinking the scene down in size visually, because there is not enough perspective shifting.
Tip
Make sure to use FBX instead of OBJ for geometry export, because it allows faster I/O speeds and many more options for interpreting the 3D scene in Fusion.
Even though I chose not to use Deep Images in TGT, they have become a very important part of many film pipelines. When I started The Grand Tour, the workflow issues outweighed the benefits. This is no longer the case, since both RfM and Nuke have seamless deep data integration. Let's take a look at how Deep Images can be of great help.
Deep Compositing refers to the use of Deep Image Data as part of the compositing process to accurately merge elements within transparent, intersecting, volumetric or otherwise disparate elements which would otherwise be impossible to merge with 2D compositing. In other words, in softwares such as Nuke, we can use Deep Image Data to merge objects through fur, glass, clouds, transparent leaves, etc, without any of the pitfalls of traditional compositing techniques such as the use of Zdepth maps, where edge filtering, transparency and sub-pixel accuracy were a problem.
In order to generate deep data information from RfM we need to follow some simple steps, as outlined in the docs:
Below is the visualization of the Deep Image Data within Nuke. We are using a DeepReColor node to merge the beauty pass and the Deep Data, then passing the information onto a DeepToPoints node in order to visualize this in 3D space. This is crucial to positioning new elements for our composite, such as our lights and text, but it's not part of the actual result.
The DeepMerge node will be the main "merge" node for our deep data, Nuke makes this easy. We then have to convert that data into a 2D image with a DeepToImage node.
We can use the point data to accurately position our newly created 3D elements and any lighting needed to matchlight the scene. In our example scene, we have a simple RenderMan logo mapped onto a card in 3D space. We are lighting the text with several nuke point lights to simulate the directionality of the keylight and the indirect lighting from the colorful saturated walls.
And voila! Our final image with our RenderMan logo merged through intersecting geometry. We are free to light our RenderMan logo to compensate for the lack of GI in compositing.
When you're finishing a shot, it is very important to deal with any outstanding issues, including color banding, matching grain or simply adding a vignette to simulate an uneven luminance in the lens. The amount of effects needed in a shot can vary depending on the complexity and ambition of a shot, but above all, Color should always be a mayor priority. That's why Color correction and Color Grading are a very big part of any post-production process.
Color Correction deals with manipulating colors and values to a standard in a sequence, so lows, mids and highs need to be modified to have a certain range and value which will allow a sequence to look cohesive. This helps create consistency throughout a sequence of shots. For film, this also includes white balance and chemical color timing, but since CG can create more predictable white balancing, Color Correction is usually limited to matching luminance levels and saturation to the film plate. In the case of our shot or an all animated feature, Color Correction can be much more straight forward.
Color Grading is the very last color transform of a shot and maybe even our last creative tool. It serves as a way to modify our color balance in the lows, mids and highs in order to give the overall color palette a desired emotional look, usually tied in with the story. In our case we are using a warm color palette, so our mids and highs are shifted towards orange and yellow, while the lows are shifted towards blue to complement the orange tones and highlight the warmth of the sun.
Tip
Note the differences between Color Correction and Color Grading, the first deals with color technically and the other is a creative tool.
Film grain was crucial to reaching a film stock look. Since many grain tools default to monochromatic or evenly distributed grain, I made sure to adjust the size, intensity and quantity of grain in each color channel, in order to better simulate film stock. This is one of the tools where we really see the advantages of working with correct color management, because when working with a logarithmic response curve, the grain will vary its intensity as the exposure of the plate changes, therefore having a large floating point range of values helps the log curve simulate film stock much more accurately.
In the image bellow, we can see how working with traditional 8-bit methods produces a flat grain response, leading to unpleasant and destructive looking film grain, whereas the image in the bottom produces subtle results.
To keep the image in tune with our retro-future look, we gave our shot a slight chromatic aberration in the edges of the image, this simulates a vintage film stock where color convergence wasn't as accurate and created channel shifts, channel blurs and purple fringing. We can achieve this effect in post by shifting each color channel ever so slightly in opposing directions, in order to create a shift in color. This effect can get more exaggerated with wider, older or lower quality lenses, even blurring some of the channels, but we need to make it very slight so that it doesn't overpower or degrade the image. We are also limiting the effects by using a mask to only affect the edges of the image.
For the Fusion comp, we are using a Chromatic Aberration plugin from the suite Krokodove.
A Lens Flare is an artifact of the lens iris as light leaks inside the camera lens and into the diaphragm, that's why we usually get artifacts shaped like a hexagon or other geometric shapes that match the shape of the lens diaphragm. I used a Lens Flare in certain frames of the animation to add sense of realism to the shot (even though it's a furry creature riding a hovercraft...), I used the brightness from the hovercraft glass as my lens flare source. This effect needs to be subtle, because bright and moving elements can be very distracting, especially abstract shapes like lens flares. This effect can be very useful to create a sense of realism, because we associate such artifacts with a real camera lens...and producers think it's cool...
The Grand Tour es una serie de entrenamientos dedicados a simular una producción pequeña. En este capítulo de composición vamos a estudiar cómo sacarle provecho a RenderMan para el uso de imágenes en Nuke y Fusion.
En los siguientes sub-capítulos vamos a aprender sobre atributos útiles y consejos que nos ayudarán a manipular correctamente las salidas de RenderMan en la composición:
De manera muy similar a lo explicado en el entrenamiento Color Management para RenderMan, es muy importante que las imágenes sean compuestas en gamma lineal. Si no entendemos un correcto manejo de color, corremos el riesgo de fusión impropia de canales alfa, transformaciones de color incorrectos, problemas del grano de la película y bandas de color. Los valores de luz y sombra que alcanzamos originalmente serán empastados y frustrantes para trabajar con ellos si no respetamos un manejo de color y gamma correcto.
Trabajar en gamma lineal funciona mejor cuando las imágenes tienen el espacio de color y profundidad correcto, es decir, las imágenes deben ser creadas con suficiente profundidad y en el formato correcto, si no, corremos el riesgo de velocidades de disco ineficientes, al igual que insuficiente metadata para la imagen, lo que nos devuelve a los mismos problemas que hemos mencionado antes.
Vamos a simplificar bastante las cosas y vamos a dividir todo un flujo de trabajo de composición en tres sencillos pasos:
Como podemos ver, es necesario que existan ciertas normas para que nuestras imágenes se comporten correctamente mientras las componemos, pero una cosa esta clara, siempre es mejor hacer todos los cálculos en el espacio de gamma lineal. Vamos a entrar en detalle para entender por qué.
Gamma Lineal es un término que se escucha mucho y rara vez se entiende. Fue inventado para compensar las limitaciones de luminancia de un tubo de rayos catódicos (CRT) en monitores antiguos, pero hoy en día se entiende principalmente como una forma de compensación de valor y color para la visión humana. Bueno, te estarás preguntando cómo esto afecta a un render... bueno, la composición de imágenes es sólo un montón de operaciones matemáticas sencillas, por lo que los cambios en el gamma de la imagen original, van a afectar de forma inconsistente lo que el compositor está haciendo con la imagen, es decir, si cambiamos el valor en 1, se espera un cambio igual de luminancia. Podemos empezar a ver cómo esto se torna en problema si cada imagen tiene su propio gamma, ya que los cálculos serán diferentes para cada imagen.
Es por eso que se llama Gamma Lineal, porque estamos convirtiendo todo tipo de curvas de color a una simple y confiable curva lineal, con la que siempre podemos tener resultados precisos.
En el ejemplo anterior, podemos ver cómo el color resultante de la composicion de forma incorrecta (sRGB) puede resultar en colores de transición sucios e indeseables. A la derecha, con la gamma lineal, colores se mezclan de forma natural y la transición alfa (alpha channel) es perfectamente limpia. Esta estética es aún más evidente cuando la composicion de elementos generados por un renderizador se combinan con una toma de pelicula, porque si no modificamos nuestras imágenes, vamos a empezar a ver franjas negras alrededor de nuestras composiciones.
Un flujo de trabajo con Gamma Lineal se puede visualizar de la siguiente forma:
Formatos de punto flotante modernos ya operan con una curva lineal (openEXR), pero muchos formatos tradicionales como JPG, TIF, TGA y PNG no lo hacen. Operan en un antiguo espacio de color sRGB compensatorio. Aquí es donde tenemos que transformar todas estas curvas sRGB a formato lineal, de modo que nuestro compositor pueda hacer todas las operaciones de manera uniforme y confiable a través de múltiples formatos de imagen.
En la imagen de abajo, podemos ver como el compositor Fusion funciona en espacio de color lineal. Todas las operaciones han sucedido en el espacio lineal, incluyendo nuestro grano de película, después de lo cual tenemos que añadir una curva de gamma sRGB a nuestra imagen para la salida final. Tambien podemos hacer esto en el nodo saver final para la salida de la imagen, o podemos hacerlo de forma manual a través de un nodo de gamma. Ambos tienen la capacidad de agregar el espacio de color sRGB a nuestra imagen final.
Una vez que añadimos el espacio de color sRGB, la imagen será visible en cualquier monitor moderno, así como cualquier emisión de television de alta definición estándar, ya que rec 709 comparte la misma cromaticidad..
Consejo
Cambiar el flujo de trabajo a Gamma Lineal no tiene como motivo principal visualizar data, sino que la manipulación de dicha data de la mejor manera posible.
Este flujo de trabajo de Gamma Lineal difiere entre Nuke y Fusion. Fusion tiene espacio de color y manejo de gamma incluido en cada loader y saver, que también tiene una herramienta de gamma incluida, pero la decision de manejar la gamma es manual y cae en la responsabilidad del usuario. Nuke por otra parte, hace lo posible para hacer todo de forma automática, con preferencias globales de color, lo cual se encarga de todas la imágenes que entran, siempre y cuando se configure para el tratamiento de ciertas imágenes con el mismo estándar, por ejemplo, una imagen de 8-bits siempre tiene un espacio de color sRGB y una imagen de 32 bits siempre será lineal. Esto mantiene la consistencia (y ahorra muchos dolores de cabeza) cuando se crean texturas, 3D y composición.
La automatización de todo sin entender, puede ser un mal presagio para el usuario, que no sabrá lo que está sucediendo detrás de las escenas. Lo que nos lleva al siguiente punto:
Un espacio de color o Color Space (a veces llamado perfil de color ) es la forma en que un formato de imagen codifica el color y gamma. La mayoría de los espacios de color pertenecen a uno de los modelos de color más populares: RGB y CMYK . Vamos a utilizar el espacio de color sRGB para este entrenamiento (The Grand Tour), ya que es el estándar para la web y también lleva la misma cromaticidad como la televisión de alta definición estándar de espacio de color Rec- 709.
Consejo
Recuerde que el programa de composición necesita datos lineales para proporcionar la imagen más precisa, así que imagínese que el espacio lineal es como si la imagen no tuviera un espacio de color, siendo por tanto una forma verdaderamente imparcial de la interpretación de color y gamma.
Vamos a utilizar OpenEXR (o comúnmente conocido como EXR) como nuestro principal Tipo de imagen. Desarrollado por ILM, EXR es la manera estándar y más extensa de representar imágenes de punto flotante. Para compensar los tamaños de archivos grandes, EXR es compatible con muchos tipos y niveles de compresión, dentro de éstas son las imágenes de Half-float, o imágenes de punto flotante con la mitad de los datos, que es lo que he usado para The Grand Tour. Deshacerse de la mitad de los datos suena como una gran pérdida, pero en realidad poseen más que suficiente data para la mayoría de los usos, excepto las imágenes de pura data, como Z , Wp y Wn, en la que necesitamos precision de 32-bit flotante por cada canal.
En otras palabras, ya que estamos transformando las curvas gamma de ida y vuelta, y manipulando las imágenes constantemente, necesitamos toda la data que podemos conseguir. Esta mentalidad nos ayudará a evitar artefactos de imagen tales como artefactos de bandas y compresión. Por esto qué es importante trabajar con los tipos de imágenes de precision flotante como EXR, ya que pueden llevar a millones de colores por canal, a diferencia del estándar de 8 bits de sólo 255 colores por canal.
Al igual que TGA tiene compresión RLE y TIFF tiene LZW, hay varios tipos de compresión dentro del formato EXR. Opté por usar ZIP (o deflate), ya que es un formato de compresión sin pérdidas (lossless) y muy rápido para descomprimir en el compositor Fusion. Una de las principales cosas a tener en cuenta es la forma en que su compositor esta renderizando la imagen. Fusion procesa la imagen completa, sin scanlines, mientras que Nuke procesa la imagen por cada linea (scanline), por lo que la elección de la compresión correcta es clave. Nuke parece prosperar con compresión ZIPS (nota la " s "), ya que comprime cada línea de la imagen por separado. Compression ZIP, comprime cada 16 líneas de la imagen.
Analicemos nuestras composiciones de forma mas practica y veamos como aplicar lo aprendido hasta ahora.
Fusion y Nuke nos permiten componer imágenes en un espacio nativo de 32 bits por canal, donde nuestra data de punto flotante se utilizará en todo su potencial. En la imagen de abajo podemos ver una visión no muy legible de toda la composición...no se preocupen, vamos a visualizarla con más detalle. Abramos nuestro proyecto de Fusion que se encuentra dentro de los archivos adjuntados.
En un proyecto pueden haber varios métodos para iniciar una composición. Algunos compositores prefieren reconstruir el "beauty pass" o imagen final por completo, usando cada AOV. Este método ofrece el mayor control, pero puede ser muy lento y pesado para el disco duro. Yo opté por usar los AOV para aislar y corregir el color de la imagen final según sea necesario, confiando más en la finalización de la imagen que salga directo del renderizador. Esto es por lo general mucho más rápido para el disco duro, porque no se carga cada imagen, si no solo lo necesario. Este método es menos complicado y especialmente util para imagenes que necesitan ser "stereoscopic", donde la composición debe mantenerse al mínimo.
Para la composición de Fusion, estamos usando un plugin de aberración cromática de la suite Krokodove, pero también podríamos dividir los tres canales de color y ligeramente moverlos como lo estamos haciendo en Nuke.
Entender el concepto de Concatenación es crucial para armar una composición eficiente y limpia, que no degrade la imagen.
Como veremos con más detalle en el subcapítulo de re-iluminacion, tenemos que combinar nuestra metadata AOV con nuestro render principal (o beauty pass). Para poder entregarle al compositor la metadata correcta, tenemos que utilizar el nodo llamado Channel Booleans. Al igual que el nodo shuffle en Nuke, un Channel Boolean puede reasignar un canal a otro, en nuestro caso, vamos a reasignar el color de nuestros AOV a formatos de data.
En la siguiente imagen podemos ver cómo, gracias a la data de posición, las máscaras se están pegando a nuestra escena, lo que nos permite usarlas para corregir el color y cambiar los valores de nuestro render sin tener que animar mascaras. En nuestro caso, hemos utilizado la mascara para limitar a una herramienta de corrector de color (Color Correction Tool) a ciertos lugares, lo cual dará énfasis visual a lugares específicos, como la parte superior del árbol, lo cual guía la mirada del espectador desde la parte superior izquierda hacia abajo a nuestra nave voladora. También aislamos y corregimos el pasto con la ayuda del AOV specular, que estaba siendo aislado por las máscaras 3D. Esto ayudó a añadir algunas variaciones a la saturación y luminancia del pasto en lugares claves, dando la impresión de azar en el color.
En la siguiente imagen podemos ver cómo, gracias a la data de posición, las máscaras se están pegando a nuestra escena, lo que nos permite usarlas para corregir el color y cambiar los valores de nuestro render sin tener que animar mascaras. En nuestro caso, hemos utilizado la mascara para limitar a una herramienta de corrector de color (Color Correction Tool) a ciertos lugares, lo cual dará énfasis visual a lugares específicos, como la parte superior del árbol, lo cual guía la mirada del espectador desde la parte superior izquierda hacia abajo a nuestra nave voladora. También aislamos y corregimos el pasto con la ayuda del AOV specular, que estaba siendo aislado por las máscaras 3D. Esto ayudó a añadir algunas variaciones a la saturación y luminancia del pasto en lugares claves, dando la impresión de azar en el color.
También estamos utilizando el AOV llamado moss para aislar el musgo en la escena, la cual se puede utilizar como una máscara para la corrección de color. Esta mascara la usamos con un nodo corrector de color para modificar la saturación y el contraste en un 50%. Es difícil anticipar el equilibrio de color exacto durante la producción de la imagen en Maya, así que tener que hacer cambios sutiles de color en post-producción es muy útil.
Aquí podemos ver las nubes creadas con Fluidos en Maya. Las hice juntas, asi que estamos usando máscaras para aislar el fondo del primer plano. También podríamos haber renderizado ambas nubes por separado.
También podemos ver compuesto el matte painting 3D para nuestro fondo de cielo y la nube con forma de tetera. Estamos utilizando una imagen de la nube como textura doblada por medio de un nodo 3D en Fusion. Para lograr esto, estamos utilizando la geometría del cerro en formato FBX importado como referencia de posición y la cámara Maya ASCI importada para hacer calzar perfectamente el Matte Painting.
El siguiente paso es añadir algunas partículas de polvo animadas en 3D, lo que ayudará a añadir un poco de vida a la escena. Estamos de nuevo utilizando la composición 3D para lograr esto a través de partículas 3D de Fusion.
También estamos haciendo un poco de equilibrio ligero al nivel de luminancia después de combinar nuestras imágenes con el Matte Painting, así como el uso de varios AOV para corregir el color de la composición.
El SSS AOV (dispersion de piel - sub surface scattering) se utiliza para agregarle colores vibrantes al personaje y hongos. El AOV de reflexión (specular indirect) se utiliza para aislar el parabrisas de la nave y añadir un reflejo del sol en el borde. Finalmente, la palabra Turbo se aísla con el AOV de incandescencia (glow - incandescence) para añadirle importancia adicional.
A continuación, le añadimos un poco de riqueza al color en el centro de la imagen para ayudar a que el enfoque visual sea para la nave y el personaje. También hemos compuesto el polvo que deja la nave al pasar, el cual es un render de fluidos de Maya por separado a nuestro render principal. Hice esto con el fin de tener la flexibilidad de manipular los valores de los fluidos en Maya de manera más eficiente y tener un mayor control del efecto global en post-producción.
Otra gran razón para separar el polvo del coche en un render aparte, es utilizar este render como una máscara para los efectos. En este caso estamos usando el polvo del coche para difuminar el fondo, lo que añade un efecto de distorsión de calor y hace que el polvo se separe visualmente del fondo.
Finalmente, se aplica la corrección de color y otros efectos que simulan a una película clásica, como una viñeta, aberración cromática y grano de película. Entraremos a ver estos conceptos en más detalle en el subcapítulo de corrección de color.
Más importante aún, tenemos que quemar el perfil de color sRGB para la salida de 8 bits, por ejemplo usando TGA o Quicktime, porque hemos estado trabajando en espacio de gamma lineal y eso es demasiado oscuro para visualizarlo correctamente en un televisor o monitor.
Como podemos ver, el uso de pases AOV para manipular una imagen en post-producción nos da un buen espacio para la experimentación creativa en tiempo real.
Fusion y Nuke tienen el mismo flujo de trabajo con diferentes herramientas, con la diferencia que Nuke ofrece una verdadera herramienta de re-iluminación interactiva en 3D y una herramienta de composición de profundidad (deep compositing), lo que Fusion compensa con sus herramientas de volumen.
En su mayor parte, las herramientas estándar como brillo, desenfoque, corrección de color, etc ... tendrán las mismas operaciones matemáticas en ambas aplicaciones, pero ya que manejan valores y gamma diferente es casi imposible coincidir perfectamente con la composición de Fusion. Por esto, aproveche de cambiar la imagen levemente y mejor hice una nueva versión mas caricaturesca en vez de la estética naturalista de la imagen de Fusion.
Como podemos ver en la imagen de abajo, intente seguir una progresión de nodo muy similar a la composición original de Fusion, empezando con la composición de pases de datos AOV en nuestra imagen. Vamos a abrir los archivos de proyecto de Nuke, para seguir el análisis de la composición.
Para combinar los pases de data con el render principal, estamos usando un nodo copy para copiar el color de los pases AOV y pasarlos a los canales de datos. Para la herramienta Relight, necesitamos pases de data normal y position, los cuales no son estándar en Nuke, por lo que necesitamos crearlas usando el nodo relight para que puedan estar disponibles dentro del menú desplegable del nodo copy. Veremos esto en mas detalle en el subcapítulo de re-iluminación.
Esto asegurará que tengamos la metadata disponible durante toda la secuencia de nodos.
Después de haber colocado las luces y haber terminado el proceso de re-iluminación, necesitamos transformar la salida RGB a escala de grises (luminancia) para conducir un nodo corrector de color. Esto nos permitirá cambiar los valores del render original, en lugar de combinar nueva información de color que puede destruir la gama de colores o rango dinámico original.
Esta es nuestra mascara para la re-iluminación. Como algunos de ustedes se habrán dado cuenta, es ligeramente diferente a la de Fusion, porque quería exagerar la iluminación en el primer plano y en algunos otros lugares claves para hacer que la estetica luciera caricaturesca, a diferencia del enfoque naturalista de la composición que hice en Fusion. La intensidad del efecto es también mucho más exagerada.
Usando un CC (Color Correct) y Hue Correct node estamos manipulando la saturación de la imagen, al igual que la gamma y gain, para así añadir colores vibrantes y contrastar ciertas partes de la imagen donde necesitamos crear enfoque.
Es aquí donde empezamos a usar nuestros AOV's para manipular nuestra imagen. Estamos usando el Specular AOV para hacer resaltar el vidrio del vehículo con un tinte de color naranja, para unir los tonos al los del sol. También estamos utilizando el moss (musgo) AOV para agregarle saturación a nuestro musgo. Para hacer esto, estamos convirtiendo los canales de color RGB AOV en canales RGB estándar y posteriormente en información alfa para enmascarar los correspondientes nodos correctores de color.
También estamos componiendo nuestras nubes en dos partes, una nube para el primer plano y otra para el fondo. Por último, estamos fusionando nuestra pintura mate en 3D, que estamos creando con una imagen de cielo y una imagen de una nube con forma de tetera, los cuales son asignadas a tarjetas 3D (cards) para obtener un paralaje (parallax) mas aparente.
Continuando el uso de nuestros AOV's, estamos utilizando el SSS (subsurface) AOV hacer hincapié en la piel del personaje y los hongos. La incandescencia AOV nos está permitiendo aislar el signo "Turbo" en el coche.
También estamos haciendo un poco de trabajo manual para añadir un ligero resplandor del sol en el espacio negativo formado entre el árbol y el coche, como si la luz del sol estuviera filtrándose a través de las nubes.
Estamos componiendo nuestro polvo del coche también. Para empezar estamos haciendo un poco de corrección de color y subiendo el gain, lo que hará que resalte en la imagen. Tambien estamos utilizando la luminancia del polvo para difuminar el fondo, esto va a simular una bruma de calor del tubo de escape y ayudara a resaltar el polvo del fondo.
En la última parte de la composición es donde añadiremos los ajustes finales a nuestra imagen. Estamos cambiando la imagen de varias maneras, incluyendo un cambio de tonalidad en medio de la imagen, añadiendo nuestro grado de color principal y la adición de una viñeta de lente.
Para finalizar los efectos "vintage" o de película clásica, estamos añadiendo una aberración cromática en los bordes de la imagen y un poco de grano de película, que no sólo ayuda con la estética, pero es crucial para eliminar las bandas de color, mediante la introducción de ligeros cambios de color entre los valores que no pueden ser representados por una salida de 8-bits.
Comparando las imágenes, podemos ver la diferencia entre la imagen final de Fusion (mas real) y la de Nuke (mas caricaturesca).
Como comentábamos anteriormente, gracias a Re-iluminación, mejorar nuestra toma no tiene que limitarse a la corrección y efectos de color. A pesar de que las técnicas son diferentes en Fusion y Nuke, ambos utilizan los mismos pases AOV, así que vamos a entenderlos un poco mas detalladamente.
El AOV llamado World Position o Wp, guarda en data (vector) la geometría en relación a la posición en el espacio del "mundo" de la escena. Esta data también puede ser codificada en el espacio de la "cámara", pero la necesitamos en el espacio del "mundo" para que conserven su posicionamiento global independiente de la animación de la cámara. Esto significa que podemos escoger un valor de píxel en la composición y este representará una posición absoluta en el espacio, lo cual es crucial para hacer máscaras 3D, re-iluminación, etc ...
Como podemos ver, estos AOV's pueden ser difíciles de visualizar en su forma RAW (data), a veces incluso invisible (como es el caso de la profundidad Z), pero estos valores se pueden reordenar a un rango de valores razonable (de 0-1 por ejemplo) mediante la normalización de estos valores en composición (Normalized). Cada software tiene una forma de normalizar valores (Fusion tiene un normalizador incorporado en el visor, por ejemplo), pero la normalización sólo debe utilizarse para fines de visualización, ya que la aplicación necesita los datos en su formato original RAW para usarlos correctamente, por lo tanto nunca normalizes la data de AOV dentro de las operaciones de composición.
Consejo
Si no puedes visualizar cierta data, no te preocupes, tu compositor igual la pueda usar.
Nuestro World Normal AOV o Wn tambien esta en espacio del "mundo" y le comunica al compositor acerca de la superficie de nuestros objetos, o la dirección de un punto en el espacio de la escena. El compositor necesita esta data para determinar las características de las superficies que esta re-iluminando.
Tambien usamos el tradicional pase AOV de profundidad Z ( Z Depth). Los pases Z han sido usados por muchos años como un truco parahacer neblina, desenfoque de lente, perspectiva atmosférica entre otros trucos en composición. En nuestro caso, lo estamos usando para que el programa de composición entienda la profundidad de la escena.
Consejo
Es muy importante renderizar nuestros AOVs o pases con la mayor profundidad de colores y la menor compresión posible, para que así tengamos rangos amplios y asi los mejores resultados posibles.
Ahora que entendemos los AOVs de data un poco mejor, veamos como podemos usarlos en Fusion y Nuke.
En Fusion, al igual que Nuke, podemos usar nuestra data de 32-bits por canal de forma nativa. A pesar que no hay una herramienta dedicada a la re-iluminación con luces en 3D, Fusion tiene una colección de herramientas de volumen, que al juntarlas con la herramienta 2D shader nos da la posibilidad de hacer lo mismo y aun mas. Como discutimos anteriormente, estamos usando los AOV Wp, Wn y Z. Esto va a darle toda la información necesaria a Fusion.
A diferencia que Nuke, Fusion puede interpretar información de Posición y Normal sin tener que crear los canales, asi que solo hay que convertir la data a canales de color.
Para convertir la data a color, necesitamos usar la herramienta Channel Booleans. Esta herramienta puede efectuar muchas operaciones matemáticas, pero nosotros solo vamos a usar la opcion de Aux Channels ,donde vamos a poder redireccionar la data en nuestros AOVs a ciertos canales auxiliares. Para lograr esto necesitamos prender la opcion Extra Channels donde podemos reasignar la data al canal auxiliar deseado. dentro del menu, podemos elegir los canales entrantes, en este caso vamos a redireccionar los canales r, g, b a los canales x, y, z respectivamente, para Normal y Position. El canal auxiliar Z buffer leera la luminancia (o lightness) entrante en el canal Z. Cada redireccion necesita su propia herramienta Channel Booleans.
Como podemos ver en la imagen siguiente, el pase final (beauty) es seguida por todos los pases de data, para que asi la informacion siga pasando por la composición.
Una vez que tenemos la data, podemos empezar a hacer nuestras mascaras de volumen usando la herramienta VolumeMask. Podemos elegir la posición para nuestra máscara, al arrastrar el icono "Pick ..." sobre la ventana que contiene la imagen de la herramienta VolumeMask. Podemos hacer esto de forma interactiva, lo que nos ayudará a modificar el porte de la mascara.
La máscara resultante es recortada por el canal alfa de la imagen principal (Beauty), con el fin de limitar las operaciones de Re-iluminacion al cerro.
Teniendo las mascaras de volumen donde las queremos, podemos utilizar varios métodos para cambiar la imagen original. Uno de los métodos es el uso de una herramienta llamada Shader. Los controles son muy similares a los del propio nodo de Re-Iluminacion (Relight) en Nuke, excepto la herramienta de Shader de Fusion es 2D y no tiene forma de ajuste en 3D. La herramienta compensa estas limitaciones ajustando la altura y el ángulo de reflexión. También podemos añadir una imagen de reflexión, si es necesario.
Al igual que Nuke, el principal método para re-iluminar es el uso de herramientas de corrección de color para modificar la saturación, tono y gamma de la imagen original. El hecho de que estamos utilizando imágenes 32-bits nos permite obtener una imagen limpia y sin bandas de color o artefactos, a pesar de que la estamos modificando bastante, porque nuestro rango de color y gama de colores es muy amplia.
Nuke ofrece re-ilumacion verdadera, donde luces de 3D pueden interactuar con un nodo Relight con la capacidad de modificar el valor diffuse y specular del shader.
Para que Nuke interprete la data de color en los AOV, tenemos que cambiar el color de las imágenes a data de Position, Normal y Z. Para transformar el color a data, vamos a utilizar un nodo de copia (copy), pero primero necesitamos crear un nuevo layer de Position y Normal, debido a que no están disponibles.
Para crear un nuevo layer, tenemos que utilizar el visor Nuke o un nodo Relight. Por ejemplo, crea un nodo Relight y en el menú desplegable elige new (para un nuevo layer). Aquí vamos a hacer un layer llamado Normal y vamos a asignar a cada canal (r, g, b) el canal correspondiente. Siga el mismo procedimiento para un nuevo layer llamado Position.
Después de hacer estos nuevos layers, Nuke los hará disponibles en los nodos de copia ( copy), lo que permite usar los AOV Position y Normalpara uso en re-iluminación.
Como podemos ver en la imagen siguiente, necesitamos conectar un shader en el nodo Relight, así como las luces y data de la cámara. Estamos utilizando la geometría de la escena en formato FBX para ver una simple representación de esta mientras colocamos nuevas luces. vale notar que el nodo Relight funciona sin la geometria, pero se recomienda para un resultado mas consistente con la imagen original.
La salida del nodo Relight tendrá información de shading (diffuse y specular), pero en lugar de depender de los resultados del shader, convertiremos la imagen resultante en una máscara de luminancia, la cual usaremos para corregir el color de nuestra imagen.
Consejo
No se olvide de activar la caja "use alpha" en el nodo Relight, para que el efecto solo sea efectivo dentro de los límites del canal alfa.
El uso de Composición en 3D ha ido en aumento en los últimos años. Compositores 2D tradicionales como Shake carecian de herramientas 3D, pero aplicaciones como Nuke y Fusion tienen motores 3D integrados, lo que permite al usuario ampliar las limitaciones de composición en 2D y cerrar la brecha entre la producción y post-producción.
Se utilizó la composición 3D para componer la imagen del cielo con nuestra tetera de nube y añadimos algunas partículas de polvo atmosférico en la escena.
El flujo de trabajo consiste en la exportación de la geometría en formato FBX y data de la cámara de Maya, con el fin de utilizar Fusion para generar partículas, el cielo y la nube con forma de tetera. Para ello, he exportado la cámara de maya en formato .ma, así Fusion leerá las curvas de animación de forma nativa. Fusion también soporta archivos de formato Alembic, por si necesitamos importar nuestra vegetación para obtener una mejor representación de la escena si es necesario.
Nuke sigue muchos de los mismos principios para la importación de datos como Fusion, pero no puede importar archivos Maya .ma para la cámara, por lo que necesitamos generar archivos FBX para nuestra cámara. Debido a la interpolacion de data que ocurre en las curvas de animación, lo mejor es hacer bake a la animación de la cámara antes de exportar, lo que crea un valor por cada cuadro y evita interpolar curvas.
Consejo
Para asegurarse de que la cámara coincida 100% en composición, hay que cambiar el "Film Aspect ratio" de la cámara a el mismo valor que el "Device Aspect Ratio" en los "Render Settings" en Maya. En nuestro caso, este valor es 1.850. Desafortunadamente Maya siempre crea las cámaras con un valor de 1.50, por lo que siempre hay que cambiarlo!
Para crear nuestro cielo, asignamos una textura a un nodo Image Plane con una imagen de textures.com, con el mismo método, hemos añadido nuestra nube con forma de tetera en nuestro cielo. Las nubes de fluidos que creamos en Maya añaden el toque final al cielo.
En la siguiente imagen podemos ver cómo el uso de simple geometría nos ayuda a representar nuestra escena, así somos capaces de posicionar nuestras partículas y juzgar mejor el espacio donde nuestro cielo se ve mejor. Es crucial tener una buena relación espacial para representar el paralaje necesario. No tener la geometría de referencia podría llevar a posicionar el cielo demasiado cerca, asi visualmente reduciendo el tamaño de la escena, porque no hay suficiente cambio de perspectiva.
Consejo
Asegúrese de usar FBX en lugar de OBJ para la exportación de la geometría, ya que permite la lectura de la data mas rapidamente y nos da muchas más opciones para la interpretación de la escena 3D en Fusion.
A pesar de que opté por no usar Deep Images (imagenes con canal de profundidad) en TGT, se han convertido en una parte muy importante de muchas producciones de efectos visuales. Cuando empecé The Grand Tour, la molestia en el flujo de trabajo sobrepasaba los beneficios. Esto ya no es el caso, ya que tanto RenderMan como Nuke tienen una muy buena integración. Veamos cómo usar Deep Images puede ser de gran ayuda.
Deep Compositing se refiere al uso de Deep Image Data como parte del proceso de composición para combinar elementos dentro de elementos transparentes, intercalados, volumétricos o dispares que de otro modo serían imposibles de combinar con una composición tradicional de 2D. En otras palabras, en softwares como Nuke, podemos utilizar Deep Image Data para componer objetos a través de piel, vidrio, nubes, hojas transparentes, etc., sin ninguno de los trucos que limitan a las técnicas tradicionales de composición como el uso de mapas Zdepth, donde el filtrado, transparencia y precisión de sub-píxeles son un problema.
Para general Deep Data en RenderMan for Maya necesitamos seguir algunos pasos simples, como se describe en la documentación.
A continuación se muestra la visualización de la data Deep Image dentro de Nuke. Estamos utilizando un nodo DeepReColor para componer la imagen principal y la data de Deep Image, luego pasamos la información a un nodo DeepToPoints para visualizar la data en 3D. Esto es crucial para posicionar nuevos elementos en la composición, por ejemplo unas luces y un texto, pero es importante acordarse que es solamente para visualizar, no es parte de la composición final.
El nodo DeepMerge será el nodo de composición (merge) principal para la data Deep Image,Nuke lo hace facil. Despues convertimos esta data Deep a data tradicional 2D con un nodo DeepToImage.
Podemos usar la data de puntos (DeeptoPoints) para posicionar con precisión nuestros elementos 3D y cualquier iluminación necesaria para la escena. En esta escena de ejemplo, tenemos un simple logo de RenderMan mapeado a una tarjeta en 3D. Estamos iluminando el texto con varias luces en Nuke tipo point light para simular la direccionalidad de la luz en el render original y la iluminación indirecta de las coloridas paredes saturadas.
Y voila! Nuestra imagen final con nuestro logo de RenderMan se compuso a través de la geometría de intersección. Tambien podemos iluminar nuestro logo para compensar la falta de iluminación indirecta (GI) en la composición.
Cuando estas terminando una imagen, es muy importante tratar cualquier problema pendiente, como la bandas de color (Color Banding), la adaptación al grano presente en el pietaje o simplemente añadir una viñeta para simular una luminancia desigual en el lente. La cantidad de efectos necesarios en una imagen o toma puede variar dependiendo de la complejidad y la ambición del creador, pero por sobre todo, el color debe ser siempre una prioridad. Es por eso que la corrección y modificacion de color son una parte muy importante de cualquier proceso de post-producción.
Color Correction (Correccion de Color) manipula colores y valores a un estándar en una secuencia, efectivamente modificando los valores mínimos, medianos y máximos a un cierto rango y valor que permitirán que una secuencia se vea cohesiva. Esto ayuda a crear consistencia a lo largo de una secuencia de tomas. Para una película, esto también incluye balance de blancos y sincronización de color químico, pero en nuestro caso, digitalmente se puede crear un balance de blancos más predecible, por lo tanto la Corrección de Color normalmente se limita a nivelar la luminancia y saturación a las tomas filmadas (pietaje). En el caso de nuestra imagen o de una tipica produccion animada, la corrección de color puede ser mucho más sencilla.
Color Grading (Manipulacion de Color) es la última transformación de color de una imagen y por lo tanto nuestra última herramienta creativa visual. Sirve como una manera de modificar nuestro equilibrio del color en los niveles bajos, medios y altos y asi dar una nueva gama de colores a nuestra imagen para crear una nueva estetica o tono emocional, generalmente atada al avance de la historia. En nuestro caso estamos utilizando una paleta de colores cálidos, por lo que nuestros medios y altos se desplazan hacia el naranja y el amarillo, mientras que los bajos se desplazan hacia el azul para complementar los tonos de color naranja y resaltar el calor del sol.
Consejo
Nota las diferencias entre la corrección de color y la Manipulacion de color, la primera se ocupa del color técnicamente y la otra es una herramienta creativa.
Agregar grano de película fue crucial para alcanzar una estetica mas tradicional de pietaje con negativo. Teniendo en cuenta que muchas herramientas de simulacion de grano dan resultados monocromáticos o distribuido uniformemente, me aseguré de ajustar el tamaño, la intensidad y la cantidad de grano en cada canal de color, con el fin de simularlo mejor. Esta es una de las herramientas donde realmente vemos las ventajas de trabajar con la correcta gestión del color (Color Management), porque al trabajar con una curva de respuesta logarítmica, el grano variará su intensidad a medida que cambia la exposición de la imagen, y gracias al amplio rango de valores ayudamos a la curva de registro a simular el pietaje de películas con mucha mayor precisión.
En la imagen de abajo, podemos ver las diferencias de trabajar con imagenes tradicionales de 8 bits y de punto flotante. En la imagen de 8 bits se aprecia una respuesta de grano equitativo a travez de la imagen, lo que lleva a un grano de película desagradable y destructivo a la imagen, mientras que la segunda imagen produce resultados sutiles y con diferencias en los valores, ayudando al realismo de la simulacion.
Para mantener la imagen de acuerdo con nuestra estetica retro-futuro, le dimos a nuestra imagen una ligera aberración cromática en los bordes de la imagen, esto simula una película de época (vintage) donde la convergencia de color no era tan precisa y creaba cambios y difuminado de canales y franja púrpuras. Podemos conseguir este efecto en post-produccion cambiando cada canal de color (RGB) muy levemente en direcciones opuestas, creando asi un cambio en color. Este efecto puede llegar a ser más exagerado con lentes más anchos, antiguos o de menor calidad, incluso difuminando algunos de los canales, pero tenemos que aplicarlo muy ligeramente para que no degrade la imagen a un nivel inapropiado. Muy importante notar que estamos limitando estos efectos usando una máscara para sólo afectar los bordes de la imagen, que es usualmente donde los lentes distorcionan la imagen.Para la composicion de Fusion, usamos aberración cromática de la herramienta Krokodove.
Un Lens Flare (artefacto de resplandor) es un artefacto del iris del lente cuando la luz se filtra dentro del lente de la cámara y dentro del diafragma, por eso usualmente tenemos artefactos en forma de hexágono u otras formas geométricas que coinciden con la forma del diafragma de la lente. Utilicé un Lens Flare en ciertos momentos de la animación para añadir realismo a la toma (aunque sea una criatura peluda montando un aerodeslizador...), utilicé el brillo del vidrio de la nave como mi fuente para el resplandor. Este efecto necesita ser sutil, porque los elementos brillantes y móviles pueden ser muy distractivos, especialmente las formas abstractas como estas. Este efecto puede ser muy útil para crear un sentido de realismo, porque asociamos tales artefactos con un lente de cámara real ... y los productores piensan que es genial ...