Holdout Shadow AOVs in Karma

   178   0   1
User Avatar
Member
1 posts
Joined: 8月 2025
オフライン
Hi everyone,

I’m a Houdini enthusiast and have been exploring the new Shadow Catcher workflow in Karma (since Houdini 21). First of all, I appreciate the improvements; it seems largely based on the old background plate workflow, giving holdout geometry a matte material that allows shadows to appear while maintaining visibility in the viewport.

However, I’ve run into a problem with certain layered rendering workflows. Here’s the setup:

* I have a scene with a ground environment, debris, and an explosion.
* The scene requires layered rendering so that each element can be rendered separately, while still allowing other objects to contribute shadows for compositing.

My rendering workflow is as follows:

1. **Ground pass:** Render the clean ground only, using a prune node to disable other objects.
2. **Debris pass:** Disable the explosion via prune, set the ground as a holdout matte, and output the required AOVs: `beauty`, `holdout_shadow`, `holdout_reflect`, etc.
3. **Explosion pass:** Set both ground and debris as holdout matte, then output AOVs: `beauty`, `holdout_shadow`, `holdout_reflect`, etc.

Because volume rendering is extremely time-consuming, I only render the explosion once. This workflow allows me to get the beauty of each element and the corresponding `holdout_shadow` / `holdout_reflect` AOVs for compositing.

**The problem:**

* When the holdout is set to **Matte**, the `holdout_shadow` AOV **includes shadows cast by the holdout geometry onto itself**, which is undesirable for compositing.
* If the holdout is set to **Background**, the `holdout_shadow` AOV **no longer includes the holdout’s shadows at all**, meaning the holdout geometry does not cast shadows onto any other object — which is a critical issue for compositing layered elements correctly.

In short, with the current implementation, it’s difficult (or impossible) to achieve a workflow where:

1. The holdout remains a matte for visibility and indirect contribution (reflections, indirect lighting).
2. `holdout_shadow` includes **only shadows from other objects**, excluding self-shadow from the holdout itself.

This limitation makes compositing layered renders in Karma challenging, especially for complex scenes with debris, explosions, and volumetrics.

I would greatly appreciate any insights, workarounds, or guidance from the community or SideFX engineers on how to handle this scenario efficiently in Karma.

Thanks in advance!
  • Quick Links