Is it Possible to Cast Shadows With an Invisible Object in Iray?

GOD-sSs-ENDGOD-sSs-END Posts: 73
edited April 2019 in New Users

Greetings,

I've built a model house and have put a flat roof on it. With the roof on, the light from outside pours in through the windows beautifully. The problem is that I need the see through the roof, but I still need the roof to cast shadows. Is there any way to have the roof not be visible but still cast shadows.

Otherwise, the dome light (sun) pours into each room of the house, spoiling the realism I'm after.

Any thoughts???

Post edited by GOD-sSs-END on

Comments

  • I suppose my question was premature. I found the solution in another thread here in the DAZ Studio forums. Here is the link to that thread:

    https://www.daz3d.com/forums/discussion/171536/can-an-invisible-object-cast-a-shadow

    And here is the link to the solution, provided by Deviant Art:

    https://www.deviantart.com/snowsultan/art/Iray-Canvas-Tutorial-565641976

    I'm experimenting with it now, but it does seem to dramatically increase the bake time for each scene.

  • KitsumoKitsumo Posts: 1,215

    If you're using Iray, this might work for you https://www.daz3d.com/forums/discussion/comment/4035871/#Comment_4035871. I've never tried it with a roof, but it should be possible.

  • Is there a better way???

    The bake time is far too high to be useful in complex scenes. Is there another way to have an object cast a shadow while invisible in the render?

    Thanks in advance.

  • GOD-sSs-ENDGOD-sSs-END Posts: 73
    edited April 2019
    Kitsumo said:

    If you're using Iray, this might work for you https://www.daz3d.com/forums/discussion/comment/4035871/#Comment_4035871. I've never tried it with a roof, but it should be possible.

    I'll test it now and let you know. Thanks.

    By the way, the solution I posted did not work. 

    Post edited by GOD-sSs-END on
  • Kitsumo said:

    If you're using Iray, this might work for you https://www.daz3d.com/forums/discussion/comment/4035871/#Comment_4035871. I've never tried it with a roof, but it should be possible.

    Dammit!

    Sorry, friend. It's not working for me.

  • L'AdairL'Adair Posts: 9,479
    edited April 2019

    What you need is an Iray Section Plane Node.

    There is an option to Clip Lights, which prevents light from coming through the plane. The down side is it will clip everything on the other side of the node. If you want the "invisible roof" to allow a tree outside the house to show, for example, it won't. But you could do it in two steps, rendering without the "roof" for the objects outside the house to show, and then with the "roof" to clip the light from coming into the rooms and then layer the two together in your favorite editing software.

    Here is a trick to help you position the Iray Section Plane Node:

    1. Hide everything in the scene.
    2. Load the Iray Section Plane Node: main menu Create->New Iray Section Plane Node…
    3. Select the Iray Section Plane Node
    4. In the Parameters tab, turn On the Clip Lights option.
    5. Create a plane primitive
      • main menu Create->New Primitive
      • In the popup dialog:
        • Type: Plane
        • Origin: World Center
        • Primary Axis: Y Positive
        • Options: Size 1 m; Divisions: 1
        • Click on Accept
    6. Parent the Plane Primitive to the Iray Section Plane Node. Now as you move the Node, the plane will show you where it is.
    7. Unhide the objects in your scene.
    8. Move the Iray Section Plane Node into place.
    9. Hide the Plane Primitive.

    I tested this with a cabin and a spotlight, with the spotlight above the height of the Iray Section Plane Node. The light came in through the window, but did not come in through the cutoff section of the roof.

     

    Post edited by L'Adair on
  • L'Adair said:

    What you need is an Iray Section Plane Node.

    There is an option to Clip Lights, which prevents light from coming through the plane. The down side is it will clip everything on the other side of the node. If you want the "invisible roof" to allow a tree outside the house to show, for example, it won't. But you could do it in two steps, rendering without the "roof" for the objects outside the house to show, and then with the "roof" to clip the light in the rooms and then layer the two together in your favorite editing software.

    Here is a trick to help you position the Iray Section Plane Node:

    1. Hide everything in the scene.
    2. Load the Iray Section Plane Node: main menu Create->New Iray Section Plane Node…
    3. Select the Iray Section Plane Node
    4. In the Parameters tab, turn On the Clip Lights option.
    5. Create a plane primitive
      • main menu Create->New Primitive
      • In the popup dialog:
        • Type: Plane
        • Origin: World Center
        • Primary Axis: Y Positive
        • Options: Size 1 m; Divisions: 1
        • Click on Accept
    6. Parent the Plane Primitive to the Iray Section Plane Node. Now as you move the Node, the plane will show you where it is.
    7. Unhide the objects in your scene.
    8. Move the Iray Section Plane Node into place.
    9. Hide the Plane Primitive.

    I tested this with a cabin and a spotlight, with the spotlight above the height of the Iray Section Plane Node. The light came in through the window, but did not come in through the cutoff section of the roof.

     

    Thank you, but I tried it. I hid everything, created the plane, turned on the light clipping, parented a primitive, hid the primitive, and properly sized and positioned the clipping plane. There was no result. I then flipped the plan over, just for ha-ha's, and there was a mess of black in the scene.

    I then tried several different ways of doing it. And then I tried not using my scene but a basic experimental scene. 

    Nothing worked.

    Any other suggestions. I really need a solution. 

  • L'AdairL'Adair Posts: 9,479
    L'Adair said:

    What you need is an Iray Section Plane Node.

    There is an option to Clip Lights, which prevents light from coming through the plane. The down side is it will clip everything on the other side of the node. If you want the "invisible roof" to allow a tree outside the house to show, for example, it won't. But you could do it in two steps, rendering without the "roof" for the objects outside the house to show, and then with the "roof" to clip the light in the rooms and then layer the two together in your favorite editing software.

    Here is a trick to help you position the Iray Section Plane Node:

    1. Hide everything in the scene.
    2. Load the Iray Section Plane Node: main menu Create->New Iray Section Plane Node…
    3. Select the Iray Section Plane Node
    4. In the Parameters tab, turn On the Clip Lights option.
    5. Create a plane primitive
      • main menu Create->New Primitive
      • In the popup dialog:
        • Type: Plane
        • Origin: World Center
        • Primary Axis: Y Positive
        • Options: Size 1 m; Divisions: 1
        • Click on Accept
    6. Parent the Plane Primitive to the Iray Section Plane Node. Now as you move the Node, the plane will show you where it is.
    7. Unhide the objects in your scene.
    8. Move the Iray Section Plane Node into place.
    9. Hide the Plane Primitive.

    I tested this with a cabin and a spotlight, with the spotlight above the height of the Iray Section Plane Node. The light came in through the window, but did not come in through the cutoff section of the roof.

     

    Thank you, but I tried it. I hid everything, created the plane, turned on the light clipping, parented a primitive, hid the primitive, and properly sized and positioned the clipping plane. There was no result. I then flipped the plan over, just for ha-ha's, and there was a mess of black in the scene.

    I then tried several different ways of doing it. And then I tried not using my scene but a basic experimental scene. 

    Nothing worked.

    Any other suggestions. I really need a solution. 

    Based on your description, it sounds like you "properly sized and positioned" the plane primitive, not the Iray Section Plane Node.

    The Iray Section Plane Node loads at world center. It will clip anything above it, which could easily be everything in the scene. The Iray Section Plane Node clips into "infinity." Sizing the node would increase the size of the plane as it is parented, but it won't increase or decrease the area affected by the node. The plane primitive is used only as a device to "see" the location of the node, as the node is invisible. And if you turn the node over, look at it from the "wrong" side, all you will see is black. What you describe is the behavior I would expect from a node in the world center location.

    In Step 8, you need to select the Iray Section Plane Node and move it upward, until it is at the height of the roofline. This will be easier to do if your Draw Mode is set to something like Smooth Shaded or Texture Shaded. After positioning the node, set the Draw Mode to Iray and check the results.

  • I don't know how you got it to work, but it is not performing as described for me. And I've experimented in a variety of ways.

    Perhaps another option.

    Could you instruct me on "Fantom" for UberSurface Base?

    I applied the shader to a plane and turned on fantom, but the plane showed up in the render anyway. Seems so simple: apply and turn on fantom.

    I don't get why it's not working.

  • L'AdairL'Adair Posts: 9,479
    edited April 2019

    I don't know how you got it to work, but it is not performing as described for me. And I've experimented in a variety of ways.

    Perhaps another option.

    Could you instruct me on "Fantom" for UberSurface Base?

    I applied the shader to a plane and turned on fantom, but the plane showed up in the render anyway. Seems so simple: apply and turn on fantom.

    I don't get why it's not working.

    Open the Render Settings pane. Make sure the Editor tab is active. At the top of the pane, just under the tabs, (Presets, Editor, Advanced,) is the "Engine" setting. What engine is selected?

    Post edited by L'Adair on
  • Richard HaseltineRichard Haseltine Posts: 100,800

    Which render engien are yopu using, Iray or 3Delight? You can see that at the top of the Editor or Advanced tab in the Render Settings pane.

  • GOD-sSs-ENDGOD-sSs-END Posts: 73
    edited April 2019
    L'Adair said:

    I don't know how you got it to work, but it is not performing as described for me. And I've experimented in a variety of ways.

    Perhaps another option.

    Could you instruct me on "Fantom" for UberSurface Base?

    I applied the shader to a plane and turned on fantom, but the plane showed up in the render anyway. Seems so simple: apply and turn on fantom.

    I don't get why it's not working.

    Open the Render Settings pane. Make sure the Editor tab is active. At the top of the pane, just under the tabs, (Presets, Editor, Advanced,) is the "Engine" setting. What engine is selected?

    Iray.

    I just changed to 3Delight, and Fantom is now working, but where have the shadows gone?

    Post edited by GOD-sSs-END on
  • Thank you, all. I can't tell you how much I appreciate everything. With your help, I now have what I need for my project. I do have one more question. 

    In 3Delight, is there a way to still have an environment?

    I've attached a render of a fantom cube on a plane.

    Fantom Cube on a Plane.png
    1280 x 720 - 118K
  • Richard HaseltineRichard Haseltine Posts: 100,800
    L'Adair said:

    I don't know how you got it to work, but it is not performing as described for me. And I've experimented in a variety of ways.

    Perhaps another option.

    Could you instruct me on "Fantom" for UberSurface Base?

    I applied the shader to a plane and turned on fantom, but the plane showed up in the render anyway. Seems so simple: apply and turn on fantom.

    I don't get why it's not working.

    Open the Render Settings pane. Make sure the Editor tab is active. At the top of the pane, just under the tabs, (Presets, Editor, Advanced,) is the "Engine" setting. What engine is selected?

    Iray.

    I just changed to 3Delight, and Fantom is now working, but where have the shadows gone?

    You will need to select the lights and turn shadows on - I strongly recommend using Ray-traced shadows.

  • GOD-sSs-ENDGOD-sSs-END Posts: 73
    edited April 2019

    One last question:

    Is there any way to cast a shadow with an invisible object (that can be sized as needed) in Iray?

    It's just such a shame. I've got a beautiful floorplan, and it looks absolutely amazing in Iray. But I want to be able to see inside the house from a top view, but not have the light from the sun pour in over the walls. I'd like to apply a fantom-like function to the roof. That way the roof is invisible, and I get the interior lighting levels, and the sun light comes in just through the windows.

    That would be easy and it would solve my problem, preserving all the beauty of Iray rendering.

    Post edited by GOD-sSs-END on
  • Figure it out!

    The last step in L'Aidair's instruction (hiding the primitive) threw me off. You don't have to hide the primitive. Also, the primitive should be slightly higher than the node. The cut-out behavior on the node does all the work. But if the primitive is hidden, it doesn't drop a shadow. I've attached an image to show the amazing result.

    Thanks to all, especially L'Adair, who was instrumental in helping me figure this out.

    See-thru Roof.png
    1280 x 720 - 1M
  • Richard HaseltineRichard Haseltine Posts: 100,800

    If you are using the Section plane, select it and in the Parameters pane turn on Clip lights - that will make the hidden geometry cast shadows (and appear in reflections). Section planes have beens et up for letting light into enclosed spaces, which is why hidden areas don't cast shadows, but it isn't their only use.

  • evilcho_evilcho_ Posts: 79

    Which render engien are yopu using, Iray or 3Delight? You can see that at the top of the Editor or Advanced tab in the Render Settings pane.

    Sorry for the bump, but can this be done in iray as well, somehow? Having an item/figure's shadows in the scene without the figure itself so I can render both separately.

Sign In or Register to comment.