1
$\begingroup$

I have been building my own pipeline on top of Blender for a few months to make my own short film and am at a point where I think I need to take a real deep dive into blender dev. I come from a vfx background in the lighting and rendering department where my main package is Foundrys Katana. I am also a TD who writes tools for both Katana and RV as well as a few standalone wrappers and UIs.

Before I get into please don't take this as me hating on Blender. I plan to develop some sort of tooling or workflow to accomplish what I need but wanted to post here to get some ideas before I get underway. I have ran into two problems.

The first is a lack of what seems to be a per object attribute setting type of system. In Katana our scene is made up of nodes that can be turned off and on based on Graph state Variables (Do we have anything like this Blender?). These are basically values that control the active input of a switch node. Common variables we use at my studio are "Shot", "Resolution" and "Quality". This means I can describe to the scene some sort of logic like this,

If my renderLayer variable is == "char_boy_beauty" then switch to input port 3

In input port 3 I will have a node connected that uses a cel statement to traverse the hierarchy of the scene (cel statements look like this "/root/world/geo/chr/boy/geo/head//*" to gather all objects under this part of the outliner), gather any items that have been described and apply some attributes to it. These attributes might be mesh ray flags for example. So on a specifc renderLayer I can say I want this mesh to be invisible to the camera. Blender has these flags but it doesn't seem like the selections hold between view Layers. This is something so incredibly usefull to people who create templates and manage large scenes. At my company I am working on a small show with one character at the moment. This character has been split into 6 or 7 different passes each with different groups of nodes that define what the final pass should contain. https://learn.foundry.com/katana/dev-guide/CEL.html

Katana Pixar render Node

The second issue I am having is with the current Render Layer system. I need to create a seperate view layer and then can only turn off the indirect contribution of an entire collection? This creates dramatic issues when trying to render different passes as I simply need per mesh control. How are other artists doing this? How are studios creating defocus control for comp or outputing auxilery outputs for a character? As an example, in Katana our asset team can create a bunch of different shading variants within one shading network and pass lighting an attribute that we can turn to a particular value to give us a rugged, clean, dirty or wet version of an asset.

When creating render outputs in katana I can create as many renderLayer Nodes as I want and name them anything (Pipeline will usually handle versioning and legal pathing) and control what is in each pass based on which renderLayer I am currently evaluating the scene from.

The Idea

I want to create a tab/window/panel like the shading or geometry nodes tab that is similar to katana. It would be a node based renderLayer workflow for blender. You could evaluate the scene from each node. I would make basic nodes like "delete", AttributeSet and Render Layer output Nodes. Essentitally something like below but with an extra ui option for creating and managing Graph State Variables. Where should I start with this? I can pick things up reasonably quickly but just need someone to point me in the right direction. Any help with this would be greatly appreciated, Thanks! enter image description here

$\endgroup$
1
  • $\begingroup$ I was thinking more on this overnight and decided I probably don't need the switches at the moment just being able to have a node like stream per renderLayer would be very effective. $\endgroup$
    – Jwood
    Commented Jun 4 at 22:10

0

You must log in to answer this question.

Browse other questions tagged .