12
Blender 3D Как решить проблемы со сглаживанием (smooth) в Blender’е

Как решить проблемы со сглаживанием (smooth) в …blender3d.org.ua/forum/tutorial/iwe/upload/Smooth с... · Данная проблема является

Embed Size (px)

Citation preview

Page 1: Как решить проблемы со сглаживанием (smooth) в …blender3d.org.ua/forum/tutorial/iwe/upload/Smooth с... · Данная проблема является

Blender 3D Как решить проблемы

со сглаживанием (smooth) в Blender’е

Page 2: Как решить проблемы со сглаживанием (smooth) в …blender3d.org.ua/forum/tutorial/iwe/upload/Smooth с... · Данная проблема является

С Г Л А Ж И В А Н И Е Г Р А Н Е Й Для придания реализма, модели должны быть сглажены. Открываем blender. Удаляем куб, добавляем uv сферу.

ЧТО БЫ ДОБАВИТЬ СФЕРУ НАДО НАЖАТЬ ПРОБЕЛ ИЛИ SHIFT A → MESH → UV SPHERE.

Делаем копию сферы и применяем к ней сглаживание.

ЧТО БЫ СКОПИРОВАТЬ НАЖМИТЕ SHIFT D ДЛЯ СГЛАЖИВАНИЯ НАДО НАЖАТЬ КНОПКУ SET SMOOTH

ЧТО БЫ ОБЪЕКТ БЫЛ НЕ СГЛАЖЕННЫМ НАДО НАЖАТЬ КНОПКУ РЯДОМ SET SOLID.

Рендерим и видим одна сфера выглядит гладкой а на второй видны состовляющие полгоны.

Часто при моделирование требуется что бы была сглажена только часть объекта а не весь.

Этого можно добиться несколькими способами. В режиме редактирования выделить часть сферы и применить только к ней сглаживание.

Есть способ сглаживания с помощью AUTO SMOOTH результат его работы виден только на рендере, работает он только с поверхностями к которым применено сглаживании если применено solid то он не будет обрабатывать эти грани, что дает нам более глубокий контроль над сглаживанием.

Самый полный контроль над сглаживанием дает такой способ. Выделяем грани по которым будет граница сглаживания нажимаем Ctrl E выбираем Mark Sharp затем применяем модификатор Edge Split.

Результат.

Page 3: Как решить проблемы со сглаживанием (smooth) в …blender3d.org.ua/forum/tutorial/iwe/upload/Smooth с... · Данная проблема является

Blender 2.44

Как решить проблемы со сглаживанием (smooth) в Blender’е

В этой статье мы попробуем разобраться с проблемами сглаживания. И постараемся

коротко и ясно объяснить их. Почему мы решили затронуть эту тему? Согласитесь, это

необходимо знать, как бы то ни было, если вы захотите создать в блендере какой-либо

объект и, если вы столкнулись с объектами, которые сильно сглажены или имеют острые

грани. Так же мы затронули здесь и некоторые другие немаловажные проблемы. Вот о

чём нам поведали бывалые моделлеры…

1. Проблема с нормалями.

Данная проблема является распространенной среди тех, кто впервые взялся за

моделирование. Блендерновички замечают на своих моделях в той или иной точке

поверхности странное затенение. Несмотря на то, что они не сделали ничего плохого

своим моделям, всё же это может очень сильно расстроить их.

В этом примере, на голове Сьюзи, нормаль на одной из граней «перевернулась», образуя

тёмное пятно.

В режиме редактирования «Edit Mode», на панели «Mesh Tools 1» нажмите кнопки

отображения нормалей «Draw Normals» и «Draw VNormals». По желанию можно

Page 4: Как решить проблемы со сглаживанием (smooth) в …blender3d.org.ua/forum/tutorial/iwe/upload/Smooth с... · Данная проблема является

отрегулировать размер нормалей, используя параметр «NSize». «Draw Normals»

отображает нормали, проведенные к каждой грани поверхности, а «Draw VNormals» - к

каждой вершине. Обычно все нормали на поверхности исходят наружу (в большинстве

случаев), но иногда бывают обращены и внутрь (как например, в случае с диффузным

отражением («radiosity»)). Если вы заметили странные изменения в затенении материала

на поверхности, то это, вероятно, означает, что некоторые нормали инвертировались (в

основном такое происходит при полигональном моделировании).

Результат включения опций «Draw Normals» и «Draw VNormals» в окне 3D вида.

Что необходимо сделать, чтобы это исправить (в режиме редактирования «Edit Mode»):

- выделить все грани модели и затем нажать «CTRL+N», чтобы пересчитать все нормали

снаружи поверхности, или «SHIFT+CTRL+N», для пересчета их внутри. Иногда вам

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

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

- выделите грани, у которых нормали ориентированы не верно, и затем нажмите кнопку

«Flip Normal» на панели «Mesh Tools». Это самый лучший из способов решения данной

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

определять нормаль каждой из них и исправлять её, от таких действий может просто

«поехать крыша» =)).

Первый способ применяется в 90% случаев для решения проблем с нормалями.

Page 5: Как решить проблемы со сглаживанием (smooth) в …blender3d.org.ua/forum/tutorial/iwe/upload/Smooth с... · Данная проблема является

2. Проблемы с удвоением.

Это также довольно распространенная проблема, главным образом упирающаяся корнями

в неопытность людей, начинающих моделировать в Blender. Это случается по нескольким

причинам:

- нажатие кнопки «Е» («Extrude») – выдавливание, в результате чего вершины могут

совпасть, если вы не передвинули хоть одну из них (происходит наложение одной

вершины на другую);

- когда разделяется модель на части (кнопка «Р») и в последствии позже эти части снова

соединяются («CTRL»+ «J»);

- когда используется инструмент «Вращение» («Spin») (шов обычно появляется на

первоначальной поверхности, которая подверглась вращению);

- когда вручную соединяются две зеркальные половины одного меша;

- когда используется скрипт для импорта моделей другого формата, например как .dxf;

- другие случаи

Во всех этих случаях могут появляться копии вершин, которые располагаются в одном

месте и не видны. Копии могут повлиять на затенение поверхности при использовании

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

черного шва. В различных случаях это будет видно более или менее отчетливо, в

основном как граница острого ребра вместо ровной сглаженной поверхности.

Page 6: Как решить проблемы со сглаживанием (smooth) в …blender3d.org.ua/forum/tutorial/iwe/upload/Smooth с... · Данная проблема является

В этом примере две отображенные половины головы Сьюзи были соединены вместе,

здесь появилась линия из копий вершин, которая проходит через ось симметрии.

Как исправить:

Выберете все вершины в режиме редактирования («Edit Mode»):

- на панели «Mesh Tools» нажмите кнопку «Rem Doubles»;

- жмите клавишу «W», чтобы вызвать меню «Specials» и выберете «Remove Doubles»

В панели «Mesh Tools» рядом с кнопкой «Rem Doubles» есть параметр, называемый

«Предел» («Limit»). Здесь отображается расстояние между двумя дублированными

вершинами, при котором их можно объединить. Очень полезная фишка для исправления

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

значение предела может пагубно повлиять на модель! Если вы хотите подробно

рассмотреть общее состояние меша, то можете применить модификатор «Decimate».

Кнопка «Rem Doubles» и значение «Limit»

3. Инструменты сглаживания в Blender

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

зная как с ними бороться, мы можем перейти к основной статье – сглаживание. Каждый

пакет для 3D моделирования имеет свои собственные инструменты для сглаживания

поверхностей частями или полностью. Blender остаётся в теме и так же предлагает

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

3.1 Что же такое «сглаживание» («smoothing»)?

Подвохом в полигональном моделировании в Blender’е и других пакетах является то, что

тела и поверхности определяются гранями, а не математическими плоскостями (как

NURBS или Мета-Объекты). Если в сцене присутствует всего одна лампа, то легко

сделать следующие замечания: каждая грань модели получает приблизительно

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

Page 7: Как решить проблемы со сглаживанием (smooth) в …blender3d.org.ua/forum/tutorial/iwe/upload/Smooth с... · Данная проблема является

если они не находятся в одной плоскости, получают различное количество света друг от

друга. В итоге освещенность модели получается неравномерной.

Изображение модели с множеством граней и проблесков на них

Существует два основных решения этой проблемы.

3.1.1 Разбиение геометрии.

Первым решением может быть использование подповерхностного разбиения («Subsurf

division») множество раз, так чтобы различие в освещенности двух смежных и очень

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

разбиения, тем более сглажено будет выглядеть модель, и просчет визуализации сцены в

этом случае будет занимать больше времени.

Page 8: Как решить проблемы со сглаживанием (smooth) в …blender3d.org.ua/forum/tutorial/iwe/upload/Smooth с... · Данная проблема является

Использование «Subsurf» для улучшения внешнего вида модели: Сьюзи без «Subsurf» и с

увеличенным его значением

Возьмите во внимание то, что вы можете также использовать модификатор «Smooth», при

этом углы стыкующихся граней станут разглаженными. К сожалению, в процессе

сглаживания модель немного уменьшается в размерах.

3.1.2 Хитрости освещения.

Вторая проблема заключается в искажении затенения внутри одной грани, соответствуя

затенению соседних граней. В этом случае каждая грань сохраняет свою первоначальную

форму (без использования подповерхностного разделения), но при этом создает иллюзию

абсолютной сглаженности: только ребра модели могут предавать форму.

Неплохое сочетание этих двух приемов (подповерхностное разделение с низким

значением и теневое искажение) вероятно, является самым простым способом получения

иллюзии сглаживания.

3.2 «Set smooth» и «Set solid»

Blender позволяет сделать выбор между двумя характеристиками в режиме выбора

объектов «Object mode», это «Set smooth» и «Set solid» на панели «Link and Materials».

Page 9: Как решить проблемы со сглаживанием (smooth) в …blender3d.org.ua/forum/tutorial/iwe/upload/Smooth с... · Данная проблема является

Примеры сглаженной и огрубленной модели, форма объектов остается прежней

(полностью низкополигональна)

Вы также можете использовать оба параметра на одной модели, но только в режиме

редактирования «Edit mode» и применить к выбранным граням. Самое главное, что вы

должны помнить – к грани можно применить либо «Set smooth», либо «Set solid». В

объектном режиме «Object mode», если вы примените любой из этих параметров, то всё,

что вы сделали в режиме редактирования - сбросится.

Одна половина головы Сьюзи сглажена, другая огрублена.

3.3 Использование автосглаживания («AutoSmooth»)

В некоторых случаях необходимо, чтобы ребра не подвергались сглаживанию. Мы уже

говорили, о том, что в режиме редактирования «Edit mode» вы можете выбрать любую

грань, которая будет сглажена или огрублена. Автосглаживание позволяет проводить эту

процедуру автоматически, здесь параметры зависят от величины угла между двумя

соседними гранями: если угол превышает значение, установленное в окне «Angle»

(«Угол») панели «Mesh», то грани будут огрублены; если угол меньше – сглажены.

Рассмотрим это на примере цилиндра: необходимо сгладить боковую и верхнюю части. В

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

«Set smooth», то в итоге модель получится неправильно освещенной (круговое ребро

Page 10: Как решить проблемы со сглаживанием (smooth) в …blender3d.org.ua/forum/tutorial/iwe/upload/Smooth с... · Данная проблема является

будет сливаться с поверхностью). Вместо этого можно применить автоматическое

сглаживание «AutoSmooth» и ребро будет видно, здесь угол между поверхностями

составляет 90 градусов, и важно подобрать значение «Angle» немного меньше.

Слева направо: цилиндр с огрубленной поверхностью, с применением сглаживания и с

применением автоматического сглаживания. В первом случае верхняя часть сглажена

как надо, а вот на боковой поверхности заметны «лишние» полосы; на втором цилиндре

– боковая часть сглажена хорошо, верхняя – имеет странное затенение; третий

цилиндр сглажен идеально и имеет приятный внешний вид!

3.4 Подсказки и уловки в регулировании заостренности ребер.

Автоматическое сглаживание, хоть и применяется во многих случаях, не обеспечивает

полноты контроля над всеми ребрами. В некоторых ситуациях вам может понадобиться

сделать ребро заостренным, но значение «Angle» , например, слишком мало. Имеется

простое решение – используя выдавливание «Extrude» (клавиша «E») выдавить

необходимое ребро на незначительную величину, незаметную для человеческого глаза.

Или разрезать петлю ребер при помощи комбинации клавиш «CTRL+R» очень близко к

тому ребру, которое нам необходимо заострить.

Page 11: Как решить проблемы со сглаживанием (smooth) в …blender3d.org.ua/forum/tutorial/iwe/upload/Smooth с... · Данная проблема является

Образец поверхности вращения, превращенный в меш объект.

Давайте рассмотрим ситуацию с простым телом вращения, состоящего из цилиндра и

сферы, объединенных вместе. Необходимо сгладить всю поверхность, за исключением

кольцевого ребра, которое находится внизу цилиндра и ребер, находящихся в местах

соединения двух тел. Используя комбинацию «CTRL+R», добавляем по две петли очень

близко к каждому ребру, которое необходимо заострить. Получаем необходимый

результат, и ко всей модели применяем параметр «Set smooth».

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

Правда, такое решение может усложнить геометрию объекта и в дальнейшем затруднить

расчет.

3.5 Модификатор «Edge Split».

Page 12: Как решить проблемы со сглаживанием (smooth) в …blender3d.org.ua/forum/tutorial/iwe/upload/Smooth с... · Данная проблема является

Модификатор «Edge Split», появившийся в версии Blender’а 2.43, является отличным

инструментом для любого моделлера, в основном потому, что с его помощью удобно

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

«Seams» при UV-развертке. В режиме редактирования «Edit mode», первое, что вам

необходимо сделать – это выбрать ребра и применить к ним «Mark Sharp» (комбо клавиш

«CTRL+E») из меню «Edge Specials». Затем в объектном режиме «Object mode» добавить

модификатор «Edge Spliyt» из свитка модификаторов «Modifiers».

В основном, при просчете получается так, что все грани объекта сглаживаются, но

затенение в области, расположенной близко к отмеченным ребрам, не будет

интерполироваться. Это особенность опции «From Marked as Sharp». Более того, также

доступна опция «From Edge Angle», суть её заключается в том же, что и «AutoSmooth», и

применяется для установки угла разделения «Split Angle». Если угол между двумя

гранями выбранного ребра превышает заданное значение, то ребро будет заостренным, а

грани соответственно затенены.

4. Вывод.

Я надеюсь, эта небольшая лекция была полезной для всех тех, кто работает с Blender: и

новичкам, которые сталкиваются с необычными дефектами поверхностей, и более

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

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

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