Jump to content

Normal data on mesh


Reiramon
 Share

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

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

Recommended Posts

I am not sure if I can explain myself correctly but I'm looking for a way to transfer normal data on objects when set to smooth shading in Blender. Is it possible? 

It's (propably) known that high poly mesh creates lag yet you can see creators selling items on MP with a lot of polygons (looking at you fancy new hair with 72 000 complexity). 

Let's say I have a low poly mesh but when I turn on smooth shading it creates artifacts. I

I think its the normals? The artifacts preserve and are visible after uploading. 

I know subdivision surface modifier gets rid of this but creates an issue of high polygon count. 

Can anyone point me to a good tutorial of what I want to achieve? 

I tried YouTube and Google but it's a bit difficult when you don't know what you are looking for. 

My primary goal here is to create mesh with as little geometry as possible while preserving the details. 

The normal artifacts are visible even on textured mesh. 

I play this mmo game where the clothes the characters wear look detailed but when you open the game files in blender it's usually below 2000 vertices. So it may be possible? 

My last question is : how many vertices is too many?

I hope I got my point through and someone gets the idea what I'm talking about, because I'm already lost. 

Thanks! 

Edited by Reiramon
Link to comment
Share on other sites

2 hours ago, Reiramon said:

Let's say I have a low poly mesh but when I turn on smooth shading it creates artifacts.

I'm not really familiar with Blender 2.8 but unless I'm totally wrong this is the same as the "Auto Smooth" in Blender 2.79. Typically you get "artifacts" when you set the angle too low so some of the edges as sharp. You'll find an explanation towards the bottom of this page: https://www.katsbits.com/codex/smoothing/

Normally I'd recommend you do the smoothing in edit mode though since it gives you more precise control. Apparently the Blender developers don't like this so they've tried to hide the smooth functions in Edit mode as well as they can in 2.8 but it's still there: https://blender.stackexchange.com/questions/100221/2-8-smooth-shading-in-edit-mode

  • Thanks 1
Link to comment
Share on other sites

Try searching for "blender 2.8 bake normals from high poly to low poly" on Youtube and you should get plenty of results. This page on the polycount wiki contains a lot of detailed info concerning texture baking. It's not Blender-specific, but the info there is pretty much universal across 3D modeling software.

The shading artifacts could be caused by any number of things. To control shading on the low poly model, I enable shade smooth in object mode, enable autosmooth in the properties editor > object data properties tab > normals, and increase the angle to 180'. Then I select edges in edit mode and use mark sharp in order to place sharp edges exactly where I want them instead of relying on lower autosmooth values to place them for me. You should be able to find plenty of tutorials on this on Youtube too.

Concerning the recommended tri count, it's hard to tell since you haven't mentioned your art style (realistic vs. stylized) or the size of the avatar you're creating clothing for (gnome, human, or giant). You generally make certain areas of a model more or less dense depending on how close you think the in-game camera will normally view them. That way, you can minimize faceting on the model's silhouette if you're going for a realistic art style. You typically use less tris when creating stylized art, but again, it depends on a lot of factors. It's a juggling act between making the model look good from certain distances, optimizing the tri count, and repeating until you're satisfied. That's general advice and I'm sure more experienced SL creators can offer some SL-specific advice.

  • Thanks 3
Link to comment
Share on other sites

17 hours ago, ChinRey said:

I'm not really familiar with Blender 2.8 but unless I'm totally wrong this is the same as the "Auto Smooth" in Blender 2.79. Typically you get "artifacts" when you set the angle too low so some of the edges as sharp. You'll find an explanation towards the bottom of this page: https://www.katsbits.com/codex/smoothing/

Normally I'd recommend you do the smoothing in edit mode though since it gives you more precise control. Apparently the Blender developers don't like this so they've tried to hide the smooth functions in Edit mode as well as they can in 2.8 but it's still there: https://blender.stackexchange.com/questions/100221/2-8-smooth-shading-in-edit-mode

 

4 hours ago, n0minous said:

Try searching for "blender 2.8 bake normals from high poly to low poly" on Youtube and you should get plenty of results. This page on the polycount wiki contains a lot of detailed info concerning texture baking. It's not Blender-specific, but the info there is pretty much universal across 3D modeling software.

The shading artifacts could be caused by any number of things. To control shading on the low poly model, I enable shade smooth in object mode, enable autosmooth in the properties editor > object data properties tab > normals, and increase the angle to 180'. Then I select edges in edit mode and use mark sharp in order to place sharp edges exactly where I want them instead of relying on lower autosmooth values to place them for me. You should be able to find plenty of tutorials on this on Youtube too.

Concerning the recommended tri count, it's hard to tell since you haven't mentioned your art style (realistic vs. stylized) or the size of the avatar you're creating clothing for (gnome, human, or giant). You generally make certain areas of a model more or less dense depending on how close you think the in-game camera will normally view them. That way, you can minimize faceting on the model's silhouette if you're going for a realistic art style. You typically use less tris when creating stylized art, but again, it depends on a lot of factors. It's a juggling act between making the model look good from certain distances, optimizing the tri count, and repeating until you're satisfied. That's general advice and I'm sure more experienced SL creators can offer some SL-specific advice.

Thanks ChinRey and n0minous. 

Both methods - shade smooth or mark sharp edges seemingly got rid of the shading issues. 

Didn't think it would be so simple but still have a lot to learn. 

Link to comment
Share on other sites

5f436786dd.png

Normals make all the difference. (Same mesh, one has a "higher poly" normal map.)

You start by having both models (high and low poly) in the exact same position. (The low poly model needs to have at least one material as well.)

f1cfa7d08d.png

  1. Select the high poly first, then also select the low poly, so that it's the active object.
  2. Switch to the Shader Editor (previously known as the Node Editor), press Shift-A to add Texture > Image Texture.
    Click New to create a new image, settings don't really matter so pick whatever.
  3. Make sure the node is selected, it will have a white highlighted border if it is. It does not need to connect to anything.
    595b3fe22c.png
     
  4. Go to the Render Properties tab on the sidebar (little TV icon) and select Cycles as the Render Engine at the top.
  5. Below that, there's a menu called Bake
    1. Set the Bake Type to Normal
    2. Enable Selected to Active
    3. Adjust the Ray Distance, the correct value depends on the size/shape of your object. My object is simple so I used 0.1
      Longer ray distance will detect deeper cavity, but too long/short might detect the wrong side (or no side) of your mesh.
  6. Click the Bake button.
    24158d8523.png
     
  7. Assuming you did everything correctly, you can now switch to the Image Editor, select the baked image, and save it as a file.
    e0c44b521e.png
Edited by Wulfie Reanimator
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

On 8/14/2020 at 1:55 AM, Wulfie Reanimator said:

5f436786dd.png

Normals make all the difference. (Same mesh, one has a "higher poly" normal map.)

You start by having both models (high and low poly) in the exact same position. (The low poly model needs to have at least one material as well.)

f1cfa7d08d.png

  1. Select the high poly first, then also select the low poly, so that it's the active object.
  2. Switch to the Shader Editor (previously known as the Node Editor), press Shift-A to add Texture > Image Texture.
    Click New to create a new image, settings don't really matter so pick whatever.
  3. Make sure the node is selected, it will have a white highlighted border if it is. It does not need to connect to anything.
    595b3fe22c.png

     
  4. Go to the Render Properties tab on the sidebar (little TV icon) and select Cycles as the Render Engine at the top.
  5. Below that, there's a menu called Bake
    1. Set the Bake Type to Normal
    2. Enable Selected to Active
    3. Adjust the Ray Distance, the correct value depends on the size/shape of your object. My object is simple so I used 0.1
      Longer ray distance will detect deeper cavity, but too long/short might detect the wrong side (or no side) of your mesh.
  6. Click the Bake button.
    24158d8523.png

     
  7. Assuming you did everything correctly, you can now switch to the Image Editor, select the baked image, and savee0c44b521e.png

Thanks Wulfie. 

I know how to bake normal maps but thought it's only for details. 

Link to comment
Share on other sites

On 8/12/2020 at 8:34 PM, Reiramon said:

I am not sure if I can explain myself correctly but I'm looking for a way to transfer normal data on objects when set to smooth shading in Blender. Is it possible? 

It's (propably) known that high poly mesh creates lag yet you can see creators selling items on MP with a lot of polygons (looking at you fancy new hair with 72 000 complexity). 

Let's say I have a low poly mesh but when I turn on smooth shading it creates artifacts. I

I think its the normals? The artifacts preserve and are visible after uploading. 

I know subdivision surface modifier gets rid of this but creates an issue of high polygon count. 

Can anyone point me to a good tutorial of what I want to achieve? 

I tried YouTube and Google but it's a bit difficult when you don't know what you are looking for. 

My primary goal here is to create mesh with as little geometry as possible while preserving the details. 

The normal artifacts are visible even on textured mesh. 

I play this mmo game where the clothes the characters wear look detailed but when you open the game files in blender it's usually below 2000 vertices. So it may be possible? 

My last question is : how many vertices is too many?

I hope I got my point through and someone gets the idea what I'm talking about, because I'm already lost. 

Thanks! 

Vertex normals are automatically exported with Collada, as it is part of the mesh data.

If you are seeing artifacts in the shading, then there's a couple of things that could be going horribly wrong.

The first and most common is that you have an inverted normal. In which case you need to recalculate your normals. Enter Edit mode, Press A, then press Cntrl+N for Blender 2.8. You can also just search for this in the search menu.

The second most common is that you have polygons that are not manifold. This means the geometry is considered to be mathmatically impossible. You have one or more vertexes of a polygon that are not planar. That is to say... if you lay a sheet of paper on a table. And you look at the four corners. They are all on the same surface, so they are planar. If you lift one or two corners, it is no longer planar.

Finally, the third possible is that you just have *****ty topology. A pole (a vertex with 5 or more points) will create a strange pucker on a curved or moving surface. Three edges running parallel near each other will create a visibly sharp edge.

 

Quote

Thanks Wulfie. 

I know how to bake normal maps but thought it's only for details. 

Not always, it depends. But they do have their limits in what they can and cannot do. Normals will only effect the shading on the face. So you will get a very strange artifact when the lighting start's shifting more to one side. This is because it is the polygon's normals that's responsible for how lighting flows along the model. But this is also dependent on how the renderer works behind the scenes. So it could work as expected.

Edited by Cyrule Adder
  • Thanks 1
Link to comment
Share on other sites

With the normals (hoepfully) sorted out, time for some of the OP's other questions and comments:

On 8/13/2020 at 3:34 AM, Reiramon said:

I play this mmo game where the clothes the characters wear look detailed but when you open the game files in blender it's usually below 2000 vertices. So it may be possible?

A friend of mine is a 3D modeller who has worked in the movie industry for many years before he joined SL. I first met him only a few days after he had joined and the first things he said to me was "Why are meshes in SL so high poly?" It's not at all unusual for items in SL to have twice, three times, even ten times as many tris, vertices and texture pixels as they really need for the visual effect they give.

 

On 8/13/2020 at 3:34 AM, Reiramon said:

My last question is : how many vertices is too many?

It depends on what you're building. Some objects need a lot, others don't.

Here are a few fairly random examples from my own works:

Stack of four rusty oil barrels:

bilde.png.135d936c17c3b3fe8f7f15e05d995f6e.png

264 Vertices, 236 Tris, 705 Render complexity, 1,536 KB VRAM (six 256x256 textures, normal maps and specular maps)

Single room Irish cottage with fireplace:

bilde.png.4aa7170b376eff91f7579ccb0a3d417f.png

3,544 vertices, 3,153 tris, 6,570 render complexity, 9,792 KB VRAM

Greek style (except in white rather than blue) café table and chairs:

bilde.png.5c7eec9b582d97c5953faeb6c0fbdbe6.png

Each chair: 616 vertices, 396 tris, 819 render complexity, 1,280 KB VRAM

Table: 3,688 vertices, 2,911 tris, 3,045 render complexity, 5,376 KB VRAM

Birch tree:

bilde.thumb.png.e83c26fea01957ee69c676b7608951a9.png

120 vertices, 115 tris, 833 render complexity, 2,048 KB VRAM

Another slightly more complex birch:

bilde.png.c2e7f00bba99fe65bbbe0c5c2390a7ea.png

436 vertices, 470 tris, rende complexity 1,413, 2048 KB VRAM

Etc ., etc., etc.

I can give you a lot more examples of course but hopefully you get the idea. Vertice ***** for this selection varies from 120 to 3,688. The only real rule/advice is to use your brain and your eyes and try to figure out which vertices, triangles and texture pixels your build actually need and which ones little or nothing to the overall appearance.

Edited by ChinRey
  • Like 3
  • Thanks 1
Link to comment
Share on other sites

Adding onto what Chinrey said... a lot of times... you can get even lower Polygons with some really - really stupid tricks that most people don't actually think about. Alpha Masking is generally one of my favorite tricks. Because it allows me to make Railing, Cages, Archways, windows, round things, and what have you for a massive reduction in polygons.

https://simonschreibt.de/gat/alpha1-top5/

 

With clothing. The way they do it is they sculpt the clothing and make it extremely highly detailed. They then make a lower poly version of the HD mesh, and bake out a normal map. One of my incomplete projects below as an example.

Urm3gvS.png

 

That normal map, along with the color map is what gives it a very high detailed look. Sometimes you can get away with the colormap only. In fact, a lot of heavy lifting is done by textures.

vXj9wtI.jpg

This is one of my mods that I did a year or two ago in about... 3 days. A Kobold using the Kemono body and some bodyparts. With the textures and horns made by me. The body is almost completely flat on the front. (using a flat chest mod). But a lot of effort went into painting the AO, and creating a servicable normal-map for a low density texture, which is the entire body standing up using very little of a 1024x1024... but the feet and hands eat up quite a bit of space.

Alone this still does look fairly flat. But this can easily be improved by a tiling scaled specular and bump map which will give it omph. As you can see below in one of my more recent project characters.

3muxiu0.png

Edited by Cyrule Adder
  • Like 1
  • Thanks 2
Link to comment
Share on other sites

1 hour ago, Cyrule Adder said:

Adding onto what Chinrey said... a lot of times... you can get even lower Polygons with some really - really stupid tricks that most people don't actually think about. Alpha Masking is generally one of my favorite tricks. Because it allows me to make Railing, Cages, Archways, windows, round things, and what have you for a massive reduction in polygons.

Oh yes! That used to be a very common and extremely efficient technique in SL but today it seems to be frowned upon. Look at this:

bilde.png.32870deb9a5a4e6ed97d4fe859df8e61.png

The railing is nothing but a flat sheet with a tiled texture yet it looks great even at close range:

Untitled.thumb.jpg.d5b53b29fefe4c09efb9a25c17d10238.jpg

It doesn't even need normal or specular maps. It's just a tiled 512x512 FilterForge factory preset texture.

And if that wasn't enough, with a quick retexturing you can get a completely different look:

Untitled2.jpg.1ff407bfe87da89b87b7d2e18bb00320.jpg

The three lowest variants here are simply low resolution (down to 64x128 for no. 3) black silhouettes and they still look great at any distance except up really, really close. Imagine the VTP (Vertice-Triangle-Pixel) count something like these would have as detailed mesh. And imagine the LoD issues and/or land impact!

In an actual SL environment (rather than on a product pic on MP) such railings can look much better than detailed mesh ones too since you can afford to have a variety of different designs rather than just duplicate the same one over and over again.

Edited by ChinRey
  • Like 4
  • Thanks 1
Link to comment
Share on other sites

On 8/15/2020 at 9:50 AM, ChinRey said:

With the normals (hoepfully) sorted out, time for some of the OP's other questions and comments:

A friend of mine is a 3D modeller who has worked in the movie industry for many years before he joined SL. I first met him only a few days after he had joined and the first things he said to me was "Why are meshes in SL so high poly?" It's not at all unusual for items in SL to have twice, three times, even ten times as many tris, vertices and texture pixels as they really need for the visual effect they give.

 

 

I mentioned this because I saw a content create on the beta grid with his newest creation. It was a shirt with a coat which looked really nice but upon inspecting it, all parts total had 190 000 triangles. Which I would like to completely avoid. 

I was always dreading with my creations (I'm not a content creator yet, just make stuff for myself only) that my triangle will be very high. I thought 10k is very high on clothes for example. 

Your examples look nice ChinRey, hope I'll be as good as you are after practicing with Blender. 

I'll keep the alpha method in mind if I ever will create something like that. 

On 8/15/2020 at 11:41 AM, Cyrule Adder said:

Adding onto what Chinrey said... a lot of times... you can get even lower Polygons with some really - really stupid tricks that most people don't actually think about. Alpha Masking is generally one of my favorite tricks. Because it allows me to make Railing, Cages, Archways, windows, round things, and what have you for a massive reduction in polygons.

https://simonschreibt.de/gat/alpha1-top5/

 

With clothing. The way they do it is they sculpt the clothing and make it extremely highly detailed. They then make a lower poly version of the HD mesh, and bake out a normal map. One of my incomplete projects below as an example.

Urm3gvS.png

How would you go about making a low poly version of a high poly mesh? 

Deleting higher rezolution on multirez modifier or from scratch?

Also about the normal maps and specular maps. I see people making their mesh only use the diffuse but it looks fine. My issue is about people who don't have advanced lightning enabled. If they don't, they won't see normal or specular maps and will only see bland texture. Should I worry about that much? 

But I guess that's my next step - learn how to make the textures look good without normal and specular. 

Quote

 

This thread has been quiet informative so I have to thank everyone that contributed. 

Edited by Reiramon
  • Like 1
Link to comment
Share on other sites

19 minutes ago, Reiramon said:

How would you go about making a low poly version of a high poly mesh? 

Deleting higher rezolution on multirez modifier or from scratch?

I would strongly recommend you try dissolving/merging everything by hand when possible. It doesn't take a lot of time and gives you the greatest control as you reduce the details.

Though, of course that depends how you created the high poly model.

  • If you used a lots of modifiers, you should keep a non-applied copy so you can reduce the detail on the modifiers instead, and get a clean output that way.
  • If you sculpt things in something like ZBrush, you would retopo the whole thing by hand, by creating polygons with surface-snapping.
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

23 hours ago, Reiramon said:

How would you go about making a low poly version of a high poly mesh?

Oh, there are so many answers to that but since I understand you work in Blender, the by far most important one is this:

bilde.png.1244bdb4aa6242f7f904dbcfed41675b.png

More than 99% of the work I do in Blender is done in Edit mode because that's where you actually see the vertices and once you do that, it's often obvious what needs to be done.

Edited by ChinRey
  • Thanks 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1418 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...