Стек без разрушения
До сих пор каждое действие меняло сетку навсегда: выдавили — грань ушла, фаска — рёбра добавились. Если через час захочется другую толщину стенок, придётся переделывать. Модификаторы решают это иначе: они не меняют сетку, а показывают её изменённой.
Модификатор — это правило, которое применяется к модели на лету. «Отрази сетку по оси X», «дай стенкам толщину 4 мм», «сгладь в два уровня». Исходная сетка при этом остаётся простой и нетронутой, а на экране и на рендере видна уже изменённая форма. Поменяли число в модификаторе — форма тут же пересчиталась. Выключили модификатор — вернулась исходная.
Такой подход называют неразрушающим. Его главная польза — решения можно менять в любой момент. Заказчик просит стенки потоньше — одно число. Нужна версия с другим числом полок — одно число. Сглаживание тормозит компьютер — выключили его в окне и оставили для рендера.
Модификаторы складываются в стек и выполняются сверху вниз, как конвейер: каждый получает результат предыдущего. Поэтому порядок важен. Толщина, а затем сглаживание — ровные стенки со скруглёнными краями. Сглаживание, а затем толщина — оплывшая форма, которой дали толщину. Если модель выглядит странно, первым делом проверьте порядок в стеке.
Когда форма окончательно решена, модификатор можно применить — «запечь» его в сетку. Делают это редко: при передаче модели в другую программу или когда дальше нужно править уже изменённую форму вручную. Пока форма может измениться, модификаторы держат живыми.
Сглаживание подразделением
Самый известный модификатор — сглаживание подразделением. Он делит каждую грань на четыре и сдвигает вершины так, что форма округляется. Грубый кубик из шести граней после двух уровней становится гладким, почти как шар. Это основа моделей с плавными формами: корпусов, кружек, мебели, персонажей.
У сглаживания есть цена: граней становится в четыре раза больше с каждым уровнем. Кружка из 300 граней на третьем уровне — это уже 19 200 граней, а на четвёртом — почти 77 тысяч. Поэтому обычно ставят два уровня в окне и два-три на рендере: в модификаторе эти числа задаются отдельно.
Главное правило работы со сглаживанием — моделируйте грубую форму, а гладкость отдайте модификатору. Исходная сетка остаётся лёгкой — несколько десятков граней, — её легко править, а результат выглядит плавным. Это и есть причина, по которой в третьем уроке так настаивали на квадах: сглаживание ровно делит только их.
Сглаживание скругляет всё, включая то, что должно остаться острым. Здесь возвращаются поддерживающие рёбра из прошлого урока: петля вплотную к краю не даёт ему расплыться. Чем ближе петля, тем острее край. Так на одной модели получают и мягкие изгибы, и чёткие кромки.
Типичная картина новичка: поставил сглаживание на кубик — получил мыльный камень и расстроился. Так и должно быть: кубик без поддерживающих рёбер сглаживается в камень. Добавьте по петле у каждого края — и получите кубик со слегка скруглёнными углами, как у настоящей коробки.
Отражение, массив, фаска, толщина
Кроме сглаживания есть несколько модификаторов, которые встречаются почти в каждой сцене.
| модификатор | что делает | пример |
|---|---|---|
| отражение | делает зеркальную копию половины | симметричная ваза, лицо, машина |
| массив | повторяет объект рядом N раз | ступени, забор, полки, звенья цепи |
| фаска | скругляет края без правки сетки | мебель, корпуса, коробки |
| толщина | даёт плоской поверхности толщину | стенки кружки, лист, ткань |
Отражение экономит половину работы: моделируют половину предмета, а вторую достраивает модификатор. Правите одну сторону — вторая повторяет правку. Для симметричных вещей это не удобство, а обязательный приём: руками сделать две половины одинаковыми почти невозможно.
Массив повторяет объект заданное число раз со сдвигом. Одна ступень плюс массив на 12 копий со сдвигом вверх и вперёд — лестница. Поменяли высоту ступени — поменялась вся лестница. Поменяли число — лестница стала длиннее.
Фаска-модификатор делает то же, что ручная фаска из прошлого урока, но живо: ширину и число сегментов можно менять в любой момент, а исходная сетка остаётся простой. Для мебели и корпусов это удобнее ручной фаски почти всегда.
Толщина превращает плоскую поверхность в объёмную. Модель кружки можно делать как одну поверхность без внутренней стенки, а толщину стенок дать модификатором. Нормали здесь снова важны: толщина нарастает в сторону, противоположную нормали, и вывернутые нормали дают стенки не с той стороны.
Кружка модификаторами
Соберём кружку заново, теперь модификаторами, — и сравним с ручным путём из прошлого урока.
| шаг | ручной путь | модификаторами |
|---|---|---|
| стенки | вставка и выдавливание | толщина 4 мм |
| гладкость | много граней вручную | сглаживание, 2 уровня |
| ободок | ручная фаска | фаска-модификатор |
| правка толщины | переделать модель | поменять одно число |
Порядок в стеке для кружки: сначала толщина, потом сглаживание. Если поменять местами, сглаживание округлит тонкую оболочку, а толщина потом нарастёт на уже оплывшую форму, и край ободка станет толстым и бесформенным. Проверить легко: поменяйте порядок и посмотрите на ободок.
Исходная сетка такой кружки — цилиндр на 12–16 сторон без крышки и с парой петель. Всё остальное делают модификаторы. Её можно передать коллеге, и он сразу увидит, как устроена модель: стек читается как рецепт.
Модификаторы можно временно выключать в окне, оставляя на рендере. Это главный способ сохранить отзывчивость сцены: тяжёлое сглаживание и массив из тысячи копий в окне выключены, на рендере включены.
И напоследок о применении. Модель уходит в игровой движок, на печать или в интернет-магазин — там модификаторов нет, и перед экспортом их применяют. Сохраните при этом копию файла с живым стеком: если придут правки, вы вернётесь к числам, а не к тяжёлой запечённой сетке.