Is there a way of rendering 1 image to a layered PSD file so that each material is on a seperate layer?
One of our clients likes to tweak colours seperatly in post and it takes AGES masking out in photoshop for them. It also takes too long to render seperate layers using the traditinal matte object method because we have more than 10 seperate layers.
I read about a cebas plugin that can do this but cant find much more help on this forum regarding doing this. Is there a way without needing a plugin?
you get back the renderpasses from the gbuffer to the place , max usualy had it .
with this build, you can use psd-manager from cebas. it gives you the freedom to get masks for all needed objects, think also materialchannels if you want.
for me it works fine. Only thing is, with max backburner and stripeset for large immages it doesnt work.
Our workflow usualy is, to render a big immage from the network with stripeset rendering,
and after this disable gi, reflections , all lights, and get a very fast also big immage from one single computer using PSD Manager.
If you don´t have access to newer versions, as most of us don´t…
You don´t need each material on a separate layer for selecting the different objects. You just need to render an ID pass which will provide you with an image with flat colors, assigned to each object. This image can be used in photoshop to mask individual objects. There are multiple methods to get this image from your scene. If you are interested in this id aproach i will elaborate it for you.
Tom, what about the aliasing problem when selecting the objects? Is it accurate enough to mask them properly? Or you are still getting weird jagged edges?
The material Id approach sounds interesting, could you elaborate? I’m guessing there is a way of rendering each material as a seperate flat colour defined by the material ID, then you just select by colour to create each mask in photoshop?
I’d still prefer an all-in-one approach using psd manager although i can see how the material id method could be fairly quick.
how could I get the vray build needed to be able touse psd manager though? I’d like to try both ways
Well, here you can see my aproach. This is only valid for Vray 1.47.03. Newer versions will have better support for extracting the different channels.
-Prepare my objects, assigning an unique id to each one i need, or just use the automatic RENDER ID, which assigns an id to each object automatically. Sometimes you just don’t want that, because it will end up with tons of objects. In that case it´s better to assign manually the ids you need or use a script for that.
-Check in the color mapping/gbuffer section the Object ID, and Render ID, optionally you can select others, like Zdepth or Material ID.
-Render using RPF, and checking the OBject ID, render id, and the other channels you´ve previously selected. You must render directly to RPF, saving a rpf from the framebuffer does not work.
-Here comes the trick. I use combustion to render out each channel, using the show gbuffer operator, but if you don´t have access to combustion, just use a script found in:
-Open your straight render (RGB Color) in photoshop, and use either the render id , the object id or material ID to make selections which will be applied to your render, to change whatever u need to change.
That´s all!
I find this method faster than rendering different passes and it´s based on one-file-only, the rpf.
Let me know what you think about it, comments, suggestions to improve it…I´ll be glad to hear about it!
wouldnt it be easier to do the same corrections in combustion as it has tools for selecting objects based on their id?
i really like the discreet color corrector, for example…
Yes, indeed. But I´m assuming they will be using photoshop for their postproduction.
And, although i´m a combustion lover, some things are just impossible to do with this app, and you´ll save tons of time retouching in photoshop, anyway.
Combustion’s way of dealing with retouching stuff is sometimes cumbersome, not to mention it’s extremely slow…
ok for retouching (paint/clone brush/healing brush) i prefer ps, too
but i cant complain about combustion’s speed when it comes to color correction
especially working on stills that fit into memory seems very fast to me
Combustion color correction operators are well known in the industry, because they were picked from big brothers like inferno and flame. But seriously, do you think there´s something u cannot do in photoshop and it´s easily done in combustion when it comes to color correction? I agree combustion is fast when color correction, but so photoshop is, and autodesk would have a problem if it wasn´t this way. Nevertheless, things get slower when dealing with exr or heavily loaded rpfs!!
Amyway, does the method described above work for you? I haven´t read any replies from paulison or 3ddesign!
As Vlado has told me several times :? the object id and render id channel are integer and therefore can’t be antialiased, what you see is a representation of these integer values.
Using these channels in combination with coverage in combustion seems to improve the results, but in fact , masks tend to be jagged, anyway.
This lead us to inexact object selections with severe artifacts when extreme corrections are applied.
I would like to see a workaround for this, like creating a random solid autoilluminated temporal material and assigning it to every object in the scene. This way you would benefit from the full antialiasing of vray and use this image to select the objects…Any other ideas would be appreciated
what do you mean by “Using these channels in combination with coverage in combustion?”
currently I am tyring to get around this by using scene states and the batch renderer…one state renders the base render with vray, other states render object channels using 100% self illuminated objects with a black light and with scanline. Does the trick, but would be simpler to use rpf channels.
You can specify alpha colors. This is the way I use to do it in Maya.
The alpha chanel Does get antialaised. You are limited to values of grey of course, but it’s relatively selectable.
In Maya what I did was give different materials different alpha values. Each material was a different value and when I opened the file, mind you the alpha chanel no longer works the way it’s suppose to, in photoshop I can quickly make selections based on the value of the alpha.
It’s not perfect, but it pretty much works. Just an idea. It should also be fairly simple for the guys at chaos to code. Some of the other ideas are more difficult I think. (but what do I know about programming?)
When you use the object id selection in combustion, it lets u tick the option “use coverage”, which, in theory, should make your selections more accurate.The coverage channel is just another channel u can render in vray and include in the RPF.
Scene states, that´s an interesting idea. I will look into it.
I´m assuming you get perfect selections (not aliased) this way. Unfortunately i don’t know a word of maya…Anyway, good for you if it’s working!
do look at scene states. They are pretty handy - they remember vray properties too, so as well as object channels you can have multiple matte passes all setup to render to differenet outputs in one max file.
andrew - how do you give diferent materials different alphas in max?
thinking about another approach right now:
using a layer manager like blur’s onion you can specify a secondary material per layer
so you would seperate all objects on different layers, assign the secondary material (self-illuminated white on black background) and render them with vray
you would get antialiased object channels
should also be possible to do this via scripting (f.e. using the object’s layer to determine if its visible in the pass)
it should even be possible to script-render multiple alpha channels into one tif file (afaik both max and tif files support multiple alpha channels per file)
Interesting thread. If I need a perfect mask I apply a black standard material to everything, white 100% illuminated standard material to the object(s) I want to mask. Then turn off all lighting for a fairly quick and perfect mask. I looked at PSD manager, Combustion etc but ran into AA problems (eg for subtractive AA methods Cat-Rom etc).
Using all the methods mentioned earlier, you would end with a solid colors image, which would be easy to use in photoshop and even more efficient in combustion: using a gbuffer builder you could point and click your object and get an instant selection.
Don´t you think vray could render a solid color pass based on ids at the user demand and embed it on vrimage or rpf? This would be very fast to render, without gi, reflections, refract, all off, except displacement maybe. This way would be a workaround to get the perfect masks we’re looking for.