Модифікатор у 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-розгортку і ретопологію.