Shadow catcher alpha path tracing

Is there a way to extract matte object alpha pass with shadow only in Path Tracer mode? Currently there is no way to render the sequence for later compositing with footage and getting the shadows in path trace mode.

I know it works in iRay, but the render times with motion blur are extreme and I could not get flow sims to work in iRay.

Maybe with some sort of custom MDL graph for path trace that could be achieved? Please…

Hello @kgr! I’ve shared your post with the dev team for further assistance.

1 Like

Hello @kgr! Just wanted to let you know that the dev team is looking into this issue.

1 Like

@kgr I confirm this feature is coming in the next Kit 104.1 release. Stay tuned!

1 Like

Hello,

Thank you for addressing this issue in 104.1! I have been testing it out and now alpha is indeed produced in Path Trace mode. However, It does not seem accurate and is smeared and distorted when objects pass by the shadowcatcher. The material of the “shadowcatcher” has Reflection, Specular, Albedo brightness -all off, but tried diffrent combinations and almost the same result in terms of distortion.

Also if check “invisible to secondary rays” is set on the Matte object it no longer works - just appears as a solid object, but with the check off it appears in reflections as a solid object.



Not sure if it’s a limitation of the current implementation of this feature in PathTrace or if I’m setting it up incorrectly as I have tried many diffrent combinations of settings. Would be great if documentation on Matte object alpha compositing could be updated in regards to Path Trace mode and motion blur.

@kgr Thank you for reporting this. I will look into it and get back to you soon.

1 Like

Thank you!

To add to this I just found that if you want to render an image composited in editor in front of the backplate (without alpha) motion blur object that moves in front of the backplate added through post processing leaves a black trail during substeps rendering - the more substeps the bigger the trail. To fix this I’ve created a large cube behind the object and set it as holdout object and turned off cast shadows and secondary rays on the cube.

Maybe this is related to the issue above as it looks like something related to alpha.

@kgr FYI we have logged a bug for the Invisible to Secondary Rays although the fix will likely be in Kit 105 rather than in the upcoming minor Kit 104.2.

For the Motion Blur, I’ll get back to you. Sorry for the delay.

1 Like

Since there is still no way to render proper alpha and shadowcather in omniverse in path tracing for later compositing, especially with motion blur - for now what one can do is make a 3D piece of chroma to catch shadows and key it out later. Something like this:

Sorry I am seeing this for the first time. What is the exact issue with the matte object and alpha channel ? I render like this all the time and have not found any issues.

Hello,

I believe this problem specifically occurs when rendering animation with motion blur with the purpose of latter compositing with the backplate in Nuke, AE etc: the alpha channel of the 3D objects has a weird outline and is distorted when 3D characters pass in front of the shadow catcher object. This is for Interactive Path Tracing, in iRay mode it works fine, but it is too slow. Also I only tested with HDRI lighting, might be ok with other light types.

Here is an example of the animated 3D objects passing in front of the wall with a matte object, shadow catcher attached to it in Omniverse 2023.2.0, same 3 frames in all examples:
BadAlphaCatch

This is how the alpha and shadow catcher should look based on a render in Maya V-Ray GPU:
vray

And how the render from Omniverse looks without shadowcatcher:
NoShadow

Here is the same issue in a clean Omniverse scene with just primitives:
Primit

As you can see there is this weird outline between objects and the shadowcather.

BUT

I actually came up with a way to render clean shadow catcher pass with motion blur in Omni based on the chroma method aboved while I was writing this)

  1. Create a seperate USD Sub Layer where all the meshes of the animated character’s are given a parameter: Right Click → Add→ Rendering → Set Hide From Camera → Save the USD file as for example Hide From Camera layer

  2. Add the shadowcather to your scene with Matte object parameter enabled and Matte Object and ShadowCather enabled in the PostProcessing Render Tab

  3. Import and enable Hide from camera layer from step 1

Now when the scene is rendered with motion blur the characters will be hidden, but their full, motion blurred shadow is rendered on the shadow catcher with proper alpha!

CleanPass

Now if only AOV timing issue could be looked into as noAOV beauty renders up to 4 times faster than AOVs, but the AOV pass is mismatched and actually does not even line up with the tracked footage camera if its moving:
AOV (Render Product) Frames Mismatch

1 Like

So just to break this down. It only is an issue with PT, motion blur, Matte Object and Alpha channel, all combined ? If you drop motion blur it is fine ? If you use iray it is fine ? (Have you tried Realtime?)

Yes, only an issue with PT, motion blur, Matte Object and Alpha channel - all combined. Basically only if one needs the shadowcatcher pass for compositing. Occurs on both multi and single GPU. I think when this post was created with version 104.1 it was also an issue without motion blur.

In iRay it is fine, but it is not practical as it’s slower and often runs out of vram. Would make more sense to just use Vray or Arnold instead at the moment.

Did not mess much with real-time but I think the motion blur there is only a postprocess effect and it does not render alpha with it enabled.