.png transparency on a surface?

Is there a way to make a surface render to .png transparency in Iray?  Basically, I'm looking for the same grey checkerboard behavior as a no dome draw / no backdrop render, but I'd like to be able to put that on a plane primitive that I can position in the middle of a scene.  This is for chroma key type applications to break a large scene (too big for my graphics cards) into multiple renders that can be layered overtop of each other in post process. I know I can use a colored/lit plane like green/blue screening in filming, but that doesn't yield the same partial transparencies at the edges and you have to dig out whatever color gets feathered in.  Any thoughts or know how?

 

Comments

  • KA1KA1 Posts: 1,012
    If I understand you correctly you can use the opacity channel for this, for the plain with your image you'll need a black and white negative jpeg, black = invisable white = visable.
  • prixatprixat Posts: 1,616

    Iray's 'Matte shader' specifically does what you're asking for, have a look at this thread:

    http://www.daz3d.com/forums/discussion/comment/878494/#Comment_878494

  • The opacity channel will only let me make a surface visible or invisible within the render.  What I want it to do is mask everything behind the surface with .png transparency.

    If I understand matte objects correctly, they'll let me capture shadows/light bounce, which would help put two layers together more naturally, but what I'm actually looking for at the moment is a cleaner way to cut a scene apart.

    So... imagine the scene is a bus and I've got a camera setup at the back of the bus shooting down the aisle all the way up to the front.  I've got some HDR environment lighting that's coming in through the windows on the side and we'll say lighting is generally ambient enough that shadows and specific light sources aren't going to be particularly noticable.  I want the bus full of people.  Cutting the number of polygons by using lorez people or decimator is one way to go (not preferred for various reasons), the other is to render rows in layers and put them together in post process.

    So the first row (furthest away at the front) is easy.  Normal render - you've got all the background, people in the first row.  Great.  Now for the second row, the idea is that I want to mask out everything behind this second group of people so I can just overlay that image on top of the first.  As long as there are no light sources, I can go ahead and remove everything outside the bus since it's captured in the first image.  The people in the first row, I can hide/remove (have to anyway for poly count) and hopefully that doesn't greatly affect my lighting.    But what about the bus itself?  Even if the materials are laid out such that I could hide or alter the opacity on exactly what I want (unlikely), having the front fully open is going to noticably increase back lighting on this second render.

    So what I want is to insert a plane between rows one and two that will mask everything forward on the bus of row two.  The best I know how to do this at the moment is to make a very dimly lit colored plane primitive, so that it'll render closely around a single RGB value.  I can then select and delete it in GIMP to make it transparent and layer it on top of my first image.  What this doesn't do nicely is handle the edges which will have the color of the plane still feathered in.  It can be handled (tutorials for chroma key are out there)  but it's tedious and it seems like in an all digital rendering environment that it just shouldn't be necessary.  DAZ can already feather in with partial transparency if you render, say a figure over a blank background.  Drop that figure on a background image and it works quite nicely (and here matte objects to add shadows looks like what you'd want to use).  The question is can I get the same .png transparency of the blank/null background onto a surface in the middle of my scene?

Sign In or Register to comment.