Normal Map Baking Issue Blender 2.64 #32867

Closed
opened 2012-10-13 08:09:04 +02:00 by David Hattori · 13 comments

%%%Hello,

I have some serious issues with normal map baking. No matter what I tried the baked normal maps always contain some artifacts and odd normal distortions. It is impossible to bake out a clean normal map.
In Blender version 2.62 however, all looks as supposed to be. No problems at all. File and images to illustrate that problem are attached. Please try it for yourself to see what I mean.

I want also to note that sometimes the a whole chunk of faces appear just grey in the normal map. Not even in purple. You can see that in the file Cube.blend if you bake it out.

My system is:
Mac OSX 10.8.2
NVIDIA GeForce GT 650M 1024 MB

I using the last official version of Blender 2.64%%%

%%%Hello, I have some serious issues with normal map baking. No matter what I tried the baked normal maps always contain some artifacts and odd normal distortions. It is impossible to bake out a clean normal map. In Blender version 2.62 however, all looks as supposed to be. No problems at all. File and images to illustrate that problem are attached. Please try it for yourself to see what I mean. I want also to note that sometimes the a whole chunk of faces appear just grey in the normal map. Not even in purple. You can see that in the file Cube.blend if you bake it out. My system is: Mac OSX 10.8.2 NVIDIA GeForce GT 650M 1024 MB I using the last official version of Blender 2.64%%%
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

%%%Ok I just found out that the faces in the file Sci_Fi_Door.blend pointing in the wrong direction.
However, that does not solve the problem of the artifacts.%%%

%%%Ok I just found out that the faces in the file Sci_Fi_Door.blend pointing in the wrong direction. However, that does not solve the problem of the artifacts.%%%

%%%If faces are very close to each other (one from source, one from target) then there can be some artifacts. You can fix that by by changing the bias value.%%%

%%%If faces are very close to each other (one from source, one from target) then there can be some artifacts. You can fix that by by changing the bias value.%%%
Author

%%%Thanks Tobias.

Unfortunately the bias value does not solve that problem. I've already tried several values in the baking tab and non of these worked.
And if you try the blend with the very exact values, you will see that it works perfectly fine with Blender versions before 2.63. I can only guess since I'm not a developer. But I think it is caused by the new mesh system in Blender (bmesh).
The artifacts are not average alias problems. More like wrong calculated faces, showing weird normals in the normal map, that break even surfaces. If that makes sense.

Regards,
David%%%

%%%Thanks Tobias. Unfortunately the bias value does not solve that problem. I've already tried several values in the baking tab and non of these worked. And if you try the blend with the very exact values, you will see that it works perfectly fine with Blender versions before 2.63. I can only guess since I'm not a developer. But I think it is caused by the new mesh system in Blender (bmesh). The artifacts are not average alias problems. More like wrong calculated faces, showing weird normals in the normal map, that break even surfaces. If that makes sense. Regards, David%%%

%%%I can confirm this issue on:

Blender 2.64a 64bit r51380
Windows 7 64bit SP1
GeForce GTX 560 Ti 448 1280MB
18GB DDR3

Everything bakes fine in 2.62.%%%

%%%I can confirm this issue on: Blender 2.64a 64bit r51380 Windows 7 64bit SP1 GeForce GTX 560 Ti 448 1280MB 18GB DDR3 Everything bakes fine in 2.62.%%%

%%%Morten, it seems this is an issue that happens with mikktspace. In 2.62 there is a bug where it's not actually using the tangent space in this case, but now that it's used properly this problem shows up. I guess you can comment if these are technically wrong or not, maybe the discontinuities are a feature.

But in the case of the cube it's particularly bad where one of the faces renders completely grey, because the tangents cancel out.%%%

%%%Morten, it seems this is an issue that happens with mikktspace. In 2.62 there is a bug where it's not actually using the tangent space in this case, but now that it's used properly this problem shows up. I guess you can comment if these are technically wrong or not, maybe the discontinuities are a feature. But in the case of the cube it's particularly bad where one of the faces renders completely grey, because the tangents cancel out.%%%

%%%Well first off no doubt the result doesn't look good. However, it is not really clear to me what the issue is here (yet).
It doesn't look like a tangent space issue to me though but I am still at work and haven't dived into this yet.

What do you mean that it wasn't using mikktspace in this case? In what case exactly?

Also when you, david, say the faces point in the wrong direction do you mean all the normals are inward?
To me an obvious candidate for a culprit here would seem like something related to the bmesh integration gone wrong?
But again I haven't investigated yet but it seems more likely to me as a quick response :)

%%%

%%%Well first off no doubt the result doesn't look good. However, it is not really clear to me what the issue is here (yet). It doesn't look like a tangent space issue to me though but I am still at work and haven't dived into this yet. What do you mean that it wasn't using mikktspace in this case? In what case exactly? Also when you, david, say the faces point in the wrong direction do you mean all the normals are inward? To me an obvious candidate for a culprit here would seem like something related to the bmesh integration gone wrong? But again I haven't investigated yet but it seems more likely to me as a quick response :) %%%

%%%to me it looks like since the bmesh integration the face data is now being fed incorrectly to the tangent space calculation which breaks it and causes discontinuities.
As far as I know mikktspace was used exclusively under 2.62. I am certain it's a bmesh integration error.%%%

%%%to me it looks like since the bmesh integration the face data is now being fed incorrectly to the tangent space calculation which breaks it and causes discontinuities. As far as I know mikktspace was used exclusively under 2.62. I am certain it's a bmesh integration error.%%%
Author

%%%Hi Morten,

yes the normals pointing inwards. That's what I meant. However, flipping the direction does not solve the problem.

It was my guess too, that it has something to do with the bmesh integration. I'm just a simple Blender user who doesn't understand Blender's code at all, but it seems obvious, because these issues appear since 2.63

Thanks for investigating that problem!

David%%%

%%%Hi Morten, yes the normals pointing inwards. That's what I meant. However, flipping the direction does not solve the problem. It was my guess too, that it has something to do with the bmesh integration. I'm just a simple Blender user who doesn't understand Blender's code at all, but it seems obvious, because these issues appear since 2.63 Thanks for investigating that problem! David%%%

%%%Hey David,

The normals pointing inward, though not ideal, is not an issue at all and as you noticed it was working fine in 2.62%%%

%%%Hey David, The normals pointing inward, though not ideal, is not an issue at all and as you noticed it was working fine in 2.62%%%

%%%Fix in svn, thanks for the report.%%%

%%%Fix in svn, thanks for the report.%%%

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
Author

%%%Thank you very much Brecht!%%%

%%%Thank you very much Brecht!%%%
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#32867
No description provided.