Ghost light issues with Iray Decals
I think I've discovered a potential bad interaction when Iray Decals are used in a scene that contains ghost lights, and wanted to see if anyone else has any experience with this.
I have a decal with a simple material applied to it, basically it's just black with an alpha transparency to give the impression of a puddle.
First, when used in a scene without any ghost lights, it looks like I would expect.
However, if I add a number of ghost lights to the scene with an intensity of 20, a noticeable outline becomes visible around the edge of the transparency. For the ghost lights themselves, they are just primitives assigned an emissive material. Whether they are set to visible to primary rays or not doesn't affect the issue.
If I increase the intensity of the ghost lights to 60, the outline becomes 3x stronger.
I'm guessing there is something in the iray decal tech that isn't handling light from emissives the same as a proper light? Does anyone have any insight?
Comments
So what aspect of the Ghost Light process are you applying to the emitters, if you are not making them invisible to primary rays?
I guess it would be more accurate to say that it's caused by emissive objects used as lights in general, regardless if they have the ghost parameters applied. I only figured that out as I was writing the thread though, so I didn't think to go back and change the title to reflect that. In general I am using them as invisible ghost lights, I just figured out its also something that happens even without setting them to be invisible.
Is your opacity mask pure black and white, or do you have gray at the transition from black to white? You may be interested in this previous thread.
Yep, there is an opacity gradiant on the edge. That thread looks like the same issue, thanks for that. After following the link rabbithole....
Actually even better, if looks like if you just assign a geoshell to the base object and set the opacity of the geoshell to 0, it fixes the issue. You don't even need to have the decal on the geoshell itself, as long as the invisible geoshell sorts in front of the decal it prevents the halo. That's pretty cool and is a pretty good workaround.
That person youre quoting gave that advice in my thread here: https://www.daz3d.com/forums/discussion/612441/iray-decals-will-only-accept-0-or-100-opacity-otherwise-interfere-with-shadows#latest
I actually responded with "bravo" sarcastically because i assumed their advice wouldn't work.
So you're saying it actually works?
I thought they were saying to use geoshell instead of decal, but i guess what they're saying is using a geoshell in 1 of 2 ways is a hack that randomly fixes the bug?
Yea, no idea why it works, but it seems like if the light hits an invisible geoshell before hitting the decal, it avoids whatever causes the bad interaction. If I set the geoshell to like .000001, it sorts under the decal and doesn't work, but at the default value of .10 it worked like a charm. It was as simple as selecting the base object, hitting create geoshell, then setting it to 0% opacity, and no more issues.
Man I've been trying to find a hack for this for over a year, thanks a lot dude!