5
$\begingroup$

I'm trying to bake a normal map to a low-poly model with a multires modifier on it (no sculpting, just 3 subdivisions). It seems to work at first, but the final render has obvious seams in the lighting corresponding to the model's UV seams (for example: along the back of the left ear as shown in the picture, and between the fingers). Plus, the shading just looks like hot garbage in general; not at all smooth like I would expect. Why?

enter image description here

Here's the blend file: https://www.dropbox.com/s/ijba9uxtwuaq3dt/normalMapFailure.blend?dl=0 To reproduce my images, just Bake the normals again, then render the model. The image, texture, and multires should be set up already.

I've gotten the same results in Blender 2.66 and 2.73.

Edit: I get much better results if I make a copy of the object and Bake "selected to active" instead of "from Multires", so I think the major problem is not related to the UVs.

$\endgroup$
  • $\begingroup$ From my (limited) experience with normal maps on extremely low poly models, this is about what you can expect.. $\endgroup$ – gandalf3 Mar 25 '15 at 5:49
  • $\begingroup$ That model should bake fine, the poly count is on the low end of ideal. It's the UV coordinates that are causing the biggest problem here. I'll post something later today. It's already started, but for now, I have some things to do elsewhere. :) $\endgroup$ – MarcClintDion Mar 25 '15 at 15:17
  • $\begingroup$ @gandalf3, I found that normal map texture needs to have dynamic range 16bit, not 8bit. Then it will work for very small changes with an underlying low poly model. $\endgroup$ – dimus Apr 24 '16 at 16:37
2
$\begingroup$

problem #1 is that there are not enough seams. If you can't make the UV islands out of real paper and still be able to wrap it around a real model; then you are going to have problems trying to do this with computer art.

The texture will be stretched to the point where some parts of it will have a high resolution and some parts may be low enough that all you will see in that area are pixelated artifacts.

enter image description here

After adding a texture, you can change the type for visualization purposes. The texture for the next few steps is a checker texture that allows you to see if the UV's are mapping to the model well.

enter image description here

It's a good idea to repeatedly toggle the SubDivide UV's option for the generative modifier to make sure nothing weird is going on here. OpenSubD is supposed to correct this issue but it has not been implemented yet. ;)

Also, you can toggle the modifiers visibility on and off to look for potential problems that should be corrected.

In the following .gif animation, there is some minor distortion when the modifier's settings are toggled.

enter image description here

If you see any obvious stretching when toggling a Sub-Division modifier, you can sometimes correct this by adding a control loop near the area that is being affected.
The following animation shows the difference before and after a control loop is added to the wrist area.

enter image description here

The ears have no seams along the sharp edges which flow along a curve. This area will be distorted.

enter image description here

Uv islands should have at least a few pixels between them and if you zoom the UV Image Editor in and out, you should be able to see a clear distinction between the UV Islands for all distances that the model may be viewed at.
If the edges appear to be in the same place visually, then texture Mip-Mapping will shows artifacts along the seams when the model is zoomed in and out of the 3D Viewport. The various UV Islands will bleed color into one another at the seams. Normal maps will exaggerate these errors.

A Margin of 0.01 is a good place to start. This factor depends on how many Islands there are and how big the texture is and the models position relative to the view position, scale, etc...

enter image description here

There are settings for both Blender Internal and Cycles that must be set when using normal maps. In BI, the Image Sampling Normal Field must be set. In Cycles, the texture node should be changed to Non-Color. The normal map will look broken if you forget this step.

enter image description here

Here's the final result.(Right-click the image and choose 'View Image' to see the larger version.)

enter image description here

The following link shows a turntable animation hosted on Vimeo. (I get an invalid certificate warning from this link. Vimeo should be safe I think?, could be a mistake)

https://vimeo.com/123225350

Here is the .blend file. http://www.pasteall.org/blend/35226

And some further reading on the topic. How can I bake textures on uneven goemetry without tearing and stretching

$\endgroup$
  • $\begingroup$ Your final picture/video shows exactly what I want, but I just can't reproduce it on my own... Seems like you've posted a lot of good tips on doing this well, but I feel like there's still something fundamental about the workflow that I'm not getting. Is it possible without using Cycles and object-space maps? $\endgroup$ – KTC Mar 26 '15 at 4:10
  • $\begingroup$ The above shows Blender Internal(GLSL mode). Maybe the .blend file I posted was set to Cycles because I tend to switch between the two frequently when baking. What texture resolution are you baking at? I used 4096x4096. I usually scale them down after the bake to about 1024x or 2048x. $\endgroup$ – MarcClintDion Mar 26 '15 at 13:07
  • $\begingroup$ I'm using a 4096x4096. I figured that would negate any problems with my bad UV unwrapping. $\endgroup$ – KTC Mar 26 '15 at 17:52
  • $\begingroup$ There are many tools for editing the UV's. The following video from the CGmasters website is helpful. They call it 'UV-Unfolding' cgmasters.net/free-tutorials/uv-unfolding-blender . $\endgroup$ – MarcClintDion Mar 26 '15 at 18:51
  • 1
    $\begingroup$ There are a dozen+ distinct tools for UV mapping available in Blender. It's like the 3D Viewport Edit Mesh tools. Uv's work the same way. You model them as part of your model with the same care that you would use for altering the 3D mesh components. They are just as important and many of the tools are directly connected to Edit Mesh tools. Look for tool options that mention UV's, they bridge both modes. You can model the UV's directly at the same time that you build the 3D mesh components but with only one operation often required. $\endgroup$ – MarcClintDion Mar 26 '15 at 18:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.