aov_krakout v3.1

This location is for Registered Users Only.
Perhaps you need to login or register.
Contributor: Daniel Harkness
Creates a tree of lightgroups or illumination passes and recombines them.
13.1, 13.0, 12.2, 12.1, 12.0, 11.3, 11.2, 11.1, 11 or later
Linux, Mac, Windows
29 May 2022

Creates a tree of lightgroups or illumination passes and recombines them.

aov krakout screenshot

Install instructions

Install into somewhere nuke can find it (~/.nuke is fine for single user)
Paste contents of aov_krakout.nk into nuke.


krackout to: (direction) >> break out tree to left or right

x grid units: (xgu) >> this is the amount of horizontal working space generated between each aov

y grid units small: (ygu_small) >> vertically space out dots and shuffles Y grid units

y grid units large: (ygu_large) >> this is the amount of vertical working space generated

aov pattern: (aov_pattern) >> Uses a bash style query system for searching AOV layers. Comma delineated. AOVs will vary depending on show and facility.

half x grid units for ^/ queries: (x_half) >> Use half the amount of horizontal working space between each aov if dividing or multiplying one AOV by another using the '/' or '^' query terms.

subtract sum of aovs from rgb: subtract_aovs >> Gather up any left over data that wasn't captured by the renderer by subtracting the queried AOVs from the rgb. Useful for debugging lighting. Final production renders should not need to use this functionality.

krakout! (krackout) >> Create the nuke tree.

Pattern query syntax:

, >> separates each AOV search query
/ >> divide AOV by another AOV and multiply back together
^ >> multiply AOV by another
! >> exclude this AOV
* >> wildcard to capture multiple AOVs - works with /,^,!
$ >> parse an environment variable

Pattern query examples:

lg*,!lg0 >> Fetch all AOVs starting with 'lg', ignore 'lg0'.

light/diffuse,reflect,refract_raw^refract_filter,spec,gi >> Explicitly break out some aovs. Divide 'light' by 'diffuse' multiply 'refract_raw' by 'refract_filter'.

$char_aovs >> Parse an environment variable 'char_aovs'.


This is free and unencumbered software released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to
Please login in order to download these files.


0 # yuri carrara 2018-11-29 18:12
this is very nice! do you think it's possible to add a leftover pass?
In order to get it, my idea would be to take(plus) all the shuffles together, then subtract the rgba by them.

it will be great to get an identical image at the end of the aov breakout
0 # Daniel Harkness 2022-05-29 06:41
It now has this feature. I'm not a fan of subtracting the passes from the rgb, because if you're not getting an identical image, something should be fixed in the surfacing or light grouping. As a way to debug lighting, or for using borked light renders at delivery, the feature could be useful.
0 # Alex Thorn 2023-01-18 22:22
This is rewlaly nice. You think it would ever be possible to extend this by giving controls on a group for it. so its inside a gizmo with controls for exposure, saturation and colour and stuff on the node itself for quick adjusting?
0 # Eric Christensen 2023-08-30 20:58
Is there a way to create a gizmo for this so I don't have to drag in the nuke file each time? Newbie at plugin and zero python knowledge, so any help appreciated.

You have no rights to post comments

We have 2340 guests and 54 members online