!!! info ""
GradeBeauty provides artist friendly controls to manipulate multichannel cg render passes
The GradeBeauty design is purposely utilitarian and simple.
- Dynamic reconfiguration
- based on layers found connected to its input
- categorization of found layer names based on what is defined in the configuration files
- Color knob change behavior
- reflected on the related multichannel layers
- the beauty pass is simultaneously rebuilt with the modified layers
"beauty shading" collapsed | "beauty shading" uncollapsed |
---|---|
![]() |
![]() |
Lighters can use it with the light_group LayerSet to :
- Tweak light group values or animations, (flicker matching)
- Use two nodes, one in multiply mode, and one in stops mode to mimic to the exposure/gain decoupling
- Send the values back to their cg application !
Compositors:
- Same as above for the lighters, but also share settings easily across multiple shots/artists.
- Cloning the node for global control, if that's possible.
- Use roto/cryptomattes to polish, fix, or address client notes quickly without re-rendering
- If using beauty_shading style, try to use the main controls over individual aovs, unless you have a specific need to (like zeroing it out)
knob name | type | what it does |
---|---|---|
layer_set | enumeration | decides which beauty LayerSet method to use, only found sets will be visible |
target_layer | enumeration | selects which layer to pre-subtract layers from (if enabled) and add the modified layers to |
math_type | enumeration | selects the color knob preference |
subtract | bool | controls pre-subtracting the LayerSet from the target layer |
black_clamp | bool | clamp negative values from all output layers |
reset values | button | resets all color knobs to their defaults |
PixelIop Knobs
knob name | type | what it does |
---|---|---|
maskChannelInput | bool/ChannelKnob | selects which masking channel to use |
unpremult | bool/ChannelKnob | unpremults each relevant layer by this channel |
mix | float | mixes in input with the result |
math mode | what it does | value processing explained | notes |
---|---|---|---|
multiply | acts like a chain of multiply nodes | master * all global contributions (if any) * layer | since the layer is multiplied last, you can also use this mode to disable the layer |
stops | same math as the Nuke exposure node for each layer | it adds all contributions and then does the exposure conversion | if master is set to 1.0 and the layer is set to 0.0, this means (1.0 + 0 .0) = one stop over |
The purpose of the subtract knob is to make sure that the output will always match the beauty render, even if some aov layers are missing in the beauty render.
This can happen, so it is enabled by default.
value | what it does | notes |
---|---|---|
enabled | the additive sum of the chosen LayerSet is subtracted from the target layer before recombining with this node's modifications | this means any difference between the target layer and the render layers is kept in the final output |
disabled | bypasses aov/target layer pre-subtraction | when this is disabled, it replaces the target layer with the result |
!!! info ""
If enabled and you completely remove layers, it's possible that you get negative values when
completely removing aovs AND subtracting. In this scenario, enable black_clamp
The purpose of the black_clamp knob is to make sure that the output pixels always are alaways positive.
value | what it does | notes |
---|---|---|
enabled | no negative values are passed to the output | in the odd case that you need to stop negative values this will do the job |
disabled | bypasses aov/target layer negative clamping |
LayerAlchemy includes arnold configurations by default
Arnold can separate the beauty render components in various ways.
The following type are natively supported with the default aov naming :
layer set name | contents |
---|---|
beauty_direct_indirect | direct + indirect illumination layers only |
beauty_shading_global | shader components like the result of specular, diffuse, coat |
beauty_shading | this is a mix of the preceding, except that for each global, there are both direct and indirect aovs. For example, the Color Knob for direct affects all direct aovs |
light_group | recombine using seperated light contributions only (control over shading is lost) |
If a multichannel input contains any aov belonging to any one of these LayerSets:
- They will become available in the layer_set knob
- GradeBeauty will configure itself to reconstruct the beauty with the chosen LayerSet
- If a multichannel exr has light_group and beauty aovs, both LayerSets will be available
Your workflow can be different from what is included with this version.
- For cg layer names, the default configuration is Arnold 5 stock layer names only
- The configurations can be adapted to any additive type renderer
- To change this, you must simply modify the configuration files accordingly
- please read channels and topology if you want to know more, or need to tweak them