New voxel grid apparently is coming next year according to the roadmap, also Future lighting as the default and support for android! Hopefully more good stuff - for lighting - coming next year that isn’t on the roadmap.
the difference between future and shadowmap ambient occlusion is that future ambient occlusion only occludes ambient light(DiffuseScale, SpecularScale, Ambient, OutdoorAmbient) and shadowmap just multiplies all lighting including the so this is basically double occluding as the sun already has a system for light occlusion(hint its in the name).
If you want a solution for sunlight leaking through surfaces you are actually after contact shadows(basically ambient occlusion but in a very specific direction).
You get basically full AO if you set the ambient light to 255, 255, 255. If its at 0, 0, 0 ambient occlusion is less visible, but I believe yes AO is generally just weaker on future compared to ShadowMap or Voxel. Its best if Roblox would just allow developers to customize all of this, the “one glove fits all” narrative is seriously hurting a lot of artists and hinders creativity, we need control or artists cant make their art direction actually work!
Agreed. It feels like contact shadows are the more accurate feature request here.
https://dev.epicgames.com/documentation/en-us/unreal-engine/contact-shadows-in-unreal-engine
How did we go from Ambient Occlusion to Contact Shadows.
AO in ShadowMap falsely occludes things that should not be occluded. The actual reason your models look too bright in Future is because there’s no short-distance shadowing. They just happen to look better in ShadowMap because the mistaken AO kind of approximates it in this one case.
Look closely. The sunlight is falling on the front of the gun model, right? So why is the crevice on that side so dark? It’s in direct sunlight. We should instead be seeing shadows from the protrusions, not from the crevice. That’s what contact shadows solve for.
Contact shadows also more elegantly solve for many of the other AO use cases, like improving contrast on bright surfaces, without having to contort the lighting model to do non-physical things that are highly opinionated.
Roblox should not, and likely won’t ever, adopt an overly opinionated, stylised, or otherwise non-physically-based lighting model unilaterally. Opinions have to be held by the engine forever, and tend to become maintenance burdens that become obstacles to preserving artist intent into the future. More likely, we’ll get better lighting models instead, which have the benefit of being much easier to retrofit into existing artist’s content without blowing up the design.
The real issue is that Future lighting can’t accurately represent the lighting in a small neighbourhood around a pixel. That shouldn’t be solved by smearing AO on everything like it’s lip balm - even from the moment it was introduced by the Crysis team, it was a non-physical effect. The correct solution is to consider the actual lighting occurring in that neighbourhood, which Future is more correct at in general than ShadowMap.
I want shadows in places light can’t reach, AO is meant to be darker than regular shadows, contact shadows are not going to help if the shadow is the same darkness.
Yup. AO only shows in shadowed areas on Future, as is (more) physically correct. The remaining problem is just that Future doesn’t have enough shadows
I feel like what would also greatly benefit developers is the ability to have AO textures, yes this would also have the same issue of “how do we efficiently store AO in a texture pack on surface appearances” just like the emission texture, but I believe having AO textures on PBR would also be great, but even better if we could just add a new post processing effect that lets you customise AO to your hearts desire. I really think we need more PFX effects.
This would also require that that object have regular Realtime ambient occlusion turned off or making it not include ambient occlusion from itself otherwise we would get double ambient occlusion.
A tad bit harder than just finding a unused channel in the texture pack.
EDIT: That or the ambient occlusion bakes would have to only include details not present in the meshes geometry.
Yeah, thats true, just having more post processing effects would be better I believe.
Try that on meshparts now, don’t be shy. What do you think the screenshots in the post are.
Sure thing:
Comparison on a big model to show where shadowmap applies ambient occlusion to sunlight where it shouldn’t:
I used a random gun model from the toolbox.
EDIT: don’t mind the lighting I just did this in the file I had open at the time.
You can’t be serious, you scaled that up by 500x, Future doesn’t have ambient occlusion on small meshes such as guns (which are used as viewmodels to not get clipped through walls) but shadowmap does.
SHADOWMAP
FUTURE
You can clearly tell the difference, Future just removes any sort of shadow and detail from the viewmodel, future is this close to making it look straight out of a viewport.
future ambient:
shadowmap ambient:
future sunlight:
shadowmap sunlight:
EDIT: same thing but with 0.1 stud thick fins:
shadowmap ambient:
shadowmap sunlight:
future ambient:
future sunlight:
And did you even bother reading the edit where I put a smaller gun model?
Ambient Occlusion is very visible on white untextured meshes.
But its identical on the black ones.