DOF doesn't support alpha matte objects?

Hi,

I have been doing storm shot in which ppl are running in storm. I have actor’s alpha mapped on plane and without DOF it works fine and render fines matte alpha.
But If I enable DOF, I lose matte alpha in rendering. I am using Krakatoa camera modifier to override camera Focal length.

Is there anyway to get DOF working with alpha mattes? DOF gives really nice result to storm.

Jignesh

DOF has all sort of issues right now (aside from the fact it is not even supported by the voxel mode yet). In fact, my build here just crashes when attempting to render opacity mapped mattes with DOF in particle mode. We are working on solving these problems right now. If we have a fix, we will post it.

As usual, using Max’ MultiPass DOF effect might be a workaround, although it would be obviously many times slower to render. But still better than nothing.

Also I noticed that it doesn’t take 50% opactiy as 50% for matte objects… but it takes it as 100% opacity for matte objects. I had one actor in scene holding tennis racket and it took racket net’s 50% opacity as 100%.

Particles interacting with semi-transparent matte objects cannot be rendered using a single output image, hence why your render looks odd.

Matte objects in Krakatoa define regions where particles should not be drawn, such that a Krakatoa render can be composited “over” the geometry pass (ie. from Default Scanline, Mental Ray, etc.). In the case of semi-transparent matte objects, the Krakatoa particles that are behind the matte objects must be composited “under” the geometry pass.

This is an important distinction because it is impossible for Krakatoa to generate a single image that can be composited “over” AND “under” another image. These are two separate operations, and Krakatoa supports this situation by allowing two separate images to be generated. There is a checkbutton in the Matte Objects Rollout called >Save Multiple Layers that enables this. When enabled, Krakatoa will save the usual “over” render (ex. myfilename_0000.exr) as well as the “under” render (ex. myfilename_layer1_0000.exr).

In conclusion, you are seeing 50% opaque matte objects rendering as 100% opaque matte objects because the particles behind the matte geometry are being rendered to the “under” buffer, which is not displayed in the VFB.

P.S. This technique is currently limited to 2 layers, which will only work if there is one layer of semi-transparent geometry. You can construct a case where there are particles in front of a semi-transparent plane, behind it but in front of another semi-transparent plane, and finally particles behind both planes. This situation will fail because it require three layers of particle renders. Most geometry renderers will only output one image anyways, so it doesn’t really matter what Krakatoa does since it cannot be composited between the geometry without multiple geometry layers.

Thanks Bobo and Darcy for detailed explanation!

I tried with “Save layers” and it gave me one more layer sequence for particles underneath the semitransperent object.

I am attaching two images, one is grayscale which shows alpha. you can see that actor bending who has gray areas in alpha but in krakatoa rendering I am getting 100% alpha instead of gray areas.