Extruding makes reversed normals. Align/flip normals does not fix issue. #39135

Closed
opened 2014-03-12 16:20:55 +01:00 by Vlad Mafteiu Scai · 17 comments

System Information
I7 3630qm, 8GB RAM, 750M GT 2GB, Win 8.1 64

Blender Version
Broken: (example: 2.70 RC1 19f7f9a)
Worked: 2.69

Short description of error

Polys get wrong normals when extruded. There seems to be no exact order for this to happen. Sometimes it works fine. Sometimes is so bad that half of the polys are right half are wrong. Using align normals does not fix the issue. It seems to align them opposite of the camera view or object exterior so to speak. Other times it keeps some in one direction, others in opposite direction, just flips them around.
Exact steps for others to reproduce the error

  1. Make a plane from top view
  2. Delete 1 vertice
  3. Extrude on z-azis but cancel movement. Move extruded selection around and you will see that normals are in wrong direction(or try until buf occurs).
**System Information** I7 3630qm, 8GB RAM, 750M GT 2GB, Win 8.1 64 **Blender Version** Broken: (example: 2.70 RC1 19f7f9a) Worked: 2.69 **Short description of error** Polys get wrong normals when extruded. There seems to be no exact order for this to happen. Sometimes it works fine. Sometimes is so bad that half of the polys are right half are wrong. Using align normals does not fix the issue. It seems to align them opposite of the camera view or object exterior so to speak. Other times it keeps some in one direction, others in opposite direction, just flips them around. **Exact steps for others to reproduce the error** 1. Make a plane from top view 2. Delete 1 vertice 3. Extrude on z-azis but cancel movement. Move extruded selection around and you will see that normals are in wrong direction(or try until buf occurs).

Changed status to: 'Open'

Changed status to: 'Open'

Added subscriber: @00Ghz

Added subscriber: @00Ghz

Added subscriber: @mont29

Added subscriber: @mont29

I cannot find any issue with normals, following your given steps… Pleas attach a file demonstrating the issue.

I cannot find any issue with normals, following your given steps… Pleas attach a file demonstrating the issue.

Bug.blend1

Here.

Normals are reversed when they shouldn't be.

[Bug.blend1](https://archive.blender.org/developer/F80851/Bug.blend1) Here. Normals are reversed when they shouldn't be.

I do not see the problem… just flip them (after having selected the whole mesh, obviously), and issue is gone.

I do not see the problem… just flip them (after having selected the whole mesh, obviously), and issue is gone.

No you don't get it. This happens a lot in other extrusions as well. It is annoying to flip every time. And as I said sometimes it doesn't even work at all. Some normals stay inside, some outside in the same selection.

It is definitely a bug that never happened in 2.69

No you don't get it. This happens a lot in other extrusions as well. It is annoying to flip every time. And as I said sometimes it doesn't even work at all. Some normals stay inside, some outside in the same selection. It is definitely a bug that never happened in 2.69

I’m sorry, but I tried extruding following your steps, and could not reproduce this… Normals are always consistent here, as far as I can tell… So what we need is a file just before the extrusion where we just have to extrude to reproduce the issue you describe.

I’m sorry, but I tried extruding following your steps, and could not reproduce this… Normals are always consistent here, as far as I can tell… So what we need is a file *just before the extrusion* where we just have to extrude to reproduce the issue you describe.

Ok.

Let me provide the steps again because I missed something.

  1. Go to top view
  2. Add a plane
  3. Edit mode
  4. Delete top right vertice
  5. Press E to extrude. Press Z to lock axis. Press right mouse button to cancel transform but not the extrusion.
  6. Now with the active selection from the extrusion scale inwards.(Here the normals start to be inverse)
  7. With scale done, select all and extrude again on Z-axis.
  8. Now if you followed everything once you get back to perspective mode you can see the normals are reversed even if they shouldn't be. Sometimes as I said with more complex selections only parts of them get inversed and align normals only flips each one around maintaining the issue.

The file is the same I uploaded, you can use that. Also it is very important you stay in top view(or left,right etc but didn't test with those) at all times and follow steps exactly otherwise bug won't happen.

Ok. Let me provide the steps again because I missed something. 1. Go to top view 2. Add a plane 3. Edit mode 4. Delete top right vertice 5. Press E to extrude. Press Z to lock axis. Press right mouse button to cancel transform but not the extrusion. 6. Now with the active selection from the extrusion scale inwards.(Here the normals start to be inverse) 7. With scale done, select all and extrude again on Z-axis. 8. Now if you followed everything once you get back to perspective mode you can see the normals are reversed even if they shouldn't be. Sometimes as I said with more complex selections only parts of them get inversed and align normals only flips each one around maintaining the issue. The file is the same I uploaded, you can use that. Also it is **very important** *you stay in top view(or left,right etc but didn't test with those) at all times* and follow steps exactly otherwise bug won't happen.
Campbell Barton was assigned by Bastien Montagne 2014-03-12 19:25:28 +01:00

I followed exactly those steps in both 2.70 and 2.69, in the former at least both normals are in the same dir, in 2.69 I get opposed (mixed inwards/outwards) normals…

Anyway, I do not see a bug here, in that kind of operation there is no real way to chose a right normal, it merely depends from the order in which faces use vertices…

Assigning to Campbell to get its advice, just in case.

I followed exactly those steps in both 2.70 and 2.69, in the former at least both normals are in the same dir, in 2.69 I get opposed (mixed inwards/outwards) normals… Anyway, I do not see a bug here, in that kind of operation there is no real way to chose a right normal, it merely depends from the order in which faces use vertices… Assigning to Campbell to get its advice, just in case.

that might be the case, but yet again sometimes in the same object with more complex selection this thing causes some normals to be inwards some outwards. Using align or flip normals won't do any good since it just reverses each individual normal.

Let me give you an example. Let's say you got an Object with A, B, C, D, E as all connected polys and will be using 0 for inwards normal, and 1 for outwards normal

What happens sometimes that you get A,B,C, as 1 and D and E as 0. Let's now align normals as you suggested to fix the issue. Result? A,B,C = 0, D,E = 1
Obviously flip will just get back to original values.

Now as I see it this is a bug, not something that should be happening at all. What I should get is A,B,C,D,E = 0 or 1 . All of them, not some.

that might be the case, but yet again sometimes in the same object with more complex selection this thing causes some normals to be inwards some outwards. Using align or flip normals won't do any good since it just reverses each individual normal. Let me give you an example. Let's say you got an Object with A, B, C, D, E as all connected polys and will be using 0 for inwards normal, and 1 for outwards normal What happens sometimes that you get A,B,C, as 1 and D and E as 0. Let's now align normals as you suggested to fix the issue. Result? A,B,C = 0, D,E = 1 Obviously flip will just get back to original values. Now as I see it this is a bug, not something that should be happening at all. What I should get is A,B,C,D,E = 0 or 1 . All of them, not some.

Ok. Another issue with normals and this time ain't from top view.

Although I am using the latest build from graphical.org

Anyway steps:

  1. Add cube in perspective
  2. Edit mode
  3. Delete all
  4. Add Circle(not curve)
  5. Set it to 16 points(not sure if it matters but for the sake of replicating exactly)
  6. Select all. Extrude on Z-Axis.
  7. Normals reversed....again....
Ok. Another issue with normals and this time ain't from top view. Although I am using the latest build from graphical.org Anyway steps: 1. Add cube in perspective 2. Edit mode 3. Delete all 4. Add Circle(not curve) 5. Set it to 16 points(not sure if it matters but for the sake of replicating exactly) 6. Select all. Extrude on Z-Axis. 7. Normals reversed....again....

Added subscriber: @ignatz

Added subscriber: @ignatz

I tried that last one with the circle within EDIT.

Depending on which direction along the Z-axis you extrude (positive or negative) you get a different direction of the normals, either all pointing in or else all pointing out.

I tried that last one with the circle within EDIT. Depending on which direction along the Z-axis you extrude (positive or negative) you get a different direction of the normals, either all pointing in or else all pointing out.

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'

Added subscriber: @ideasman42

Added subscriber: @ideasman42

Talked with @ideasman42 about this one, he confirmed me it’s not a bug. Yes, a flat face has a normal in a direction. Yes, a flat face being non-closed volume (actually, not volume at all), it does not have an “inside” or an “outside”. Yes, when you extrude, normals of org selection are kept, which can lead to inwards normals in some cases…

This is not a bug, and not a regression. Thanks for the report, but will close it now.

Talked with @ideasman42 about this one, he confirmed me it’s not a bug. Yes, a flat face has a normal in a direction. Yes, a flat face being non-closed volume (actually, not volume at all), it does not have an “inside” or an “outside”. Yes, when you extrude, normals of org selection are kept, which can lead to inwards normals in some cases… This is not a bug, and not a regression. Thanks for the report, but will close it now.
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
3 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#39135
No description provided.