Author Topic: exclude shadowcatcher from indirect lighting? Rayswitch doesn't do the trick.  (Read 1846 times)

2017-07-05, 18:45:00

Jens

  • Active Users
  • **
  • Posts: 130
    • View Profile
    • Ikonoform
Hi

I'm do a few aerial views and I'm getting annoying indirect illumination on my shadowcatcher plane. Is there a way to keep this from happening? I kind of managed to do it with the rayswitchmtl, but then I loose the shadow itself too on the shadowcatcher, which just seems silly :)

Tried all possible settings on the shadowcatcher material itself and also on the object seemingly reflecting light on to the plane, but no dice. I must be doing something complete wrong or ?



My small 3D model shop: www.ikonoform.com/shop
My arch viz blog: www.ikonoform.com/blog

2017-07-05, 19:33:20
Reply #1

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 6674
  • Let's move this topic, shall we?
    • View Profile
    • My Models
Rayswitcher material is correct choise, but you need to apply it to your oil tank object, not to ground plane with shadowcatcher material.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2017-07-05, 21:42:34
Reply #2

Juraj

  • Active Users
  • **
  • Posts: 4118
    • View Profile
    • studio website
Rayswitcher material is correct choise, but you need to apply it to your oil tank object, not to ground plane with shadowcatcher material.

Why ? Unless you worded this confusingly and I understand you incorrectly, by doing what you suggest, you alter the GI of your object too, which most often isn't wanted (the more complicated the object is, the less...)

Edit: Ah...I understand you. You suggested correct solution to "exactly" what he is asking (avoid GI from object on shadowcatcher plane). But that's Band-Aid for wrong setup, not correct strategy, as you DO want GI on shadowcatcher, just not incorrect (from overblown albedo) GI.


Shadowcatcher on the plane, inside Rayswitch is the correct approach. Jens, can you post your setup ?
I do this all the time for my studio renderings with no issues. The GI version of shadowcatcher in Rayswitch will be dark version of the Backplate (to simulate correct albedo light-bounce for contact shadows). Also, make sure the white paint of your object is correct albedo.

By the way this shows that the Shadowcatcher UI design is not correct imho, because 99perc. of times, it requires Rayswitch also in combination. So those control could have easily been integrated at least for GI. I understand the purity of the design this way, but it's just no practical. Instead it has some nonsensical shadow multiplier (which doesn't affect albedo, but only post-produces the resulting shadows).
« Last Edit: 2017-07-05, 21:58:19 by Juraj_Talcik »
talcikdemovicova.com  Website and blog
be.net/jurajtalcik   Our studio Behance portfolio
Instagram   Our studio Instagram, managed by Veronika

2017-07-06, 13:03:16
Reply #3

Jens

  • Active Users
  • **
  • Posts: 130
    • View Profile
    • Ikonoform
Rayswitcher material is correct choise, but you need to apply it to your oil tank object, not to ground plane with shadowcatcher material.

Works perfectly for my exact case, thank you romullus!

I have to agree with Juraj that it's not optimal workflow behavior: Having to create custom mats for the every single object casting a shadow, instead of just being able to exclude the GI on the shadowcatcher itself. Never noticed it on my studio renders before as usually the shadowcatcher here will be either very bright or dark. Guess this aerial is a pretty specific usage case for it.

Thanks both of you :)
My small 3D model shop: www.ikonoform.com/shop
My arch viz blog: www.ikonoform.com/blog

2017-07-06, 13:22:51
Reply #4

Juraj

  • Active Users
  • **
  • Posts: 4118
    • View Profile
    • studio website
It's not just about creating rayswitch for every material (which would be super absurd for something like car), the shadows are issue. The GI is not just about light that is cast FROM away the object onto other, the GI affects how the object self-illuminates itself as well. Having bright material with darker GI means the occlusion of the object (like crevices,etc..) will be much darker than they should be. Light does bounce upon object itself too.

Since this is super small and simple object far away, the difference might not matter. But it's definitely not good solution in physical way.
talcikdemovicova.com  Website and blog
be.net/jurajtalcik   Our studio Behance portfolio
Instagram   Our studio Instagram, managed by Veronika

2017-07-17, 10:44:19
Reply #5

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 10187
  • Marcin
    • View Profile
I just looked into this and:

1) I am not able to get such pronounced GI visible and in the 1st example, even with 255 albedo on the cylinder object

2) It seems that one way to reduce GI visibility on the shadowcatcher is to increase its "shadow amount" parameter all the way up to 10.

3) I can see some issues with the workflow described by Romullus indeed - for example you probably do want your main object to cast GI onto other objects, just not onto the shadowcatcher

2017-07-17, 11:05:06
Reply #6

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 6674
  • Let's move this topic, shall we?
    • View Profile
    • My Models
To my defense, i based my solution on the picture in the first post, where single 3D object is seen composed into photograph. As always there are many ways to achieve needed result and you have to see what's working best in given scenario. My solution may not be the universal one, but it works well in this case as confirmed by Jens ;]
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures

2017-07-18, 13:15:45
Reply #7

Fluss

  • Active Users
  • **
  • Posts: 547
    • View Profile
for example you probably do want your main object to case GI onto other objects, just not onto the shadowcatcher

+1000 on this.

In fact, both cases are usefull. Their should be two options : "to not cast" and "to not receive"

edit : and it should be deported on the object level rather than the shader level imho.
« Last Edit: 2017-07-18, 13:23:44 by Fluss »