Блендер как исправить нормали

Fixing inverted faces/meshes in Blender 2.8

In newer versions of Blender the previously available Tool Shelf buttons Flip Direction and Recalculate, typically used to flip inverted surfaces that made meshes appear inside-out, have been moved to the main Mesh menu upper-left of the 3D View. As the option is now context sensitive it only appears as a menu option in Edit Mode.

Design note: the Mesh menu is specific to Edit Mode and does not appear unless that particular editing context is active.

Flip Selected Faces

To access the option and/or correct an inside-out or inverted face, first select the errant mesh element in Edit Mode [1] (using vertex, edge or face) and from the Mesh menu upper-left click Normals [2] then Flip [3] from the options that appear – Mesh » Normals » Flip. Alternatively use Alt + N to access the Normals context menu then select Flip. The highlighted inverted face/s will immediately invert based on their current orientation.

Design note: when selecting errant faces using vertices or edges make sure all component elements are included to the degree that the inverted faces highlight.

Meshes or faces that appear inside out or inverted are fixed from the 3D Views 'Mesh' menu
The option to flip or invert faces [1] is an Edit Mode option only (accessible only when editing meshes), click Mesh » Normals » Flip [2 & 3] with an individual face or group selected.

Recalculate Faces

As an alternative to selectively inverting faces, or re-orientating a large mixed selection so everything points in one direction,  inwards or outwards, use Recalculate Outside (Shift + N) or Recalculate Inside (Shift + Ctrl + N) options. To do this and force the orientation in one direction or the other, in Edit Mode select the entire mesh (A) and access the Mesh menu. Here select Normals » Recalculate Outside to flip faces/selections outwards, or Normals » Recalculate Inside to invert selections inwards – Mesh » Normals » Recalculate Outside/Inside.

Design note: in previous versions of Blender Recalculate tended to orientate faces randomly depending on the predominance of inwards or outwards facing surfaces prior to use. For Blender 2.8+ this is no longer the case, Recalculate Inwards and Recalculate Outwards forceably re-orientate selections based on the option selected, either in or out but not both.

IF faces are randomly inverted use Recalculate to flip everything in one direction
For instances where surfaces are randomly facing one way or the other [4], or there are too many to select and manually process, use Recalculate Inwards/Outwards [5] to force everything to face the same direction, in or out, regardless – make a selection (individual, group or all) then click the Mesh menu, Normals then Recalculate Inwards/Outwards.

Face Orientation

To assist determining which way a face might be pointing, especially if Backface Culling is not disabled in Viewport Overlays or Viewport Shading options (depending on the viewport display mode) or a given materials Settings properties, Blender 2.8+ includes an option to colour tint faces based on their orientation, RED for surfaces pointing inwards and BLUE for those pointing outwards, making it much easier to see at a glance what’s going on, which then allows for individual faces to be flipped or recalculated as needed. To use, click the Overlays button upper-right of the 3D View [6] and from the menu select Face Orientation [7] – Overlays » Face Orientation. Everything will immediately tint blue/red based on their orientation. To disable, repeat, select Overlays » Face Orientation.

Design note: if X-Ray (Alt + Z) is active for any of the Viewport Shading modes, Wireframe, Solid etc., Face Orientation won’t work.

Backface Culling is off
Face Orientation used to determined which way faces point
If Backface Culling is disabled (off) it can be difficult to determine which way a given surfaces is pointing because both front and back of the mesh are the same. In this situation using the Overlays [6] setting Face Orientation [7] can help as it tints surfaces based on their orientation, inwards or outwards.

V К

15.04.2022

1) invert избыточна, достаточно сделать 1-G
2) а что за нормальки с перевёрнутым красным каналом? Обычно directX и у них только зелёный перевёрнут

Ответить

Развернуть ветку

Every 3D

15.04.2022


Автор

В мыслях был ещё и красный канал… По факту да, инвертировать нужно только зелёный. Статья подправлена. За уточнения спасибо!

Ответить

Развернуть ветку

V К

15.04.2022

Так… похоже, у нас путаница. И ты не понимаешь, как работать с векторами.
1. Конверсия directX ←→ openGL делается через переворот только зелёного канала.
2. А вот инверсия выпуклого на вогнутое чисто по карте нормалей делается как RGB→XYZ, а потом XYZ*(-1 -1 1) и обратно → RGB
Инверсия — это не то же самое, что разворот вектора. Инверсия 0,8 это 0,2. Разворот вектора 0,8 это -0,8
3. Инверсия нормалей уже в векторах (например после бампа) делается поворотом векторов на 180° вокруг нормалей поверхности.

Ответить

Развернуть ветку

V К

15.04.2022

1. Я просто вчера встретил ноду инверсии и с красным тоже, но хз, где такие применяются
2. Так-то блендер позволяет печь нормали с любой ориентацией осей

Ответить

Развернуть ветку

V К

15.04.2022

Есть ещё два варианта, но я вот честно не знаю, что ресурсозатратнее, делать линейную интерполяцию, или делать сначала separate потом combine

Ответить

Развернуть ветку

Teo

15.04.2022

Хватает инвертирования зеленого канала в RGB Curves.)

Ответить

Развернуть ветку

Алексей Ступников

15.04.2022

Сейчас будет немного тупой вопрос: а если инвертировать цвета карты нормалей, то она не инвертируется?

Ответить

Развернуть ветку

Аккаунт удален

15.04.2022

Комментарий недоступен

Ответить

Развернуть ветку

Аккаунт удален

15.04.2022

Комментарий недоступен

Ответить

Развернуть ветку

Алексей Ступников

15.04.2022

Это я знаю. Каждый канал — одна из осей. Просто хочу попробовать на практике это

Ответить

Развернуть ветку

V К

15.04.2022

Чтобы поменять выпуклое на вогнутое, нужно повернуть вектор из карты нормали на 180° вокруг нормали поверхности

Ответить

Развернуть ветку

Viktor Kopeykin

15.04.2022

Вот это костыль. «Очень просто» это powerscale поставить на -1, вместо 1.

Ответить

Развернуть ветку

V К

15.04.2022

Ты сейчас вычитание и возведение в степень с умножением перепутал…

Ответить

Развернуть ветку

V К

15.04.2022

Математика одна, независимо от софта.
Или power/scale имеется в виду ползунок силы нормальки? Это другое.
В Блендере отрицательный скейл не прокатывает

Ответить

Развернуть ветку

Viktor Kopeykin

15.04.2022

Да, ползунок. Просто называется так сила нормали в софте, где я работаю.

Ответить

Развернуть ветку

V К

15.04.2022

Тогда стоит уточнять софт. Ползунки по-разному могут работать.

Ответить

Развернуть ветку

V К

15.04.2022

работает, но несколько избыточно

Ответить

Развернуть ветку

V К

15.04.2022

Затратность определяется не количеством нодов, а количеством и сложностью операций итоговых. Суммирование и вычитание проще умножения. Разделение и слияние вектора хз… Наверное простое

Ответить

Развернуть ветку

Konstantin Tamch

15.04.2022

Ну тогда проще в фотошопе заранее инвертировать если так боритесь за затратность)

Ответить

Развернуть ветку

V К

15.04.2022

Да. Но фотошоп не умеет в отрицательные цвета, насколько я знаю. Так что dx→ogl сделать можно, а вот вогнутое на выпуклое сменить нет.

Ответить

Развернуть ветку

Tabletkin

15.04.2022

ебать простота то какая, вместо нормальной подготовки текстуры к проекту и открытия фш, инверта зеленого канала и закрытия его

Ответить

Развернуть ветку

CyberDog

16.06.2022

Так, в моем случае сработало только инвертирование и зеленого и красного каналов. Я не понял почему…
UPD. Или даже только красного

Ответить

Развернуть ветку

Читать все 28 комментариев

$begingroup$

I need all my normals to be oriented in the same angle, but as you can see from my screenshot, the outer edge are turned one way and the inner edge are 90º offset, so I’m just wondering if there’s a way to manually turn them?

enter image description here

asked Dec 18, 2016 at 4:02

Danial's user avatar

$endgroup$

9

$begingroup$

By definition the face normals are perpendicular to the face and can’t be adjusted to a specific rotation.

To alter the way the hair is emitted, you want to use something other than the normals to determine the initial direction, you can adjust this in the particle settings.

Enable the advanced option which makes the velocity panel available for hair particles. Set the normal value to 0.0 and change the emitter object values to the direction you want the hair to go.

particle options

answered Dec 19, 2016 at 11:35

sambler's user avatar

samblersambler

54.7k3 gold badges52 silver badges186 bronze badges

$endgroup$

$begingroup$

You can use a different, invisible, flat panel to act as hair emitter

answered Dec 18, 2016 at 10:49

josh sanfelici's user avatar

josh sanfelicijosh sanfelici

24.6k2 gold badges19 silver badges38 bronze badges

$endgroup$

$begingroup$

The darker parts seem to have inward facing normals.
With these parts selected hit Ctrl+N. If that doesn’t fix them Shift+Ctrl+N probably will.

answered Mar 1, 2019 at 0:27

魔大农's user avatar

$endgroup$

You must log in to answer this question.

Not the answer you’re looking for? Browse other questions tagged

.

Время на прочтение
3 мин

Количество просмотров 48K

Blender это замечательный бесплатный 3d пакет, который делает возможным и доступным осуществление гигантского количества проектов, и, как человек, прошедший путь от абсолютного новичка в 3d до преподавателя данной программы в учебном центре «Специалист» в Москве, я могу поделиться несколькими типами, которые помогут преодолеть несколько несложных, но каверзных моментов, которые хоть и очень просты, но далеко не очевидны, и могут заставить просидеть несколько часов в поиске решения проблемы.

Перевод программы и подсказок

Перевод программы и подсказок — Blender, как и почти все программы является англоязычной, но в настройках (preferences) мы можем сделать его интерфейс русскоязычным. Переводить его полностью на русский язык я бы не советовал, т.к. названия всех терминов и команд почти необходимо знать на английском языке для дальнейшего развития, и, так или иначе, много из них заимствовано великим и могучим русским языком и используется всеми и повсеместно (нормали, фейсы, вертексы и т.д.). А вот перевод подсказок действительно может упростить процесс входа в программу и снять много вопросов в процессе их появления. Окошко с подсказкой возникает при наведении курсора мыши на любой элемент blender.

  • Для того чтобы активировать подсказки, если они не работают, нужно зайти в меню Edit-Preferences-Interface. Поставить галочку напротив Tooltips.

  • Для активизации перевода подсказок в том же разделе открываем выпадающее меню Translation, ставим русский язык, и галочку напротив Affect Tooltips.

Забагивание области просмотра

Следующая проблема с которой я постоянно сталкивался это забагивание области просмотра — при попытке панорамировать видприблизитьсяотдалиться от объекта, blender упорно отказывается это делать, точнее делает это очень медленно . Тут помогает функция Frame, которая перезахватывает выбранный объект во вьюпорте и данная проблема устраняется.

  • Находится эта функция в меню View-Frame selected.

Clipping

Некст проблема это clipping — при попытке работать с объектом на близком расстоянии область обрезает часть нашего объекта, и мешает нам работать.

  • устраняется заходом в боковое меню нажатием кнопки N, и во вкладке view в выпадающем меню view, уменьшаем значение Clip Start (Например 0,001)

Нормали

Следующая проблема это нормали — будь то незнание того — что это? или незнание того — как их привести в правильное положение. Проблемы с нормалями возникают например при попытке запечь карты деформации, во время скульптинга, при попытке нажать Shade smooth и тд.

  • -Нормали это вектор перпендикулярный плоскости полигона, который указывает блендеру куда ему отражать свет. Направлен этот вектор только в одну сторону, то есть если нормаль вашего полигона развернута внутрь объекта, как часто случается в blender, то из за этого у вас будут проблемы на каком-то этапе работы.

  • Как мы можем видеть на данном изображении — все нормали объекта, кроме трех выделенных, повернуты наружу, а три выделенные — внутрь. При обычном режиме затенения Shade flat — этого не видно, но если я включу режим затенения shade smooth, то результат будет совсем иным.

  • Проверить направление нормалей своего объекта я могу перейдя в edit mode, и в выпадающем меню overlays поставить галочку напротив Face orientation . Тогда все нормали повернутые наружу будут отображаться синим цветом, а направленные внутрь — красным. В этом же меню Overlays я могу включить отображение нормалей как векторов.

  • Развернуть нормали нам помогут функции Mesh-Normals-Flip (или recalculate outside)

  • Flip — развернет выделенные полигоны.

  • Также мы можем выделить все полигоны объекта (шорткат А) и нажать Recalculate outside чтобы blender автоматически пересчитал все наши полигоны наружу.

  • За направлением нормалей лучше следить.

Двойные вертексы

Двойные вертексы — часто в процессе моделирования и оперирования командой Extrude могут создаться вертексы, которые стоят друг в друге и будут портить нашу топологию, это может нам аукнуться на этапах UV развертки, создания рига и тд. Чтобы избежать этого, на промежуточных этапах работы можно выделять всю свою модель в режиме работы с вершинами и нажимать Mesh-clean up-merge by distance. Двойные вертексы будут объединяться.

Карты нормалей

Карты нормалей запеченные в других программах (substance painter, Zbrush) дают странный результат в Blender .

  • Проблема в том что карты нормалей, в вышеперечисленных, и не только, программах, запекаются c использованием DirectX, а blender работает с OpenGL. Если говорить простым языком то нам нужно развернуть зеленый канал на карте нормалей. Делается это следующим образом:

Надеюсь, что данный пост поможет людям, осваивающим блендер, проскочить несколько часов поиска решения проблем!

Blender это замечательный бесплатный 3d пакет, который делает возможным и доступным осуществление гигантского количества проектов, и, как человек, прошедший путь от абсолютного новичка в 3d до преподавателя данной программы в учебном центре «Специалист» в Москве, я могу поделиться несколькими типами, которые помогут преодолеть несколько несложных, но каверзных моментов, которые хоть и очень просты, но далеко не очевидны, и могут заставить просидеть несколько часов в поиске решения проблемы.

Перевод программы и подсказок

Перевод программы и подсказок — Blender, как и почти все программы является англоязычной, но в настройках (preferences) мы можем сделать его интерфейс русскоязычным. Переводить его полностью на русский язык я бы не советовал, т.к. названия всех терминов и команд почти необходимо знать на английском языке для дальнейшего развития, и, так или иначе, много из них заимствовано великим и могучим русским языком и используется всеми и повсеместно (нормали, фейсы, вертексы и т.д.). А вот перевод подсказок действительно может упростить процесс входа в программу и снять много вопросов в процессе их появления. Окошко с подсказкой возникает при наведении курсора мыши на любой элемент blender.

  • Для того чтобы активировать подсказки, если они не работают, нужно зайти в меню Edit-Preferences-Interface. Поставить галочку напротив Tooltips.

  • Для активизации перевода подсказок в том же разделе открываем выпадающее меню Translation, ставим русский язык, и галочку напротив Affect Tooltips.

Забагивание области просмотра

Следующая проблема с которой я постоянно сталкивался это забагивание области просмотра — при попытке панорамировать видприблизитьсяотдалиться от объекта, blender упорно отказывается это делать, точнее делает это очень медленно . Тут помогает функция Frame, которая перезахватывает выбранный объект во вьюпорте и данная проблема устраняется.

  • Находится эта функция в меню View-Frame selected.

Clipping

Некст проблема это clipping — при попытке работать с объектом на близком расстоянии область обрезает часть нашего объекта, и мешает нам работать.

  • устраняется заходом в боковое меню нажатием кнопки N, и во вкладке view в выпадающем меню view, уменьшаем значение Clip Start (Например 0,001)

Нормали

Следующая проблема это нормали — будь то незнание того — что это? или незнание того — как их привести в правильное положение. Проблемы с нормалями возникают например при попытке запечь карты деформации, во время скульптинга, при попытке нажать Shade smooth и тд.

  • -Нормали это вектор перпендикулярный плоскости полигона, который указывает блендеру куда ему отражать свет. Направлен этот вектор только в одну сторону, то есть если нормаль вашего полигона развернута внутрь объекта, как часто случается в blender, то из за этого у вас будут проблемы на каком-то этапе работы.

  • Как мы можем видеть на данном изображении — все нормали объекта, кроме трех выделенных, повернуты наружу, а три выделенные — внутрь. При обычном режиме затенения Shade flat — этого не видно, но если я включу режим затенения shade smooth, то результат будет совсем иным.

  • Проверить направление нормалей своего объекта я могу перейдя в edit mode, и в выпадающем меню overlays поставить галочку напротив Face orientation . Тогда все нормали повернутые наружу будут отображаться синим цветом, а направленные внутрь — красным. В этом же меню Overlays я могу включить отображение нормалей как векторов.

  • Развернуть нормали нам помогут функции Mesh-Normals-Flip (или recalculate outside)

  • Flip — развернет выделенные полигоны.

  • Также мы можем выделить все полигоны объекта (шорткат А) и нажать Recalculate outside чтобы blender автоматически пересчитал все наши полигоны наружу.

  • За направлением нормалей лучше следить.

Двойные вертексы

Двойные вертексы — часто в процессе моделирования и оперирования командой Extrude могут создаться вертексы, которые стоят друг в друге и будут портить нашу топологию, это может нам аукнуться на этапах UV развертки, создания рига и тд. Чтобы избежать этого, на промежуточных этапах работы можно выделять всю свою модель в режиме работы с вершинами и нажимать Mesh-clean up-merge by distance. Двойные вертексы будут объединяться.

Карты нормалей

Карты нормалей запеченные в других программах (substance painter, Zbrush) дают странный результат в Blender .

  • Проблема в том что карты нормалей, в вышеперечисленных, и не только, программах, запекаются c использованием DirectX, а blender работает с OpenGL. Если говорить простым языком то нам нужно развернуть зеленый канал на карте нормалей. Делается это следующим образом:

Надеюсь, что данный пост поможет людям, осваивающим блендер, проскочить несколько часов поиска решения проблем!

Понравилась статья? Поделить с друзьями:
  • Как найти друга в мире майнкрафт
  • Как найти пуш уведомления на андроид xiaomi
  • Как исправить колеса мода
  • Как найти на карте мертвое озеро
  • Как найти угловое ускорение через линейное ускорение