Shading not smooth

Hi there.
On my Mesh, you can clearly see the Triangulation, even though every polygon has the same Smoothign Group:
9a8025954fe04f894b99f7adba60942f6e2298a6.jpeg
d1c748b260771bff704bcaba73ea3df9e2d8388c.jpeg

The Normals are genereated with Mikk T-Space

Do you still see the facets when disabling shadows?

Thats the way the preview scene in the mesh tab is set up. The light being used has a too short cascaded shadow distance such that they sample even those slight angles on your little polygons.
Its a bummer cos I also havent found a way to change that. What I havent looked into tho is see if one can make his very own preview scene. Then you could make sure the light doesnt do that by making your own.

I think i’m going to lurk around these forums every time a similar issue comes up until i get an answer myself : ). And every time i’m gong to link them to our problem in hopes for an answer as well : ).

Yes this is a problem yes there is an issue with unreal and normals, smoothing groups and importing them or not at all. Yes it becomes most visible when you use higher dynamic shadow cascades, simply because the shadow detail increases and you’ll be able to visualize the error better, but its just always there. and Finally this is mostly happening with skeletal meshes. I hope somebody somewhere can give us some answers. somebody… It is a serious issue.

Here are the links if you are interested.

FBX and normals Import going very wrong! - World Creation - Epic Developer Community Forums!

edit: some good folks have replied to those links just noticed (will check them and comment back in case this doesn’t work still).
edit02: the problem not yet solved you may follow the discussion there if it helps you.

This is a problem that is universal to all shadowmap rendering methods.

There are actually 2 things that work together that make your surfaces appear shaded

  1. Backface attenuation. This is the N dot L part of the lighting. Any surface 90 degrees to the light will receive 0 lighting from the backfacing attenuation.

  2. Actual Shadowcasting. While backface attenuation darkens the sides and backsides, it wouldn’t prevent light from showing up on front facing objects which are behind other faces (ie, inside a players mouth or the eyeballs).

Usually, it is expected that the backface attenuation and shadowing will match very closely. However, as a larger an larger dynamic shadow area is used, the resolution of the shadow will drop, and bias will be used to slightly tweak the shadow comparison threshold to either push or pull the shadow to either fix overshadowing or undershadowing. If the shadow is biased backwards too much, the shadowing will occur before the backface attenuation, and you will see the effect of shadows generated from lowpoly geometry. If the shadow is based forwards too much, it looks like there is light bleeding (ie, a characters nose will not appear to shadow the face because the bias will be larger than the nose in most cases).

It may be impossible to both remove your artifacts and also have nice small detail shadows. It is not uncommon for game cinematics to tweak all of this per shot to make it look as nice as possible. Using the new ContactShadows feature may allow you to get away with a slightly larger bias.

The bias setting should be on the light itself.

Hi Ryan,

first thanks for looking into this and i’m assuming you are also referring to my threads.

Ok so two questions:

1 - It is evident that this problem shows up in further detail once we up the dynamic shadow cascades in the light plus try to get a balanced bias setting. Of course the reason we do this as you suggested is to try and grab finer shadows (per shot basis, placing camera strategically) such as having nose casting shadows onto face and around eye areas. But as you also suggested this will cause these artifacts to appear. Now i’ve been trying to tweak everything in order to get proper detailed shadows but it’s been nearly impossible to get them without at least getting those dynamic cascades to 6 in my case. And by doing so those artifacts show up even more. The post process effect of contact shadows hasn’t given us much leeway either sometimes it works and most other times was causing other artifacts or doesn’t work entirely. I will try to go back and look into all this again given that you say it is what it is, a limitation with shadows and lights. How where you guys managing this with paragon characters? I mean you were getting detailed shadows in your sample videos, did you run into similar issues as well?

2 - If the above is one culprit, what i do not understand is why unreal does not import the normals that are setup in max without completely ignoring them and recomputing them during import regardless of the “import normals” options setting?

Minor side note (no pun intended): if shadow maps are causing this and is the result of their nature, then i just want to know is this exclusive to unreal’s workflow? last i remember i tried a quick scene in unity and i wasn’t getting such artifacts yet was able to cast proper shadows.

Thanks.

How normals are processed is completely separate from this issue. Shadowing is based on the geometric shape, not the normals. Only the backface attenuation cares about the normals and your normals look fine.

No, its definitely not unreal specific. hard to compare to a random scene from another engine since there are just so many variables. Ie number of cascades, shadowresolution, shadow distance, scale, different biasing techniques.

To get high quality up close shadows you usually need to go down to 1 or 2 cascades. You can also try doing r.shadow.maxresolution 4096. And bring your total shadow distance way down to a few thousand units. You can use alternate methods like DF shadows or special “Far Shadows” for beyond.

Ok Thanks Ryan for making some of this clearer, I was also fortunate enough to have been contacted by one of your teammates and they will be answering my other posts soon.

I did some quick tests by reducing the dynamic shadow cascades to default values and upping the shadow map res, its giving me similar good results but the issue of facets are back in some places, I’m going to ignore them for now until i receive some of the responses on answer hub later. The more i look into this puzzle of balancing light quality the more i realize that the “dynamic shadow distance for movable light” is one of the key components to ensure a proper continuous shadow quality over all, the question is during long moving camera motions as in close up to far shot in one take, will it be then totally possible via BP to link the shadow distance value of the light to the camera distance so that at almost all times the value would be automated and controlled in order to maintain a consistent shadow play throughout the scene or characters? Ex. if my value of 2000 works well for close up face and value of 10000 works well for far shot with distance X, could it be part of a workflow to tell the parameter to increase value of the dynamic shadow distance as camera moves away from Subject’s face? Or is this not a good practice?

Will definitely test it soon but any heads up at this stage to help our workflow will be helpful.

Many thanks!