Reduce Blocky Lighting on Smooth Face?

Hello ArcaneTheWoof,

So there are several factors that drive the resolution of shadows and lighting on models.

From the Pre UE4 :

1.) Model itself.
2.) Topology/Tessellation
3.) Smoothing
4.) Normals
5.) Light Maps
6.) UV Maps

In UE4

1.) Increase Light Resolution
2.) Enable Generate Mesh Distance Fields

I will link you to the documentation on our Wiki Page for you to study and then you can make a decision based around your project.

The first is a troubleshoot if you find yourself stuck.

The second is our official documentation on shadows,

Thanks,

Logan

Thanks for your time!

The majority of information on these pages focuses on static meshes; I’m working with a skeletal mesh that has not many of these options. Since the lighting isn’t being baked onto this model, things like light map resolution don’t seem like they would help reduce the artifacts.

It seems like a higher poly count and possibly a better normal map bake from a higher-res model are the only ways to improve the shading quality on a skeletal mesh. Would that be accurate? Or am I missing something?

EDIT: Just now I threw my marshmallow material on a built-in primitive sphere that has about the same level of topology as my mallow man and got significantly less grid-like artifacts. It seems there may also be a problem with Blender’s smoothing on export?

Blender’s smoothing on export?

Not sure UE4 would recognize smoothing from Blender. Probably have to subdivide.

That seems to be the likely cause. I’m going to try getting ahold of Maya somehow and see if it spits out better results, which would be a shame; if the problem can’t be solved because Blender just can’t spit out a proper model, then this project is kind of dead in the water.

What you have to remember is that upon smoothing in any modeling program Blender/Maya/Max is that UE4 will interpret that smoothing as tessellation.

If you look at your model inside of UE4 that you have smoothed you will notice that UE4 has tried to calculate the smoothing that you have incorporated inside of your modeling program.

Thanks,

Logan

It definitely is possible to get proper smoothing imported from Blender, though I can remember it being problematic till getting the settings figured out. Let me see if I can dig of a screen grab of my export settings.

Further information: I acquired Maya for some quick tests and found that Maya’s exporter produces meshes with the same problem, which tells me that it’s not Blender (which is encouraging). Looking at the documentation that Logan provided below, I noticed that some of the images showed the same grid-like shadowing on sphere primitives.

The only thing I have left to try is to generate a high-quality normal map in xNormal (I’ll have to use a friend’s PC, xNormal doesn’t have a Mac version) and see if that works. If it doesn’t, I may have to decide that it isn’t possible to reduce this effect.

Check out my comment below; Maya spits out models with the same problems. It would seem that Blender’s 2.71+ FBX exporter isn’t as behind the times as it has been.

Do you see the same issue if you import it as a static mesh and not a skeletal mesh? What about with Ambient occlusion off? Just curious.

I haven’t actually tried it yet, I’ll give it a shot and get back to you.

Curious: how to you mean smoothing is interpreted as tesselation? I want to make sure that we’re using terminology to mean the same thing to avoid confusion, since I just noticed that Maya has a “smooth model” option that Blender refers to as subdivision; I’m concerned with shading on a deliberately low-poly model.

That would be awesome! Thanks :9

Hmm, I was under the impression that smooth shading simply effected how the surface normals are shaded, and was a completely separate thing from tessellation which actually modifies the underlying polygons at runtime.

This documentation will clarify tessellation.

I know with smoothing groups when exporting from maya you need to turn on triangulate. This will tell the engine not to try and interpret the smoothing groups on its own but leave it up to the modeling software.

Logan

In order to increase light map resolution inside of UE4 look here.

Here is also a link to lighting and troubleshooting.

Logan

Okay, interesting things.

First off, importing as a static mesh dramatically reduced the grid effect.

Secondly, while turning off Ambient Occlusion didn’t solve the problem, turning off dynamic shadows did. This leads me to believe that the problem rests in the directional light and the shadows that it is casting. I’ll fiddle with some settings and post updates.

Not sure tessellation applies; it says tessellation is a DX11 feature and I’m on a Mac. Does it function in OpenGL?

In regard to light map resolution, that seems to be for static meshes; the problems I’m having are on skeletal meshes. In response to Hyperloop above I tried importing the mesh as a static mesh and the problem was not present, and as I discovered below, turning off dynamic shadows made the effect disappear. I’m fiddling with settings on the light source (a directional light) to see if that solves the problem. Do you have any suggestions?

Took a new screenshot. The mesh on the left is using a standard diffuse material (pure white), while the one on the right is using a preintegrated skin material (also pure white, with white subsurface color). Notice that the effect is much more present on the right mesh.

There doesn’t seem to be much else I can do to improve the shading on the subsurface models, so I may just have to emulate the effect, perhaps with careful application of emission materials.

Since your character has no surface color and you don’t have to do any tricky hue shifting for the scattered light, you could probable emulate the effect on the right pretty well with an emissive channel with a parameter that you tie to the brightness of the light in your level. Also check out the “Fuzzy Shading” node, if you are going for a marshmallow look, that may help get you there as well since marshmallows have a sort of velvety texture.

Neat character by the way!

Hey guys this is slowly turning into a comment board.

This issue has changed hands from the original post of blocky lighting to a sub surface issue. The point of these forums is to learn and address the issue posted.

If you experience any further issues than please open another ticket under the title of Sub Surface issues.

At this time I am closing this post.

If you two would like to communicate further please send private messages to each other.

Thanks,

Logan