Mantra Auto Per Light Bundle Exports

Setting up passes for your render can be a pain especially if you want per light bundle exports. Houdini does not support this by default (as far as I know) and making a tool that does this has always been something I wanted to do. Recently I achieved that result using SOHO (Script Output of Houdini Object) and a custom version of the Mantra node.

A screenshot of the Auto Planes Setup in Houdini

Today I just want to explain it, later I will upload a completed version of it to our git.

I started with the wanting to achieve a few things when creating a version of the Mantra node. 

  1. Automatic Per Light Exports
  2. Per Light Exports that respect bundle groupings.
  3. Allow for the AOVs to be dumped into another file.
  4. Allow it to work with a Vanilla Mantra node.

Luckily 1 and 3 were already almost complete as Houdini Supports per like exports and dumping AOVs to another file. The problems really like with 2 and 4. Exporting a pass per light is possible, exporting a pass per light bundle is not. This has surprised me as I love light bundles because it allows me to group a bunch of lights under "KEY" or "FILL" and expecially in a large scene with 10+ lights I do not want a pass for each light per component as that could mean 20-50 different layers and that is a little much to manage.

Solution:

Create Custom Render Parameters and use SOHO to export predefined passes during IFD Generation.

Screenshot of my default passes

First I needed to define some passes. I did this inside of a yaml file. In there I defined a number of attributes per pass including whether it supported light exports.

Next I created the Custom SOHO Parameters. There is not a lot of documentation on this but its as simple as create a file that defines from render properties. I have to do this because when the IFD generation occurs on render parms are attainable (easily) .

Finally, I had to create a IFD hook that ran after the default plane generation, during this hook I also set it up so it exports out AOVs (seperated into DATA and LIGHTING) to a different file. I just prefer that workflow. Addtionaly I take this moment to group the lights by their light bundles. If the light does not have a bundle just my a layer with its own name. This ensure that bundle groups will be respected but they can be mixed with non-bundled lights.


3 Skills Every FX Artist Needs!

3 Skills Every FX Artist Needs!

Its no mystery that creating captivating effects is an extremely technical role. It requires complex problem solving and a studious lifestyle. An effects artist requires a lot of skills but here are 3 skills you should have in your arsenal.

Read More

PLUME: ILM's GPU Created FX

PLUME: ILM's GPU Created FX

Ever wonder how ILM creates the magical explosions, dust, and volumetric? What makes there system tick? Plume. ILM has always been, what I consider, the embodiment of what FX is, the combination of art, technology, and passion. Plume is proof that when Engineers and Artists get together they can create some amazing works and why I believe studios and artist should look to the RND Teams to create the tools they need/want.

Read More

Quick Tip #3: Houdini | Efficent Debris Stamping

Quick Tip #3: Houdini | Efficent Debris Stamping

Creating Debris is an essential part of being an Houdini Artist. Learn to create efficient debris simulations in this weeks quick tip for Houdini! We will explore three method to instancing and stamping debris geometry onto our particle sims! We will use some simple expressions and little bit of Pack Primitives to improve the performance of copying our debris to our particles.

Read More

QUICK TIP #2: NUKE | Automatic Render Directories

QUICK TIP #2: NUKE | Automatic Render Directories

Sometimes we just do not have time to create our directories and having nuke error on the farm or when rendering locally can be a real headache. Todays Tip is about Creating Automatic Directories in Nuke using Python. We setup a environment where the write path is create automatically at render time! This is designed to work locally or on a server farm!

Read More