Jump to content
3DCoat Forums
Marinesharp

[Solved] Low Resolution Normals Pixelized

Recommended Posts

When working on models for video games which require low resolution textures and normal maps (512x512 maximum), I sometimes run into the problem that normal maps come out pixelated while other times they do not. It's weird because sometimes they are smooth, others they are pixelated... and others they are both...

 

Do you guys know some tips for avoiding pixelation (or what causes it) when baking normal maps at low resolutions?

 

I've tried to find help on this but the recurring solution is increase the resolution... not really an option for me.

 

Here is a recent example of some being pixelated and some being smooth:

 

I tried many different ways of marking the seams, scaling the islands, separating different parts but nothing works.

This is an example of a model that refuses to not be pixelated.

 

Original model:

KfpHCb3.jpg

 

 

 

 

Mesh:

zyOXP5p.png

 

 

 

 

Mesh with Normal Map and Simple Textures (512x512):

sFm8sGt.jpg

 

 

 

 

And normal map (the island on the top left is the inside which will not be seen so it is not properly mapped, I tried shrinking that and increasing everything else as well but that didn't work either):

AUgi3FZ.png

Share this post


Link to post
Share on other sites

Hi! Welcome aboard. :)

 

If you can't increase the resolution of your texture, the next best solution is to increase the space those polygons occupy on the texture. You said it didn't work, but maybe the islands need more space? It should definitely work, maybe they just need more pixels?

 

Another idea, if you can have multiple image textures, is to create two UV maps and two texture maps at your needed resolution. Or a combo of both, assuming you can have more than one texture map.

Share this post


Link to post
Share on other sites

I hadn't thought of getting more space by splitting the texture into more files.

 

This model was specifically for Team Fortress 2,

but the problem applies to when I am making other low poly game models for sale on other markets.

 

I am allowed multiple materials, each with their own textures (I think) so that would work just fine.

 

Unfortunately that's more work... ah well.

Thanks for the quick and helpful response :)

Share this post


Link to post
Share on other sites

render out the normal map in a higher resolution -2k or 4k-

 

and then resize at 512mb using photoshop, gimp or krita

 

apply a sharpen filter to it but only once

 

note

Normal Map Tutorial

Share this post


Link to post
Share on other sites

Thanks for the suggestion carlosan but, unfortunately, I had already seen that tutorial and tried it with no luck lol...

 

Made a 4096x4096 resolution

(which I must say looked great and I can't wait until 4096x4096 becomes considered a small resolution for video games...),

scaled it to 512x512 and it was a bit better but still pixelated.

 

When I make models intended for game engines like unity or such, I manage with 1024x1024 in which pixelation almost never occurs,

but as soon as I get down to 512x512, things go bad.

Share this post


Link to post
Share on other sites

By looking at the normal map the problem appears to be in the baking process but without having access to the file, know way to know for sure. Is it possible to share your 3DCoat file to examine.

You can seen a pm of the location to download the file to me if you only want one person to look at it... Of course you might be under a NDA agreement too where you can not share the work...

Edited by digman

Share this post


Link to post
Share on other sites

Thanks a lot for offering, I am not under a NDA agreement, it's a personal project.

I'll pm you the dropbox link.

Share this post


Link to post
Share on other sites

In our Pm converstions here was the solution to Marinesharp's problem. Object is baking correctly now.

 

First Switch to voxel mode plus give more texture space for the uv islands in the uv set and then follow the below.

 

There are a few things to know as well for future work.

 

Surface mode--- If the model is imported it has to be very clean including the interior, sometimes people model leaving interior double polygons occupying the same space. Double vertices again occupying the same space, polygons on top of polygons and things of this nature.

 

I am not saying this was Marinesharp's case but something in the surface mode polygon model was causing the baking to bake incorrectly. We did not investigate as the voxel solution worked and we did not discuss whether the model was imported or started in 3DCoat.

 

When starting from scratch in surface mode.You have to be careful in surface mode not to create hollows as well when sculpting / cutting etc.

 

Both the above are really important as you might get too fine of detail to swtich to voxel mode as you would run out of memory doing so.

 

In voxel mode run ( Fill Voids and Close invisible Hulls) by right mouse clicking on the voxel layer and selecting them before retopoing and baking. This will ensure that the voxel model is solid all the way through and ready for retopoing and baking. Voxels are solid as Surface mode is true polygons (surface area only).

 

You can have baking problems without at least running Fill Voids when in Voxel mode. I always run them to be safe.

 

You can also start in voxel mode and when done there, run the two items I mentioned and then switch to surface mode for the fine detail work. Surface mode should have no problems baking then.

 

Here is a picture of the the outcome. I am only showing the normal map so it can easily be seen. The texture and occlusion maps are fine too.

 

Left side of the picture 512 normal map ( jaggies do to a lower amount of texture space)

Right side of the picture 2024 normal map.

post-518-0-33946200-1420166128_thumb.png

Edited by digman
  • Like 1

Share this post


Link to post
Share on other sites

×