Как исправить геометрию в blender

G N

24.10.2022


Автор

Просто хочется это как-то автоматизировать чтобы изначальную форму можно было менять и ничего не поехало

Ответить

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

G N

24.10.2022


Автор

Спс. Сейчас что-то такое как раз делал

Ответить

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

Евгений Серегин

24.10.2022

На большой плоскости еще сделай inset вроде в блендере или offset в максе. Как я нарисовал. Суть в том, чтобы сегменты начинались уже на плоскости, а не на бевеле. Тогда сгладится хорошо при сабдиве.

Ответить

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

Toshinori

24.10.2022

есть замечательный курс из 4 частей — Professional Tips for Modeling Complex Shapes от Paul Conner
мужик круто объясняет за топологию hs объектов, что бы избегать как раз вот такие моменты

Ответить

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

RogerWilco

24.10.2022

weighted normals помогает фиксить херовый шейдинг, не всегда панацея, но облегчает боль

Ответить

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

RogerWilco

24.10.2022

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

Ответить

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

neGlan

24.10.2022

Не держи н-гоны по соседству со сгибами.

Ответить

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

lamurchik

24.10.2022

Нгоны юзать только там, где их можно юзать. Т.е нигде, ха-ха.

Ответить

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

lamurchik

24.10.2022

Триангулированный нгон — это куча треугольников, а не многоугольник портящий все.

Ответить

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

не вывозишь метаиронию

24.10.2022

так в блендере нгон существует в триангулированном виде, автоматически
просто ты сгенерированных эджей не видишь
другой вопрос, что куча треугольников тоже портит все

Ответить

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

lamurchik

24.10.2022

Треангулировать можно по разному, по этому он все портит при сабдиве и шейдинге.

Ответить

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

RogerWilco

24.10.2022

ну почему же, в хардсюрфейсе их юзают, с помощью нгонов можно направлять флоу например тоже.
https://www.artstation.com/artwork/0n93EV как вот тут дядька учит.
Нгоны и треугольники нельзя юзать в киноиндустрии, там все чисто моделят. В геймдеве насрать, видел бы ты мои модели под сабд))) Если не портит шейдинг то и так сойдет

Ответить

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

Евгений Серегин

24.10.2022

Весь хардсурфейс в блендере на нгонах держится. Так что не надо их бояться. С ними надо уметь работать.

Ответить

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

Kukulma

24.10.2022

Рановато в сабдив моделинг идти без знаний в топологии. Старайся держать сетку без н-гонов и треугольников, а если решишь дальше кидать модель в зебру то держи её ещё и равномерной

Ответить

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

Эдуард Кутецкий

20 фев

Без нгонов и треугольников именно на сгибах геометрии. А то сейчас автор пойдёт на плоскостях все треугольники в квады переделывать

Ответить

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

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

#статьи

  • 31 май 2022

  • 0

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

Иллюстрация: Nakaridore / Freepik / Pngwing / Annie для Skillbox Media

Леон Балбери

Считает игры произведениями искусства и старается донести эту идею до широких масс. В свободное время стримит, рисует и часами зависает в фоторежимах.

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


Во время работы над проектом пользователь рано или поздно заметит, что приближение и перемещение по осям с помощью колёсика мыши не срабатывает. Угол обзора достигает определённой точки и блокируется.

На примере показано, что камера приближается к объекту только на определённое расстояние. При этом вращение и отдаление работают как обычно

Причина. Камера обзора во вьюпорте привязана к условной точке, вокруг которой она двигается по принципу поводка. Когда пользователь крутит колёсико мыши и перемещается в пространстве, в какой-то момент он может приблизиться к этой точке вплотную. После этого блокируется не только масштабирование, но и перемещение по осям. В итоге камера будет вращаться только вокруг объекта. Попытка переключения на другой объект не сбросит привязку камеры — она по‑прежнему будет лишь вращаться вокруг нового объекта, а приближение и перемещение останутся заблокированными.

При переключении на камеру увеличение всё равно остаётся ограниченным, а вращение работает

Решение. Выделяем объект и нажимаем клавишу Numpad . (Del) — это зафиксирует камеру на объекте, и приближение с перемещением по осям заработают в обычном режиме.

Примечание

Если номерной клавиатуры нет (как в случае с ноутбуками), существует несколько универсальных решений:

  • В меню Правка (Edit) — Настройки (Preferences) — Ввод (Input) отметить галочкой пункт Эмулировать цифровую панель Numpad (Emulate Numpad). После этого основные цифровые клавиши заработают так же, как на Numpad-клавиатуре.
  • Подключить экранную клавиатуру. Эта функция находится в параметрах Windows в разделе Специальные возможности — Клавиатура Использовать экранную клавиатуру. По умолчанию панель Numpad не отображается, но её можно включить в параметрах (кнопка расположена в правом нижнем углу экранной клавиатуры). По аналогичному принципу подключается ассистивная клавиатура на macOS.
  • Также на конкретное действие можно назначить новую клавишу: Правка (Edit) — Настройки (Preferences) — Раскладка (Keymap) — 3D вид (3D View) — 3D View (Global) Вписать выделенное (View Selected).

Пункт в настройках раскладки, где можно заменить клавишу Numpad. (Del)
Скриншот: Леон Балбери для Skillbox Media


Пользователь обнаруживает проблему во время последующих корректировок модели или непосредственно при создании UV-развёртки.

Причина. Подобные «сюрпризы» возникают из-за специфики экструдирования в Blender при отмене операции. Если пользователь начал процесс экструдирования Вершин (Vertices), Рёбер (Edges) или Граней (Faces) с помощью клавиши E и по привычке отменил действие, нажав ПКМ/Esc — операция всё равно считается выполненной. Продублированную геометрию можно увидеть, если включить отображение сетки во вьюпорте.

Пример сохранения экструдированного полигона после отмены операции. Лишнюю геометрию можно заметить по точкам, обозначающим наличие полигона/грани в Режиме редактирования (Edit Mode), — они выделены красным

Решение. Помимо удаления лишних элементов вручную, можно отменить операцию через CTRL + Z или зайти в меню Правка (Edit), нажать Отменить по истории…(Undo History…) и указать, какую именно операцию нужно отменить. Если лишние грани обнаружены слишком поздно, выделяем объект (А), затем в Режиме редактирования (Edit Mode) заходим во вкладку Меш (Mesh) — Очистка (Merge) — Объединить по расстоянию (Merge by Distance). Данная операция убирает лишнюю геометрию.

Удаление лишней геометрии с помощью инструмента «Объединить по расстоянию» (Merge by Distance)

Примечание

Операция Объединить по расстоянию (Merge by Distance) незаменима при удалении лишних вершин в объектах со сложной геометрией. Если её применить, в левом нижнем углу появится окно настроек; с ними можно экспериментировать, постепенно увеличивая значение. Главное — не переборщить, иначе пострадает качество модели.


На примере видно, что при использовании Фаски (Bevel) углы объекта срезаются симметрично, но угол составляет менее 45॰

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

Объект, грани которого имеют разные показатели Масштаба (Scale) относительно осей
Скриншот: Леон Балбери для Skillbox Media

Решение. Параметры объекта нужно привести к единому знаменателю. Переходим в Объектный режим (Object Mode) и нажимаем Ctrl + A; во всплывающем меню выбираем Вращение и масштаб (Rotation & Scale). Таким образом, произойдёт сброс параметров, после чего срез с каждой стороны будет под углом в 45॰.

Результат после приведения масштабирования к общему знаменателю

Отображение объекта в режимах просмотра материалов и сплошного типа затенения
Коллаж: Леон Балбери для Skillbox Media

Даже если модель корректно отображается в режиме просмотра материалов, проблему выдают разные дефекты шейдеров, которые периодически возникают при освещении и текстурировании. Отсутствие нормалей можно заметить не только после экспорта модели в другую программу, но и в самом вьюпорте, если выбрать Сплошной тип затенения (Solid) — значок с белым кругом в правой верхней части окна, — а затем включить Полупрозрачность (X‑Ray) при помощи Alt + Z.

Примечание

Также можно зайти в настройки типа затенения и отметить галочкой опцию Не рисовать задние грани (Backface Culling). В этом случае пустые участки будут более заметными.

Отображение дефектов модели после отметки «Не рисовать задние грани» (Backface Culling)
Скриншот: Леон Балбери для Skillbox Media

Причина. При сборке модели отдельные грани выстроены с изнаночной стороны.

Решение. Выбираем Сплошной тип затенения (Solid) во вьюпорте, открываем настройки Наложения вьюпорта (Overlays) и в опциях геометрии выставляем галочку напротив пункта Ориентация грани (Face Orientation). Теперь все вывернутые грани отмечены красным. Выделяем их в режиме редактирования, жмём Alt + N и выбираем Отразить (Flip). Теперь, когда на модели не осталось ни одного красного участка, можно смело экспортировать её в другие программы.

Подключение Ориентации грани (Face Orientation) и отображение объекта во вьюпорте с этим параметром
Скриншот: Леон Балбери для Skillbox Media

Примечание

Важно знать, что меши по типу Плоскости (Plane) изначально состоят из одной нормали. Поэтому во время создания объектов вроде лепестков, травинок, ремешков, прядей волос (для низкополигональных персонажей) помните, что у них всё равно существует изнанка. Следовательно, они будут отображаться лишь с одного ракурса (например, в Unreal Engine). Чтобы объект стал двусторонним, используйте модификатор Объёмность (Solidify). Если при создании элементов окружения важна экономия полигонов, моделируйте плоскости таким образом, чтобы их очертания отображались с каждого ракурса.


Слева рендер модели в Blender, справа — эта же модель, открытая в программе для просмотра 3D‑объектов в Windows. Красным отмечены дефекты после экспорта
Скриншот: Леон Балбери для Skillbox Media

Причина. Часто эти изъяны возникают из-за топологии. Как правило, сетка модели состоит из треугольников и четырёхугольников, но иногда встречаются и многоугольники, известные как «нгоны» (от англ. N-gon). С последними не возникает проблем в Blender, но другие программы, в том числе игровые движки, плохо воспринимают подобную геометрию. На примере выше сетку из четырёхугольников разрезали инструментом Нож (Knife). В результате образовались многоугольники, из-за которых модель может некорректно отображаться в сторонних программах.

Решение. Разбиваем геометрию на проблемных участках. Для этого переходим в Режим редактирования (Edit Mode), выделяем многоугольные грани и нажимаем Ctrl + T. После этого нгоны превратятся в скопления треугольников.

Слева модель в Blender с исправленной топологией, справа — отображение новой итерации в программе для просмотра 3D‑объектов в Windows
Скриншот: Леон Балбери для Skillbox Media

Рассмотренные ситуации подтверждают тот факт, что в Blender существует немало «подводных камней». И часто виной тому не ошибки пользователей, а их неосведомлённость в специфике некоторых операций. Зная особенности программы, начинающий 3D-художник сможет потратить время не на поиск и решение проблем, а на совершенствование своих навыков.

Научитесь: Профессия 3D-художник
Узнать больше

$begingroup$

I have a complicated geometry with some really small (not very visible) self-intersecting faces to fix, like below:

enter image description here

I have tried to use the shrinkwrap modifier and wrapped a fine-meshed cube on its surface. However, even though the cube is very finely meshed, the approximation is still not good:

enter image description here

I can use remesh modifier to fix the self-intersecting faces, but it requires an astronomical amount of vertices (deep octree) to maintain the geometry.

Could anyone please help with some ideas? Thank you!

asked Sep 20, 2016 at 4:58

Yuxiang Wang's user avatar

$endgroup$

2

$begingroup$

What was the step that introduced this geometry problems? In general it’s better to avoid geometry problems at all than to try to fix it. So i would suggest to have an eye at your workflow.

At this point i would retopology such a problematic mesh by hand now. No algorithm can know which vertices to keep and which not. So there is imho at this stage no way around manual work.

answered Sep 20, 2016 at 6:19

Tiles's user avatar

TilesTiles

1,99813 silver badges25 bronze badges

$endgroup$

$begingroup$

This is more or less my process for cleaning up intersecting faces.

  1. Using the 3D printing plugin, detect intersecting faces.
  2. Make manifold, also 3D printing plugin.
  3. Triangulate all intersecting faces.
  4. Recalculate, hopefully the count has gone down. It could have gone up.
  5. Shrink/fatten a tiny amount.
  6. Recalculate, undo unless count went down considerably.
  7. Smooth vertices a tiny amount unless intersections are hard surface geometry. This can obviously distort geometry in weird ways.
  8. Repeat and combine.
  9. Manual work using merge vertices, rotate edges, collapse edges, make faces (from several) etc.

This way above preserves geometry the best. You can also use the modifiers Remesh (with lots and lots of detail) and then Decimate. It will probably smooth your geometry a little bit. But it can be significantly faster (cleaning hundreds of intersections takes time).

I have written a tiny plugin that, after calculating intersections, focus on one of the problems.

https://github.com/markuskruse/blender-addon-focus-island

answered Jul 6, 2021 at 8:50

Gunslinger's user avatar

GunslingerGunslinger

6,3352 gold badges27 silver badges39 bronze badges

$endgroup$

$begingroup$

Have you tried this:

  1. Switch to edit mode
  2. Select all vertices
  3. Select Remove Doubles

answered Jan 21, 2017 at 23:00

Tak's user avatar

TakTak

6,2236 gold badges37 silver badges82 bronze badges

$endgroup$

1

You must log in to answer this question.

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

.

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

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

Базовые приёмы работы с Blender версии 2.79.

Продолжение: статья про материалы в Cycles и рендер изображения

Общее

Наиболее важная кнопка, которую стоит освоить сразу — это переключатель режимов. По умолчанию там включен Object Mode. Чаще всего понадобится переключаться из него в режим редактирования Edit Mode. Горячая кнопка для переключения между этими основными режимами — Tab.

Внутри Edit Mode справа на этой же панели появляются кнопки, отвечающие за тип выбираемой геометрии — точки (vertex), рёбра (edge), грани (face). Правее них кнопка включения/отключения скрытой геометрии.

Типы выбора геометрии:

Чтобы выбрать несколько несколько точек (рёбер и так далее), нужно кликать по новым зажав Shift. В объектном режиме таким же образом можно выделить несколько объектов. Для снятия общего выделения проще всего щёлкнуть по какому-то одиночному элементу, .

Кнопка в редакторе на панели сверху справа отвечает за используемый рендер. По умолчанию там выставлен Blender Render, но желательно его вовсе не использовать и переключать на Cycles Render. При этом у материалов, света и ещё некоторых настроек понадобится нажать кнопку Use Nodes.

Включение Use Nodes:

Кнопка рядом с Object Mode меняет режимы отображения — полный рендер, только материалы, только текстуры, основной режим (solid), сетка (wireframe) или показать лишь габаритные контейнеры (bounding box).

Режимы отображения:

Для стандартного режима solid в менюшке справа в графе Shаding можно включить маткапы, для удобства. Это специальный шейдер, применяющийся сразу на всю геометрию в кадре и не влияющий на итоговый рендер. Обычно маткап стоит включать при скульпте, для большей наглядности.

Включение маткапов:

Ещё несколько кнопок на главной панели отвечают за смещение, поворот и размер объектов (можно тащить за ось или за центр). В Blender большинство возможностей продублировано горячими кнопками (и для быстроты стоит преимущественно пользоваться ими). Для вышеупомянутых функций выбраны такие горячие кнопки: G (переместить), если после этого нажать кнопку нужной оси (XY или Z), то перемещение пойдёт по ней. R (поворот). S (общий размер).

Основные действия:

Чтобы смесить объект на фиксированное расстояние можно нажать G, затем (не двигая мышкой), букву нужной оси и в конце набрать число пунктов, на которое нужно передвинуть объект. То есть должна получится запись вида «GX20» или «GZ+100» или «GY-2» или «GX3.25» и так далее. Сдвигая в положительном направлении оси «+» можно не писать.

Вращение на фиксированный угол через горячие кнопки делается аналогично. R, после чего буква оси и угол (положительный либо отрицательный) — «RX90», «RY-45». Если вращать мышью, то в окне слева появляется текущий угол и можно его подправить вручную.

Коррекция вращения:

При добавлении примитивов, слева тоже появляется окошко их предварительной тонкой настройки, которое исчезнет, если начать совершать прочие действия. Например, для цилиндра можно выставить количество боковых граней, кроме радиуса и высоты.

Параметры при добавлении:

Горячие клавиши на цифровой клавиатуре управляют перспективой и видами. Numpad 5 переключает между ортографическим и перспективным режимом камеры. Numpad 7 выставляет вид сверху и так далее.

Виды:

Объекты на сцене освещены общим фоном (background), а также источниками света. Цвет и сила первого настраивается во вкладке с синим кружком (World). У источников освещения есть специальная вкладка с настройками, появляющаяся когда они выбраны.

Даже если в сцене нет источников света, она освещается фоном (если не убрать его силу на 0)

Даже если в сцене нет источников света, она освещается фоном (если не убрать его силу на 0)

Нужно понимать, что каждый объект — это своего рода папка с геометрией. Обычно размер самого объекта желательно держать равным 1 по всем осям, а увеличивать/уменьшать уже внутреннюю геометрию в режиме редактирования.

Изменение размеров всего объекта пропорционально растягивает и геометрию, которую он содержит. В то время как увеличение/уменьшение геометрии в режиме редактирования не меняет размеры самого объекта. Следить за этим не всегда нужно, но при работе с физикой и точными масштабами полезно помнить, что сам по себе объект это просто пустышка, и чаще всего ожидается, что она будет единичного размера (тогда множитель её размера не меняет размер того, что внутри).

У объекта слева размер 3 по всем осям, в то время как у такого же по величине правого фактический размер остался единичным, так как его геометрию увеличивали внутри - в режиме редактирования

У объекта слева размер 3 по всем осям, в то время как у такого же по величине правого фактический размер остался единичным, так как его геометрию увеличивали внутри — в режиме редактирования

В то же время менять размер внутренней геометрии не всегда удобно. Поэтому можно изменить размер всего объекта, а затем применить изменения, чтобы сам он снова стал единичным. Делается это через меню Object — Apply — Scale. Горячая кнопка Ctrl A — Scale

Применение размера:

У пустышки-объекта также есть центральная точка, которая может не совпадать с центром самой геометрии (а то и вовсе находиться далеко за пределами геометрии). Если потребовалось совместить эти центры вместе, то делается это через меню Object — Transform и далее один из вариантов, например, Geometry to Origin

Щёлкая левой кнопкой мыши по сцене мы постоянно ставим туда 3д-курсор. Его текущие координаты тоже можно использовать как новую центральную точку объекта: Object — Transform — Origin to 3D Cursor

Перенос центра объекта к курсору:

Копировать объекты можно несколькими способами. Например, так, чтобы они стали отдельными — через Shift D (либо через Ctrl C, Ctrl V). Другая комбинация делает объекты связанными, клонируя оригинал — Alt D. В этом случае редактирование одного повлияет на все клоны.

Копия и клон:

Очень часто пригождается клавиша с точкой на цифровой клавиатуре (Numpad Del) — фокусировка на выбранный объект или элемент геометрии (в игровых движках подобная функция обычно назначена на клавишу F). То есть это возможность быстро «прилететь» к нужному объекту и нормализовать зум.

Для приближения к объектам (либо отдаления) используются кнопки зума: Numpad + и Numpad — (для более произвольного зума — колёсико). Для вращения камерой нужно удерживать среднюю кнопку мыши. Для передвижения по сцене зажимается Shift и всё та же средняя кнопка мыши.

Пара наиболее ходовых способов выделения. Первый — прямоугольное, через нажатие B. Второй — произвольное, нужно нарисовать область с зажатым Ctrl. Также все действия можно отменять через стандартную комбинацию Ctrl Z.

Редактирование

В режиме редактирования (упомянутый ранее Edit Mode) в окошке слева вверху внутри вкладок добавляется различных полезных опций (например, вкладка Tools и её раздел Mesh Tools — Add:).

Можно не пользоваться опциями в Tools, запомнив нужные сочетания клавиш, но на первых порах эта вкладка (и пара вкладок пониже) пригодятся

Можно не пользоваться опциями в Tools, запомнив нужные сочетания клавиш, но на первых порах эта вкладка (и пара вкладок пониже) пригодятся

Одна из них — создание замкнутого разреза (edge loop), который опоясывает геометрию, если это возможно. Выбирается место, потом сдвиг. Горячая кнопка Clrl R

Добавление петель:

Иногда требуется выделить либо удалить подобные разрезы. Для этого можно отметить несколько точек разреза и обратиться к меню Select, выбрав Edge Loop. Теперь разрез можно двигать или удалить, нажав Delete и указав нужный вариант.

Удаление петель:

Для того, чтобы выбрать какую-то уже существующую петлю на объекте для дальнейших манипуляций, можно в режиме выделения точек или рёбер щёлкнуть по любому ребру этой петли с зажатым Alt. Если требуется выделить несколько петель, то дополнительно удерживаем Shift, когда начинаем добавлять вторую и далее.

Горячая кнопка I (i) создаёт грань/грани внутри выделенной области, после чего можно отрегулировать размер.

Врезка:

Другой тип врезки, используемый также для ручного создания фасок — Ctrl B. В целом можно не помнить конкретное сочетание, а вызывать меню для точек (Ctrl V), рёбер (Ctrl E) или граней (Ctrl F) и искать нужную операцию там. Либо зайти в меню Mesh и далее.

Фаска:

Одна из часто используемых операций — выдавливание (extrude). Горячая кнопка E. Стоит помнить что клавиши, работающие с целым объектом применимы и в режиме редактирования для выбранных элементов — G (сдвинуть), R (повернуть), S (увеличить/уменьшить).

Экструдирование:

Ещё одна полезная операция — подразделение (subdivide). Находится в менюшке, вызываемой по клавише W (также опцию Subdivide можно найти во вкладке Tools или отыскать в выпадающих списках меню Mesh). Разбивает указанные грани на 4 части, либо делит указанные рёбра пополам.

Подразделение геометрии:

Клавиша Delete позволяет выбирать способы удаления геометрии. Что-то можно убрать совсем, что-то растворить/объединить.

Варианты удаления:

Иногда при экспорте модель может неправильно затеняться. Скорее всего дело в неправильных нормалях. Включить отображение нормалей можно в подразделе Mesh Display, вытянув окно справа. Во вкладке Shading окна слева есть способы правки нормалей.

Нормали:

Одна из очень полезных возможностей — добавление рёбер вдоль пути. Нужно выбрать начальную и финальную, нажать и появятся разрезы по всему пути от точки до точки. Таким образом можно делать локальную ручную триангуляцию и обходится без инструмента «нож» (хотя он тоже может делать более точные разрезы).

Разрез вдоль пути:

Для создания заполняющих граней (рёбер) по точкам используется клавиша F. Если выделен замкнутый контур, то по Alt F можно сделать автозаполнение его треугольными гранями. 

Построение граней:

Чтобы отделить элемент геометрии в отдельный объект, нужно выделить его и нажать P, выбрав вариант Selection.

Отделение элемента:

Если нужно наоборот, объединить геометрию двух объектов в один — требуется выбрать первый объект, затем добавить второй через Shift и нажать Ctrl J

Объединение объектов:

Upd. В виде мини-роликов:

Общее:Редактирование:

Понравилась статья? Поделить с друзьями:
  • Как можно исправить оценку в электронном журнале
  • Ошибка абзац как исправить
  • Как найти среднеквадратическую ошибку
  • Как найти копье the long dark
  • Найдите решение системы уравнений как решать