Jump to content

Why this artifact?


Pamela Galli
 Share

You are about to reply to a thread that has been inactive for 3257 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I made a brown sofa, then I lightened the textures to make a lighter version. But the front of the arms has this grey streak inworld which is not visible in Blender, and cannot be seen on the texture at all.  I subdivided the affected part of the arm, with no effect. The affected part is just flat, the normals are all perpendicular.

 

Has anyone seen this and know what to do? 

 

Screenshot 2015-05-24 22.36.57.png          Screenshot 2015-05-24 23.33.06.png

Link to comment
Share on other sites

With smooth shading, the normal is gradually changed as you go across the surface, from the values at each corner. For this model, the effect is that the the surface of the large rectangle in the middle of the arm has a slight bulge, When light strikes this at a nearly glancing angle, the bulge has a large effect on the incident light intensity per unit of the surface. One side of the bulge is almost in shadow. So the diffuse reflection there is correspondingly lower. Where the border between more and less brightly lit parts happens depends on the angle of the incident light. In SL, that is where the sun is, So it will vary with time of day.

Here is an illustration of this effect. The model is on the left. The first two blocks have opposite triangulation to show that triangulation is not the cause. In the third block, extra edge loops have been added near the top and bottom, outside the bevel. The effect of that is that there is no longer any variation of the normal in the vertical direction. The virtual bulge is now cylindrical instead of ellipsoidal. Then there are three panels in rendered view, with a single "sun" lamp pointing at the model at a glancing angle, first from the left (6am or 8pm in SL), then from above (12pm in SL), and finally from above-left (9am or 3pm in SL). You can see (a) that triangulation direction makes no difference, (b) that the diagonally glancing illumination has the expected effect from the virtual ellipsoidal bulge and © that you can eliminate the diagonal effect by having only a cylindrical bulge.

In other words, this is an intended and expected effect. If you test the effects of angle to the sun ant time of day, you should see that it is dependent on these. If it doesn't fit with the expected appearance, then changes to the geometry should be able to get you nearer the expected effects.

diagshado.jpg

ETA: You say the part with the shading is flat with perpendicular normals, but it doesn't look like that's quite true in the picture on the right. You could look at the vertex normals to check that. Those are the ones that need to be perpendicular to the middle face it you want it to be shaded completely flat. For that, the face normals need to be perpendicular both sides of the edge, but the ones above and below your middle face are clearly sloping outwards.

Link to comment
Share on other sites


Drongle McMahon wrote:

Ah yes ... we have that in Blender too now ... It was working on the overnight builds. Don't know if it's in release yet.
Nor do I know if there's a convenient workflow for this application
. I hope so - It's going to save a lot of uneccesary extra geometry.

Yeah, that's the question. If someone can find a way to achieve the desired shading with edited normals in Blender, I guess it's you. There is a 2.75 testbuild out now.

Editing the normals, instead of adding supporting geometry, can help greatly when it comes to the LODs. Especially on models with baked normal maps. Keeping the gradients in the normal map as small as possible. Which you can apply to flat shaded geo in the lowest LOD as well, without breaking the shading badly, and having it look like chewing gum.

Link to comment
Share on other sites


Pamela Galli wrote:

Don't know this works but looks like a very important thing to know how to do.

Yes, vertex normal editing is importend in game asset creation. Unfortunately this is one of Blenders weak spots still. AFAIK, the example shown in the image above weren't even possible before version 2.74. And thanks to Gaia (once more) for making it possible to export the results with collada in 2.75.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 3257 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...