Jump to content

DulceDiva
 Share

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

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

Recommended Posts

Hello. I seem to be struggling when it comes to baking normals from a high poly mesh to a low poly mesh. The reason: no matter what I do, or what tutorials I follow, I cannot get a good,high quality result (my finished result looks messy). I tried baking normals in both Blender & Substance Painter. So my question is...if I bake my high poly mesh separately and then use it's normal maps on my low poly mesh, will that work on the same principle? 

Link to comment
Share on other sites

1 hour ago, DulceDiva said:

So my question is...if I bake my high poly mesh separately and then use it's normal maps on my low poly mesh, will that work on the same principle? 

No, that's not how it works.

Looks messy isn't actually much information. Where does it look messy? In Second Life, or in Blender already?

Link to comment
Share on other sites

@arton Rotaru In Blender it includes green,yellow broken-like pieces onto the bake map. In Substance Painter it paints the detail once again onto the normals (I made a choker with studs,it bakes the shape of the studs once more onto the collar piece itself so they are kind of outlined by another pair or squashed studs).

Link to comment
Share on other sites

7 hours ago, DulceDiva said:

@arton Rotaru In Blender it includes green,yellow broken-like pieces onto the bake map. In Substance Painter it paints the detail once again onto the normals (I made a choker with studs,it bakes the shape of the studs once more onto the collar piece itself so they are kind of outlined by another pair or squashed studs).

Images would really help.

The normal map needs to go on the low-poly mesh, since that's the only mesh that will exist in SL.

Like Arton said, make sure your UVs don't overlap. I don't think offsetting by 1 will make a difference since it'll only wrap around and still overlap. You may also have to experiment with your two mesh sizes or raycasting cage, at least in Blender. It doesn't always like if the two meshes clip through each other.

Link to comment
Share on other sites

3 hours ago, Quarrel Kukulcan said:

Like Arton said, make sure your UVs don't overlap. I don't think offsetting by 1 will make a difference since it'll only wrap around and still overlap.

Yes, they wrap around, which makes sure they still fit perfectly. But only the 0 to 1 UV tile is used for baking. 

Edited by arton Rotaru
Link to comment
Share on other sites

@arton Rotaru @Quarrel Kukulcan Right,so here are 2 screenshots. I managed to bake a normal map that isn't messed up anymore in Blender.However, I can't seem to get my head around this issue. So long story short: my mesh is 1 object with 3 faces (the hearts/buckle which share 1 UV map together,the collar and the diamonds on the buckle with 1 UV each).Now,why is it doubling the hearts as well? Would I have to separate and bake each face individually, and then join them all again into 1 object? Sorry if I'm confusing you, I'm not quite good at wording my Blender work yet as I'm new to this :) 

 

Substance Painter:

Substance painter.png

Blender:

Blender.png

Edited by DulceDiva
Link to comment
Share on other sites

2 hours ago, DulceDiva said:

Would I have to separate and bake each face individually, and then join them all again into 1 object?

That's what I actually do with multi material meshes. But I don't use Substance Painter for baking normal maps. I use XNormal and a cage for baking.

However, you could setup your meshes using an UDIM workflow with Painter. Dunno if it's worth the hassle, though. Easiest solution for this choker thingy would be to pack everything onto a single UV map and using just 1 material. Plenty of unused (waisted) space on that map, and reducing drawcalls by having as few as possible materials per mesh is good practice as well.

  • Like 1
Link to comment
Share on other sites

3 hours ago, arton Rotaru said:

Plenty of unused (waisted) space on that map, and reducing drawcalls by having as few as possible materials per mesh is good practice as well.

Thanks for the tip, never heard of XNormal. Will have a look at it. I originally wanted to place everything on 1 UV map only, but then I thought that customers might want to change the color of the buckle or the diamonds via HUD and so I made separate UVs. 

Link to comment
Share on other sites

I'm using XNormal mainly because of I like the highpoly AO bake it does. And.... I'm used to it for ages.

Having multi materials for changing just parts of the model is a valid reason indeed.
If it is possible to change colors with just tinting the color, it would still be possible to use a single texture set. Just with multiple materials assigned to the mesh still. But I guess that's not an option with this choker with studs. At last I know what a choker is now. 🤭

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

You can also take the regular texture and bring it into photoshop. And from the menu. Go to Filter->3d->Generate normal map. You can also do this for a spec map (generate height). Here is an example. You can also fine tune it as well. I find it a whole lot simpler then trying to generate them in 3ds sometimes.

b9163d56e7ce9b46b86be870c3f8dce7.png

c8ffb7dac65ce6f2cafcaa37ba0acd6c.png

Link to comment
Share on other sites

It works great, and being able to adjust it is awesome. Baking the normal maps in 3ds with the lighting maps sometimes makes them too strong or not strong enough, or non existing depending on the texture. This is perfect because you can adjust them, test them out in SL, and redo them simply without having to rebake anything. 

Link to comment
Share on other sites

On 11/24/2022 at 10:52 AM, Jenny Ashland said:

You can also take the regular texture and bring it into photoshop. And from the menu. Go to Filter->3d->Generate normal map. You can also do this for a spec map (generate height). Here is an example. You can also fine tune it as well. I find it a whole lot simpler then trying to generate them in 3ds sometimes.

b9163d56e7ce9b46b86be870c3f8dce7.png

c8ffb7dac65ce6f2cafcaa37ba0acd6c.png

It can also be done in GIMP!

  • Like 1
Link to comment
Share on other sites

To be clear, the results you get from attempting to extract a normal map from a regular texture are not even remotely comparable to what can be achieved by baking details from a high poly model to a low poly model in a 3D app. 

You can get reasonable results if your original image meets certain criteria however you're invariably much better off baking your normal maps using an app like Substance Painter, 3D Coat, Marmoset Toolbag or Blender if you have access to both the high and low poly models.

Here's a useful article that outlines why filtering photographs isn't the best approach How NOT To Make Normal Maps From Photos Or Images (it also gives some details on how to generate normal maps by creating your own depth maps and has a ton of links to additional resources at the beginning of the article which provide a thorough explanation of how to create and manipulate normal maps and details on some of the various tools available).

 

  • Like 1
Link to comment
Share on other sites

@Fluffy SharkfinThanks for the advice, Fluffy. As a beginner, I'm still learning as I go. I pretty much learnt the basics, creating normals and rigging are the last things I got to improve. For now, I'm baking high poly to low poly,using Substance Painter as I find this to be the easiest way. The only downside is that I have to unlink my whole object and bake each piece (e.g. jewels on a necklace) individually - which takes some time.

  • Like 1
Link to comment
Share on other sites

2 minutes ago, DulceDiva said:

@Fluffy SharkfinThanks for the advice, Fluffy. As a beginner, I'm still learning as I go. I pretty much learnt the basics, creating normals and rigging are the last things I got to improve. For now, I'm baking high poly to low poly,using Substance Painter as I find this to be the easiest way. The only downside is that I have to unlink my whole object and bake each piece (e.g. jewels on a necklace) individually - which takes some time.

Learning the more advanced techniques can be confusing and frustrating to begin with but once you've figured out which boxes to tick and which particular settings to use to generate results that work with SL then you'll find the process is pretty simple and little more than an excuse to walk away and make a cuppa while you wait for the software to do its thing.

I have Substance Painter myself but very rarely use it since I prefer to use 3D Coat for the vast majority of the modelling and texturing process so I can't offer any specific advice (although I'd be surprised if there isn't a fix for your problem with having to bake each piece individually), however looking at your normal map it does seem that you have a lot of unused space on your UV map.

It's a little hard to offer any advice on how you could improve your results without examining the low poly model and UV mapping, etc. but I suspect that making some changes to the way in which your UVs are unwrapped may help quite a bit.  For example, all the jewels on the choker appear to be identical so if your low poly model contains polygons representing each jewel (rather than being a purely flat surface with no additional geometry for each jewel) then you could simply generate the normal map for a single jewel and stack the UV map for all the jewels on top of each other so they all use the same part of the texture.

Working out how best to lay out the UVs of your low poly model in order to maximize the amount of pixels you have to work with and ensuring you take every opportunity to save space by reusing the same pixels on identical parts of your model is something that takes time and practice but once you're able to unwrap UVs efficiently you'll find that your end results will be a lot more satisfactory.

Link to comment
Share on other sites

20 hours ago, Fluffy Sharkfin said:

To be clear, the results you get from attempting to extract a normal map from a regular texture are not even remotely comparable to what can be achieved by baking details from a high poly model to a low poly model in a 3D app. 

You can get reasonable results if your original image meets certain criteria however you're invariably much better off baking your normal maps using an app like Substance Painter, 3D Coat, Marmoset Toolbag or Blender if you have access to both the high and low poly models.

Here's a useful article that outlines why filtering photographs isn't the best approach How NOT To Make Normal Maps From Photos Or Images (it also gives some details on how to generate normal maps by creating your own depth maps and has a ton of links to additional resources at the beginning of the article which provide a thorough explanation of how to create and manipulate normal maps and details on some of the various tools available).

 

Yes, you are right. I should have been clearer. You should always bake at least the AO map first in your 3d program so that the shadows and everything are where they are suppose to be. You can texture the AO map in photoshop using the liner burn feature to basically burn the texture into the AO map. Using photoshop for normals and specs, should only be done on an already baked texture!

Link to comment
Share on other sites

22 hours ago, Fluffy Sharkfin said:
22 hours ago, Fluffy Sharkfin said:

 For example, all the jewels on the choker appear to be identical so if your low poly model contains polygons representing each jewel (rather than being a purely flat surface with no additional geometry for each jewel) then you could simply generate the normal map for a single jewel and stack the UV map for all the jewels on top of each other so they all use the same part of the texture.

 

I actually struggled with this part. Yes,those are identical. I unwrapped one and tried transferring the UV map for the rest of them but didn't succeed as I couldn't find a tutorial showing how to do assign 1 UV map to duplicates of the same object.I am still looking for a way to do this as we speak.

Edited by DulceDiva
Link to comment
Share on other sites

1 hour ago, DulceDiva said:

I actually struggled with this part. Yes,those are identical. I unwrapped one and tried transferring the UV map for the rest of them but didn't succeed as I couldn't find a tutorial showing how to do assign 1 UV map to duplicates of the same object.I am still looking for a way to do this as we speak.

I don't use Blender, but Magic UV should do the the trick. Checking Unique Target seems to copy the scale and positions correctly.
BLDR_MagicUV.JPG.f48e0373eafd56d67a6fdb28fdb5d7e2.JPG

Often I do unwrap just one copy, and duplicate that one and put these copies back in position.

Also, remember, if you have stacked UVs, move the stacked copies out of the 0 to 1 UV tile by 1 tile, to avoid baking errors.

Edited by arton Rotaru
Link to comment
Share on other sites

in your case, the easiest way in substance is to bake "by mesh" which is a setting in your bake window. export a fbx version of your choker, where the hearts, base and buckle are separate pieces in one file. name them something like hearts_low, choker_low, buckle_low. but export as one file. for the high poly you need according names as in hearts_high, choker_high etc.. it's case sensitive. you can then load multiple files into the high poly window. when it's set to bake by mesh, it will cast shadows but not "clip" into each other. 

  • Like 1
Link to comment
Share on other sites

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