Save individual render layers to image files with this new add-on by Tamir Lousky.
Tamir writes:
This script was written so that anyone could easily render out all the render passes on all render layers into separate files, to composite in any program they would like to use (e.g. GIMP / Photoshop / Nuke / AE).
One of the concept / texture artists I work with asked for a quick way to do this, as he repeatedly had to save to individual images manually through the image editor, or to manually create and connect the renderlayer node's pass outputs into file output node/s in the compositor, both repetitive time consuming tasks.
The add-on automatically creates a file output node for each render pass on each render layer, so when you render, it will save the respective image files in the specified render output folder.
Here's a video demonstrating how the add-on works and its usage:
For further details about installation, usage, the script's development process and other stuff, you welcome to visit my blog.
To download the script, go to the github repository.
42 Comments
This needs to be made standard by Blender 2.68! Very simple but very useful! So time-saving! Great job! And thanks!
I'm going to personally nickname this as the "render-pass riverways." ^_^
I agree!
This is ingeniously awesome!
This is what i've been talking about for YEARS!... to my impression it's just lacking one thing, to make it create a folder for each renderlayer and inside that renderlayer each pass, that's a better organization and faster to work with.
Yeah, I started writing that but then realized it's impossible currently.
In Blender you can only create folders through the file browser window (and if you have one of these open and have to use it to create each folder, it's going to be tedious).
And if you use python directly to create folders, it's not going to work unless you give Blender root access, which is insecure.
So... this feature will have to wait until I find some other solution unfortunately.
You can use python to create folders. You can use system code to do that. Ive used this method an add i did on the rigify part.
here's a snippet from the blender internal addpreset code
makeDir is the new folder to be created
os.makedirs(makeDir)
I dont think it would be too bad to use Python to create directories, I do this all the time inside blender, using os.mkdir()
Thanks for this, i was working on something similar part of a RenderFarm manager script.
Really? And you don't get trouble with permissions?
I tried using this command on ubuntu and it failed due to lack of permissions, which is why I gave this up (most of the staff in our studio uses 'buntu)
say WHAT?!?!?! I use ubuntu every day, and I really see absolutely no reason why you could have permission to create files but not folders. It just makes no sense. If you have permission to write files to a directory, you should also have permission to make a subdirectory. Anything else just makes no sense. I've never heard of anything like that...
in what directory are you trying to make this new directory?
The folder I tried to create (via os.mkdir) was a subdir inside my home folder. It spewed out an error saying it had no permissions to create the folder.
I didn't really investigate it further since it didn't seem like an overly important feature at the time.
If you say it works nicely for you in the same operating system, I'll take another look at it when I have time.
I use Ubuntu, although I would would call myself an amateur. However, the one thing I picked up in your comment is the fact that you try to write it to your HOME folder. Could that not be the problem?
Have you tried writing it to a public folder?
Is your installation of Blender set with the same file and directory permissions as for yourself as a user? The two can be set differently after all and perhaps your specific install of Blender is more restricted... and apologies if you have already checked for this.
Yes, the folders has another user and group than blender, and the blender user has restricted permissions. This could probably be circumvented with some permission / group changes.
Hello, you have screw up your permission, it's not normal os.mkdir works correctly in blender as in any other python script. I'm in ubuntu since many years and never had problems with it.
run chown -R username:username dir
with dir being ~/.config/blender/2.66/scripts/addons (if you are using 2.66) and do it also for where you have installed your blender build (you may have copied over from other machines/installation with different owner/username)
and check for the execution bit of directories
in this way
ls -lR ~/.config/blender/2.66/scripts/addons |grep '^d' |grep -v 'drwxr-xr-x\|drwxrwxr-x'
do it also for your blender build dir, it should return nothing meaning all the dir and subdir have the execution bit set
Ciao
Eli
Yeah, that's what I imagined must have happened.
Will be tested and hopefully upgraded in the future.
Cheers Eli
sorry for the late reply...
yes i use os.mkdir on CentOS, mac and windows, all works fine within blender.
looks like other people have solved your problem below :).
Nice add-on. And the demo video is very good. It's explanatory and easy to follow and understand.
Thank You!
No problem, glad its helpful :)
Look like a great tool ! Thanks a lot !
I cannot cease my feeling of happiness for this long awaited feature :D Thanks a bunch!! It truly should be made standard.
mmmm
how do i download it ?
i was on https://github.com/Tlousky/production_scripts/blob/master/save_all_renderlayers_and_passes.py
but it doesn't appear download button
please help
Open the raw script here:
https://raw.github.com/Tlousky/production_scripts/master/save_all_renderlayers_and_passes.py
Then just save the file as through the web browser.
Cheers
hi Tlousky
your answer was very fast
i don´t know what to say
THANK YOU VERY VERY MUCH for everything
now i already downloaded it
GOD BLESS YOU
Hugs...
No problem dude, and thanks :-D
Looks very cool!
since I'm a noob in compositing I ask: doesn't the format open-EXR permit to save each render layer in one file? I think I heard something like that a while ago.
Yes, that's right. Open-EXR is great, but some programs (photoshop, gimp to name a few) don't support it, and others support it in a limited or faulty manner (AE). So if you want to use these for compositing, it's better to use individual image files.
It's a right shame that expensive software like PS and AE haven't learned how to include the EXR format though. Kind of silly since a free and open source program has it natively.
i believe blender started using multi layered EXR's before anything else did. speaking of... is it possible to name the layers inside the EXR file? or does blender automatically do this?
The only software i know that can open blender EXR's correctly is Nuke.
also i should note... it makes alot more sense to have seperate EXR files if you have a Raid or SAN, or networked file system. which all large VFX houses have.
This is very helpful. Thank you.
Thanks so much for your contribution to the community:) This is so useful, I hope this makes it into trunk!
Great work!!! Tamir
Hi, I work in vfx composition areas with nuke and AFX and this is needed a lot. It works quite fine in blender internal, BUT I try it in Cycles to, getting some passes troubles. There is some kind of different workflow for it?
Great Work again!!!
MATU
Hi MATU,
And thanks!
Can you please describe exactly what the trouble is when you use it with cycles? perhaps also upload a blendfile that demonstrates it?
This will help with fixing the issues.
Tamir
Excuse me for the late response...
I fix it, it wasn,t your script it's was the operator... jajaja.
Great work again. With the new 2.76 the layer panel appears on another tab, and the addon dont work that's true? I will send you an screen cap.
Greats!!!
MATU
This is really useful addon, thanks! And yeah, this kind option should be default on blender...
The addon had trouble working with Blender 2.67, since there were some changes to the python API.
I amended the script, so that the new version now supports both 2.66 and 2.67.
The updated script can be found on github:
https://github.com/Tlousky/production_scripts/blob/master/save_all_renderlayers_and_passes.py
Cheers
Excellent add-on! Also works like a charm in 2.68a. Saves a ton of time. Thank you very much for this!
...and yes! This should definitely become Blender standard!
I'm using Blender 2.69 and I get this error: fake_module: addon missing 'bl_info' gives bad performance!: then it shows the path the addon.
And the addon doesn't appear in the add on Tab. I would love to use this addon.