Модифікатор у Blender — це дія, яку програма виконує над моделлю, не змінюючи саму модель. Сітка залишається тією, яку ви зліпили; зверху просто лежить інструкція «а тепер подвой це двадцять разів» або «зроби симетрично». Поки інструкція не застосована, її можна вимкнути, переналаштувати або прибрати зовсім.

Для дитини це головна зміна в способі роботи. До модифікаторів кожна помилка означала «переліпи заново», після них — «поправ число в панелі». Нижче довідник: які модифікатори потрібні з перших тижнів, у якому порядку їх ставити і де вони поводяться не так, як очікуєш.

Як влаштований стек

Модифікатори складаються в стовпчик у вкладці з синім ключем і виконуються згори вниз. Це не дрібниця оформлення: той самий набір у різному порядку дає різні моделі. Кожен рядок стеку має кілька кнопок, і дві з них варто знати одразу — око вимикає модифікатор у вікні перегляду, а фотоапарат у фінальному рендері. Вимкнути важкий модифікатор на час ліплення і повернути перед рендером — нормальна практика, а не хитрість.

МодифікаторЩо робитьКоли беруть
Mirrorдзеркалить половинуусе симетричне: персонаж, машина, меблі
Subdivision Surfaceзгладжує, дробить полігониорганіка, м'які форми
Arrayповторює об'єкт рядомпаркан, сходи, колони
Solidifyнадає товщину площиністіни, одяг, листя
Bevelскругляє або фасетує ребратехніка, усе тверде
Booleanвіднімає або об'єднує об'ємиотвори, вирізи, пази
Screwобертає профіль по колуваза, пружина, різьба
Shrinkwrapпритягує сітку до поверхніналіпки, одяг по тілу
Decimateзменшує кількість полігонівважка модель, експорт у гру
Simple Deformзгинає, скручує, розтягуєшвидка правка форми
Weldзліплює близькі вершиничистка після Array чи Mirror

Порядок у стеку вирішує все

Найнаочніший приклад — Mirror і Subdivision Surface на персонажі. Якщо дзеркало стоїть першим, згладжування працює з уже цілою моделлю і шов посередині зникає. Якщо навпаки, кожна половина згладжується окремо, і на стику з'являється борозна, яку потім шукають годинами, перевіряючи вершини.

Друге таке місце — Bevel і Subdivision. Фаска по гострих ребрах, поставлена до згладжування, тримає форму, а поставлена після — розмазується разом з усім іншим. Загальне правило, яке рятує більшість випадків: спочатку те, що будує геометрію (Mirror, Array, Solidify), потім те, що її згладжує.

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

Array і Screw міряють по своїх осях

Ось місце, де ми найчастіше розбираємо чужі «зламані» файли. Array зсуває копії по осях самого об'єкта, а не сцени. Поки об'єкт не повернутий, це одне й те саме, і різниці не видно. Але якщо дитина покрутила модель у режимі об'єкта, локальні осі поїхали разом з нею — і копії раптом ідуть навскіс, хоча в панелі стоїть чистий зсув по X.

Screw поводиться так само: вісь обертання він бере локальну. Тому ваза, зроблена з профілю, який повертали, виходить перекособоченою, і налаштування модифікатора тут ні до чого.

Лікується це не в модифікаторі, а до нього: обнулити поворот об'єкта, застосувавши його до сітки. Після цього локальні осі знову збігаються зі світовими, і числа в панелі починають означати те, що показують. Корисна звичка — перевіряти поворот об'єкта перед тим, як ставити Array, а не після того, як результат здивував.

Boolean і чорна модель

Boolean вирізає один об'єм з іншого, і це найшвидший спосіб зробити отвір. Проблема приходить пізніше: після кількох вирізів модель на рендері виходить частково чорною, хоча матеріал нормальний і світло на місці.

Причина в нормалях — тих невидимих стрілках, що кажуть, яка сторона полігона зовнішня. Boolean регулярно вивертає частину з них навиворіт, і для рендера така поверхня стає внутрішньою. Лікується в режимі редагування: виділити все і перерахувати нормали зовні. Побачити проблему заздалегідь можна, увімкнувши в налаштуваннях вікна показ напрямку нормалей — вивернуті ділянки одразу стають помітними.

Друге з Boolean: він дуже не любить брудну сітку. Самоперетини, подвійні вершини, діри в об'ємі дають або рвані краї, або зовсім нічого. Якщо виріз не вийшов, перевіряти варто не модифікатор, а обидві моделі.

Один приклад цілком: сходи

Щоб таблиця перестала бути переліком, корисно пройти задачу від початку. Сходи на двадцять ступенів ліплять так: одна ступінь кубиком, далі Array із двома зсувами — трохи вперед і трохи вгору. Двадцять ступенів з'являються одним числом у полі кількості, і найголовніше — висоту кроку після цього можна змінити в будь-який момент, і всі двадцять поїдуть разом.

Ручний спосіб дає той самий результат, але переробці не піддається: дитина, яка скопіювала ступінь двадцять разів руками, на прохання «зроби пологіше» просто починає заново. Саме на цій задачі різниця між двома підходами видно без пояснень, тому ми ставимо її в програму раніше за складніші моделі.

Якщо ступені мають повторюватися із загином по дузі, а не прямо, до Array додають об'єкт-зсув замість чисел: тоді кожна наступна копія повторює не лише переміщення, а й поворот. Спіральні сходи виходять з тієї самої однієї ступені, і це вже той момент, коли дитина сама просить показати, що ще так уміється.

Модифікатор стоїть, а нічого не змінилося

Три причини покривають майже всі такі випадки. Перша: модифікатор потребує об'єкта, який не вказали. Boolean без другого об'єму, Shrinkwrap без цілі, Array з об'єктом-зсувом, якого немає, — усі вони просто нічого не роблять і помилки не показують.

Друга: нульове значення. Solidify з товщиною нуль, Bevel з нульовою шириною, Array з кількістю один виглядають увімкненими, але результату не дають. Варто просто пройтися по полях очима.

Третя: вимкнене око в рядку стеку. Його часто гасять, щоб прискорити вікно, і потім забувають увімкнути — модель виглядає неправильно, а всі налаштування при цьому коректні.

Коли застосовувати, а коли ні

Застосування перетворює інструкцію на справжню геометрію: полігони з'являються в сітці, панель модифікатора зникає, назад дороги немає. Робити це варто лише тоді, коли далі потрібна саме сітка — наприклад для ретопології, скульптингу поверх або експорту в ігровий рушій.

У всіх інших випадках модифікатор краще залишити живим. Файл від цього не важчий, а можливість відкотити число замість переробки моделі коштує дорожче за охайність стеку. Окремо варто пам'ятати: застосовувати потрібно згори вниз, по порядку, бо нижні модифікатори розраховані на результат верхніх.

Де спотикаються найчастіше

Subdivision Surface має два рівні — для вікна і для рендера. Дитина ставить четвірку в перегляд, комп'ютер починає задихатися, а приріст якості після другого рівня майже непомітний. Робоче значення — один чи два у вікні й два-три в рендері.

Важить і сумарна вага стеку. Один Subdivision на моделі з двадцяти полігонів безболісний, той самий модифікатор після Array на сто копій множить роботу на сто — і вікно починає відставати від мишки. Якщо сцена загальмувала раптово, винен майже завжди не останній доданий модифікатор, а той, що стоїть вище за нього і подає вниз у кілька разів більше геометрії, ніж хвилину тому.

Mirror без увімкненого обмеження дає половинки, що проходять одна через одну по центру. Галочка clipping не дає вершинам перелізти за середину, і цю галочку варто вмикати одразу.

І остання річ, яка збила з пантелику навіть мене під час підготовки уроків: згладжування за кутом у свіжих версіях Blender зроблено не властивістю об'єкта, як було раніше, а окремою дією, що додає в стек свій модифікатор. Інструкції зі старих відео в цьому місці просто не збігаються з інтерфейсом, і шукати галочку там, де її описують, марно.

Якщо гарячі клавіші ще не в руках, почніть із таблиці гарячих клавіш — модифікатори зручні тільки тоді, коли навігація по сцені не забирає увагу. Що робити з моделлю далі, розібрано в матеріалах про UV-розгортку і ретопологію.