Anybody with an idea how to resolve this problem? I want to retain the look of the SSS without this weird dispersion issue. File for exploration: 2.8 MonkeyHairTest.blend (1.2 MB)
I wouldn’t say such artifacts couldn’t be resolved, especially in light of Clement’s experience and the many other bugs that have since been fixed, but ensuring features play well with other is inherently a more difficult job in Eevee development than Cycles development. As mentioned it is not impossible in most cases, but it’s not trivial and a fix can take a while.
Still, the potential payoff is immense considering how many Eevee animations are being pumped out already. Resolving these issues will mean producing them will be nearly as easy to make as stills (at least the visual part).
That is a fundamental limitation of screenspace effects. I’m sure you could do some rinkydink workaround disabling layers and recompositing them back together, but it’s simply limited by what is in the screenspace buffer. Like how SSR doesn’t reflect things that are offscreen. I highly doubt that those issues can be simply optimized away. Of course I’d be happy to be proven wrong.
I would hope such artifacts can be resolved, as how it is currently is fairly unusable, at least right out of the box. I’m thinking of creating a map to drive the “Subsurface” parameter on the Principled BSDF, which I think should help with this issue.
A tangential question, but does anybody know if Marmoset is based on the same kind of technology as Eevee? I’m assuming “yes”. And maybe somebody who knows Marmoset can chime in here, but I can’t find examples where Marmoset’s SSS suffers from this dispersion artifact that Eevee does.
For instance, I came across a thread where a user is talking about SSS with his model in Marmoset, and I can’t spot this problem happening.
Thanks for providing your file, that’s interesting! That would seemingly resolve the issue for things like glasses on a character. But, sadly, doesn’t seem to work on a separate material for hair. I wonder if there’s a way to do it.
So when I discovered this problem, I made a bug report (now nearly 2 years ago!). At that time, it seemed this is a limitation of SSS in Eevee and there’s no easy fix.
Then today, by coincidence, I saw on the release notes for 2.93 where it said “Sub-Surface Scattering do not leak light onto nearby surfaces.”
I clicked on the link for the task, and lo and behold, it seems to be precisely the fix I thought it was. It even specifically mentions my bug report! Looking forward to testing this out!
Edit: Does anybody know how we can tell if the latest experimental build has a feature written in the release notes? I just downloaded the latest 2.93 alpha and the issue still looks the same. =/