Script to blacken all objects except emissive for glow mask compositing
https://sites.google.com/site/mcasualsdazscripts9/mcjallblackexceptemissive
______________________________________________
Run the script
Click the "Do It" button
all materials except those with the 'Emissive' tag will have their Diffuse Color turned black
you can undo this after exiting the script
Edit / Undo / mcjAllBlackExceptEmissive
render the emissive-only scene from the same camera as your real render
use your favorite paint program to gaussian-blur the emissive-only render
push the lightness and contrast up
layer this on top of your real render using for example the "screen" effect
mcjAllBlackExceptEmissive.dsa.png
364 x 364 - 221K
tahiti17enhanced.png
1080 x 1920 - 3M
tahiti17.png
1080 x 1920 - 3M
darkness.jpg
540 x 960 - 16K
Post edited by mCasual on
Comments
Thank you!!
You wizard! Cool stuff!
Nice, very useful. Thank you
I was unaware of this until it was just pointed out by juvesatriani
When I try to use the script, it gives out this error in the log;
"2021-10-12 20:30:20.353 WARNING: Script Error: Line 98
2021-10-12 20:30:20.353 WARNING: ReferenceError: Can't find variable: black"
I assume this is due to my system language being finnish?
yes does the same on mine
it's a programming error on my part
i tested it without closing daz studio
and daz studio remembered that earlier that day i defined black as being DzColor( 0, 0, 0 )
so when i did my test, and some part of the program asked "what is black" daz studio replied "i know i know it's DzColor( 0, 0, 0 )"
but when you tested the script, your Daz Studio never heard of "black"
the solution was to copy line 64 of the script which reads
var black = new Color( 0, 0, 0 ) ;
and paste it at line 83 of the script
so later in the program execution, when the script asks "what's black" Daz Studio will know
i will post the update in about 20 minutes
note that this is an old script, from before iRay, so some shaders like those in the NVIDIA MDL Example shaders wont get blackened
Some of those shaders dont have a diffuse color property so the script cant make them black like other shaders,
all the Uber iRay shaders sould work fine
another thing that would need to be fixed is that the glossy color seems independant of the diffuse color
so shiny objects will be visible even if their diffuse color was made black
This script, and the tecnique work great for filament renders!
For some reason I can't attach an image, so head to my gallery for a preview of what I did with it.