Is it possible for an invisible object to cast a shadow onto an invisible object?

Hi there,

I know how to use the iray matte option to create a shadow catcher, and also how to use iray canvases, however I can't seem to get what I want to work: I want to have an invisible figure (e.g. genesis 8.1 female) cast her shadow onto an invisible ground or invisible plane, so that all that appears in the final render is the figure's shadow and nothing else. Is this possible?

In case it matters, I'm using iray and HDRI lighting.

Comments

  • Sven DullahSven Dullah Posts: 7,621
    edited April 2022

    I don't know about IRay, but easy enough to do with 3Delight...

    image

    image

    3DL Fantom shadowcatcher.png
    800 x 450 - 90K
    3DL Fantom shadowcatcher2.png
    800 x 450 - 24K
    Post edited by Sven Dullah on
  • Thanks Sven. I may go down that road if there's no iray solution. All of my renders are iray, but I guess for only one shadow it should be almost impossible to tell the difference between 3Delight and iray.

  • FirstBastionFirstBastion Posts: 7,760
    edited April 2022

    Since it is so easy to switch renderers inside DazStudio, sometimes I'll render an older item using 3DL because the textured surfaces are tweaked perfectly for 3delight,  and then intergrate that part of the image into the rest of the Iray rendered image using layers in photoshop.

    Post edited by FirstBastion on
  • GordigGordig Posts: 10,049

    You might be able to do that with a canvas, where the node list for your beauty canvas includes everything but the figure.

  • Gordig said:

    You might be able to do that with a canvas, where the node list for your beauty canvas includes everything but the figure.

    Thanks Gordig. I tried it with a canvas but from what I can tell, canvases don't cast shadows. Or am I doing something wrong? 

  • GordigGordig Posts: 10,049

    I've never tried to do what you're doing, so I can't give you any advice on it; I just thought canvases might be able to do the trick for you.

  • Gordig said:

    I've never tried to do what you're doing, so I can't give you any advice on it; I just thought canvases might be able to do the trick for you.

    No worries. 

  • Hi Sven, what settings have you used in that example? I've never used 3Delight, and there's no obvious setting that I can see to hide the base figure and still cast a shadow... 

    Sven Dullah said:

    I don't know about IRay, but easy enough to do with 3Delight...

    image

    image

  • Sven DullahSven Dullah Posts: 7,621

    argy_81abfbccee said:

    Hi Sven, what settings have you used in that example? I've never used 3Delight, and there's no obvious setting that I can see to hide the base figure and still cast a shadow... 

    Sven Dullah said:

    I don't know about IRay, but easy enough to do with 3Delight...

    Select the figure in the scene tab, go to surfaces and also select every surface, apply the OmUberSurface base shader (content library/My DAZ 3D Library/shader presets/omnifreaker/UberSurface), in the surface tab scroll down to the bottom and find a button called Fantom. Enabling it will make the surface invisible to the camera but will still show in raytraced reflections (mirrors, metal). To also kill the reflections disable Raytrace.

    Let us know if you need more assistance;)

  • Sven Dullah said:

    argy_81abfbccee said:

    Hi Sven, what settings have you used in that example? I've never used 3Delight, and there's no obvious setting that I can see to hide the base figure and still cast a shadow... 

    Sven Dullah said:

    I don't know about IRay, but easy enough to do with 3Delight...

    Select the figure in the scene tab, go to surfaces and also select every surface, apply the OmUberSurface base shader (content library/My DAZ 3D Library/shader presets/omnifreaker/UberSurface), in the surface tab scroll down to the bottom and find a button called Fantom. Enabling it will make the surface invisible to the camera but will still show in raytraced reflections (mirrors, metal). To also kill the reflections disable Raytrace.

    Let us know if you need more assistance;)

    Hi Sven, I followed your instructions but nothing is rendering. Here is what I did:

    1. Load Genesis 8.1 base female
    2. Select all surfaces and apply omnifreaker uber surface
    3. Enabled "Fantom" on every surface
    4. In render settings, chose "3Delight"
    5. Hit render

    Am I doing something wrong?

  • Sven DullahSven Dullah Posts: 7,621
    edited April 2022

    argy_81abfbccee said:

    Hi Sven, I followed your instructions but nothing is rendering. Here is what I did:

    1. Load Genesis 8.1 base female
    2. Select all surfaces and apply omnifreaker uber surface
    3. Enabled "Fantom" on every surface
    4. In render settings, chose "3Delight"
    5. Hit render

    Am I doing something wrong?

    Hm, if nothing is showing then Fantom obviously work:) Okay, you need two more things:

    One or more lights that cast shadows, and a Shadow catcher object that has a proper RSL (3Delight) shadowcatcher shader applied to it .

    Be sure you have 3DL as the selected render engine before creating any lights!

    In my example I used a standard distant light but you can use a spotlight if you prefer that kind of shadow. To make it generate shadows you need to select it, go to parameters/shadows/shadow type and set it to Raytraced. Also set shadow bias to something like 0.1 and adjust shadow softness to your liking. The softer shadow the more samples are required to reduce noise. Shadow samples for DS standard light are set in rendersettings editor/sampling. For very soft shadows try 64 or 128, for outdoor type sunlight shadows you might get away with 4 or less.

    Next, create a shadowcatcher shader. This has to be done in Shadow Mixer, no IRay catcher will work. If you're not familiar with SM, don't fret, I've made a step by step tutorial here.

    Note that the two main things that impact render quality are samples and shadow rate. Think of pixel samples as "antialiasing", 4x4 is too little, 8x8 is a good number. Trace depth is not needed for what you do (reflections, transparency, anything that requires raytracing). 

    The lower the shadow rate the sharper/more detailed the result. Too low= eternal renders or artefacts, too high= blurry renders. 0.5 is a good starting point.

    Sorry for this novel and good luck!

    Edit to add: Shadow rate is bypassed if progressive rendering is enabled. Progressive mode is for quick previewing and will use all the tricks in the book to cut rendertimes while sacrifying quality.

     

    Post edited by Sven Dullah on
Sign In or Register to comment.