arnold

Arnold interoperability by Xuan Prada

In this video I will guide you trough arnold operators in both Maya and Houdni to show you advanced methods for creating looks, and potentially anything arnold related. Working with arnold operators can be very beneficial in your visual effect pipeline, among other things you are going to be able to transfer "for free" pretty much anything from one 3D package to another, in this case from Maya to Houdini and vice-versa.

These days it is very common to work in a traditional 3D package like Maya while creating assets and then moving to a scene assembler like Houdini or Katana to do shots. With this workflow you are going to be able to do so in a very clean, tidy and efficient way.

On top of that, I'm going to show you how to create look files that can be easily exported to use in lighting shots, independently in Maya or Houdini. You also are going to be able to override looks, versioning looks in Shotgun and many more things.

This is a two plus hours video tutorial posted on my Patreon feed.

Thanks a lot for your support.
Xuan.

Lighting a full CG shot in Houdini, part 02 by Xuan Prada

Hello patrons,

I just finished the second video for Lighting a full CG shot in Houdini, if you are a patron you will find it in the next private post. This is the content that we will go through in the video for almost three hours.

- Introduction to ACES in VFX. We will talk about the basics of ACES, why it's important for your productions, how to set it up in Houdini, Arnold and Nuke.

- CG lights. I will show you how we usually deal with CG lightings in relationship with principal photography. We will talk about the most common lights used while lighting a CG shot and the purpose of each of them. A very quick introduction to cinematography for VFX.

- Finally, we will jump into Houdini to create a master lighting template that you would be able to re-use in your shots. We will establish a tidy structure that will enable you to work straight away in Houdini. We will create smart bundles to setup automatically your render passes, and finally we will see how to use operators, probably the most powerful render feature ever!

Here the link to the episode.

Thanks for your support!
Xuan.

Render mask in HtoA by Xuan Prada

This is how to setup a render mask, or render patch, or whatever you want to call it, in Houdini using Arnold.
Render patches are generally used when a high cost render needs a fix that only affects to a small portion of the frame, or when most of the frame is going to be covered by a foreground plate.

In these scenarios there is no need to waste render time and render the whole frame, but just what is needed to finalize the shot.

  • This is the scene that I’m going to use for this example. Let’s pretend that we have already render 4k full range of this shot. All of the sudden we need to make some changes on the rubber toy screen left.

  • The best way to create a render mask is using Nuke. You can use an old render as template to make sure everything you need in the frame is covered by the mask. Rotopaint nodes are very useful specially if you need to animate your mask.

  • Create a camera shader and connect the render mask to its filter map.

  • Connect the shader to the camera shader input of the camera, in the Arnold tab.

  • If you render now, only the mask area will be rendered, saving us a lot of render time.

Huge limitation, that I don’t know how to fix and I’m hoping for someone to throw some light on this topic. If you are rendering with overscan, this won’t work nicely, let me show you why.

  • I’m rendering with a 120 pixels overscan, I know is generally speaking a lot, but I just want to illustrate this example very clearly.

  • Now if you render the same overscan with the render mask applied, you will get a black border around the render. Below is the render patch comped over the full frame render.

I’m pretty sure the issue is related to the wrap options of the render mask. By changing the wrapping mode you will get away of this issue in some shots, but in an example like the one on this post, there is no fix playing with the wrapping modes.

Any ideas?

You can definitely use the camera crop options and it will work perfectly fine, no issues at all. It is not as flexible as using your own textures, but it will do in most cases.

Mixing displacement and multiple bump maps by Xuan Prada

A very common situation when look-deving an asset is combining various displacement and bump maps. Having them in different texture maps gives you the possibility to play with them and making very fast changes without going back to Mari and Zbrush and waste a lot of time going back and forward until reaching the right look. You also want to keep busy your look-dev team, of course.

While ago I told you how to combine different displacement maps coming from different sources, today I want to show you how to combine multiple bump maps, with different scales and values. This is a very common situation in vfx, I would say every single asset has at least one displacement layer and one bump layer, but usually, you would have more than one. This is how you can combine multiple bump layers in Maya/Arnold.

  • The first thing I'm going to do is add a displacement layer. To make this post easy I'm using a single displacement layer. Refer back to the tutorial I mentioned previously on this post to mix more than one displacement layer.
  • Now connect your first bump map layer as usual. Connecting the red channel to the bump input of the shader.
  • in the hypershade create a file texture for your second bump layer. In this case a low frequency noise.
  • Create an avergage node and two multiply nodes.
  • Connect the red channel of the first bump layer to the input 1 of the multiply node. Control the intensity of this layer with the input 2 of the multiply node.
  • Repeat with previous step with the second bump layer.
  • Connect the outputs of both multiply nodes to the inputs 3D0 and 3D1 of the average node.
  • It is extremely important to leave the bump depth at 1 in order to make this work.

RAW lighting and albedo AOVs in Arnold by Xuan Prada

If you are new to Arnold you are probably looking for RAW lighting and albedo AOVs in the AOV editor. And yes you are right, they are not there. At least when using AiStandard shaders.
The easiest and fastest solution would be to use AlShaders, they include both, RAW lighting and albedo AOVs. But if you need to use AiStandard shaders, you will have to create your own AOVs quite easily).

  • In this capture you can see available AOVs for RAW lighting and albedo for the AlShaders.
  • If you are using AiStandard shaders you won't see those AOVs.
  • If you still want/need to use AiStandard shaders, you will have to render your beauty pass with the standard AOVs and utility passes and you will have to create the albedo pass by hand. You can easily do this replacing AiStandard shaders by Surface shaders.
  • if we have a look at them in Nuke they will look like these.
  • If we divide the beauty pass by the albedo pass we will get the RAW lighting.
  • We can now modify only the lighting without affecting the colour.
  • We can also modify the colour component without modifying the lighting.
  • In this case I'm color correcting and cloning some stuff in the color pass.
  • With a multiply operation I can combine both elements again to obtain the beauty render.
  • If I disable all the modification to both lighting and color, I should get exactly the same result as the original beauty pass.
  • Finally I'm adding a ground using my shadow catcher information.

Subdivide multiple objects in Arnold by Xuan Prada

As you probably know Arnold manages subdivision individually per object. There is no way to subdivide multiple objects at once. Obviously if you have a lot of different objects in a scene going one by one adding Arnold's subdivision property doesn't sound like a good idea.

This the easiest way that I found to solve this problem and subdivide tons of objects at once.
I have no idea at all about scripting, if you have a better solution, please let me know :)

  • This is the character that I want to subdivide. As you can see it has a lot of small pieces. I'd like to keep them separate and subdivide every single one of them.

Model by SgtHK.

  • First of all, you need to select all the geometry shapes. To do this, select all the geometry objects in the outliner and paste this line in the script editor.

/* you have to select all the objects you want to subdivide, it doesn’t work with groups or locators.
once the shapes are selected just change aiSubdivType and aiSubdivIterations on the attribute spread sheet.
*/

pickWalk -d down;

string $shapesSelected[] = `ls -sl`;

  • Once all the shapes are selected go to the attribute spread editor.
  • Filter by ai subd.
  • Just type the subdivision method and iterations.
  • This is it, the whole character is now subdivided.