УРОК №2. Модификаторы. Стек модификаторов. Модификаторы Taper, Twist, Bend, Shell, Noise.

В этой главе мы научимся работать с модификаторами. Что это такое и для чего они нужны?
Модификатор - это команда, алгоритм, с помощью которого программа искажает трёхмерный объект.
Например, нам нужно сделать подлокотник для дивана. Вот такой:

Рис 1. Подлокотник для дивана

Форма этого подлокотника - "согнутый" примитив Box.

Рис 2. Подлокотник до того, как его согнули

Именно эту задачу - искажение формы объекта, деформацию - выполняют модификаторы.


Рис 3. Деформация Box'a

Модификаторов большое количество, все они работают по-разному и с разными типами объектов. Мы будем рассматривать параметрические модификаторы (Bend, Twist, Taper, Shell, Noise). Действие данных модификаторов предусматривает изменение формы объекта.

Bend

Начнём с модификатора Bend (Изгиб). Этот модификатор сгибает объект (так же, как на картинках выше).
Создадим Cylinder. Цилиндр, который вы увидите на картинках, сделан в системе единиц Generic Units. Радиус цилиндра - 2, высота - 70.


Рис 4. Цилиндр

Чтобы применить модификатор, необходимо выделить объект, а затем обратиться к выпадающему списку модификаторов (Modifier List) во вкладке Modify.


Рис 5. Modifier List

В раскрывшемся списке выбираем Bend.


Рис 6. Выбор модификатора Bend в списке

После присвоения модификатора ничего не произошло.


Рис 7. После применения к цилиндру модификатора Bend

Изменений не произошло потому, что мы ещё не настроили параметры модификатора. Они находятся там же, во вкладке Modify (объект, конечно же, должен быть выделен).


Рис 8. Параметры модификатора Bend

Основной параметр модификатора Bend - это угол наклона (Angle). Изменяя этот параметр, мы задаём объекту изгиб.
Любые изменения формы (искривления, сгибания, скручивания и т.п.) зависят от количества сегментов. Если сегментов мало, то изгиб будет грубым, если много - плавным.


Количество сегментов цилиндра = 2


Количество сегментов цилиндра = 10

Рис 9. Зависимость плавности искривления от количества сегментов

Количество сегментов мы можем изменить в настройках объекта, находящихся во вкладке Modify. Но сейчас мы видим там настройки модификатора. Для того чтобы вернуться к параметрам объекта, необходимо обратиться к стеку модификаторов. Он находится прямо под списком модификаторов (Modifier List), к которому мы обращались, когда присваивали цилиндру модификатор Bend.


Рис 10. Стек модификаторов

Во вкладке Modify отображаются свойства того элемента стека модификаторов, который выделен серым. Следовательно, чтобы вместо настроек модификатора Bend увидеть свойства цилиндра, нужно щёлкнуть мышкой на соответствующей строке.


В стеке модификаторов выделен модификатор Bend. В параметрах - свойства модификатора.


В стеке модификаторов выделен объект Cylinder. В параметрах - свойства объекта.

Рис 11. Элементы стека модификаторов

А в свойствах цилиндра мы уже можем задать необходимое количество сегментов. Чем их больше, тем, как уже было сказано выше, более гладким будет изгиб. Но не переусердствуйте с количеством - если при данном количестве сегментов степень плавности вас устраивает, остановитесь - не нужно добавлять элементов "про запас". Слишком большое их число перегружает компьютер, и, следовательно, замедляет работу.
Рядом с названием модификатора стоит значок в виде лампочки. Если на него нажать, то лампочка "выключится", и действие модификатора перестанет отображаться в окне проекции. Чтобы "включить" модификатор, нужно снова щёлкнуть на лампочке.


Рис 12. Отключение действия модификатора

Обратите внимание, что при отключении модификатора остался как бы контур изменённого объекта. Это Gizmo - не отображающийся при рендеринге объект, который показывает действие модификатора, или какие-либо другие изменения объекта, и помогает управлять этими изменениями. Например, стрелки, появляющиеся при использовании инструмента Select and Move или Select and Rotate - это тоже Gizmo.
Изменения Gizmo распространяются на сам объект. Чтобы переместить Gizmo, нужно в стеке модификаторов щелкнуть на плюсик рядом с активным модификатором. Раскроется список подобъектов. Затем выбираем подобъект Gizmo (строчка подсветится желтым) и двигаем его инструментом Select and Move. Также Gizmo можно вращать и масштабировать. Следует помнить, что, перед тем как продолжить работать со всем объектом, или каким-либо другим, необходимо выйти из режима редактирования подобъекта. Подобъекты присутствуют и в других модификаторах.


Рис 13. Перемещение подобъекта Gizmo

Если Вы хотите не выключить, а окончательно и бесповоротно удалить модификатор, то нужно нажать на кнопку  (Remove modifier from the stack) на панели инструментов стека модификаторов.


Рис 14. Панель инструментов стека модификаторов. Выделена кнопка удаления модификатора

Вернёмся к параметрам модификатора Bend. Обратите внимание на раздел Band Axis. Здесь выбирается ось (X, Y, или Z) по которой происходит изгиб.


Рис 15. Действие модификатора Bend в разных осях (слева направо: Z, Y, X). Параметр Angle = 90

Теперь рассмотрим параметр Limit (предел). Он накладывает ограничения на действие модификатора в установленных параметрами пределах Lower Limit, Upper Limit (нижний предел, верхний предел). Это нужно тогда, когда мы хотим согнуть не весь объект, а какую-то его часть. Активируем действие пределов, поставив галочку рядом с Limit Effect.


Рис 16. Объект после включения параметра Limit Effect

То, что вы видите, произошло потому, что значение Upper Limit и Lower Limit равны 0. Это значит, что модификатор ограничен в своём действии сверху и снизу в нулевой точке, считая от центра локальной системы координат объекта. Т.е. он просто не работает, никакого изгиба нет.
Попробуем изменить значение, например, Upper Limit, на 30.


Рис 17. Действие модификатора Bend после изменения значения Upper Limit на 30

Значение, которое мы устанавливаем в Upper Limit - это высота объекта, на которой действие модификатора прекращается. Предел отмечен квадратиком на Gizmo.


Рис 18. Верхний предел

Но что, если мы хотим сместить действие предела? То есть, чтобы, грубо говоря, согнутый кусок оставался того же размера, но располагался выше (или ниже) по длине объекта (как на рисунке ниже)?


Рис 19. Изогнутая часть (выделена красным) перемещена выше по длине цилиндра

Значения всех параметров прежние.
Чтобы сместить действие пределов (в нашем случае по оси Z), необходимо зайти в режим редактирования подобъектов и выделить Center.


Рис 20. Уровень редактирования Center

Подобъект Center находится там же, где центр локальной системы координат объекта. Перемещайте его вдоль длины цилиндра (в нашем случае по оси Z) до тех пор, пока наклон не будет помещен в необходимую точку.
Теперь, когда Center перемещён, можно увидеть действие Lower Limit. Попробуйте самостоятельно.
Параметр Direction (Направление) отвечает за поворот формы вокруг своей оси в процессе изгиба. Попробуйте изменить его значение, и посмотрите на результат.

Taper

Параметры модификаторов Taper (Конусообразный) и Twist (Скручивание) схожи по смыслу с параметрами модификатора Bend, вы без труда догадаетесь, что к чему. Поэтому мы не будем подробно останавливаться на настройках, лишь расскажем принцип действия.
Модификатор Taper сужает объект к одной из его вершин, таким образом делая форму объекта, "стремящейся" к конусу. Taper основывает свой эффект на центре Gizmo с противоположным масштабированием, которое выполняется всегда выше и ниже центра. Центр работает как устойчивое место, в котором масштабирование не выполняется.


Рис 21. К объекту Box применён модификатор Taper

Опция Curve в Тарег позволяет задавать выпуклости и вогнутости для того, что иначе было бы прямым конусом. Опция Symmetry отражает искривление относительно подобъекта Center.


Рис 22. Подобъект Center смещён в центр объекта, значение Curve отрицательное, включена опция Symmetry

Не забывайте и про Limit Effect.


Рис 23. Подобъект Center смещён в центр объекта, Включен Limit Effect

Twist

Модификатор Twist создает спиральный винт или штопор, опираясь на одну из осей объекта. Подобный эффект получается, когда в вашей руке висит веревка, а вы начинаете быстро вращать кисть.
Влияние Twist достаточно сильно зависит от расположения центра Gizmo.
Если этот центр находится на объекте, Twist создает геометрические спирали, во многом похожие на столб с белой и красной спиралями или на леденец в виде палочки. Если центр перемещается, геометрия скручивается для образования спирали. Пирамиды на рисунке показывают эффект расположения центра Gizmo в центре объекта и со смещением.


Рис 24. Действие модификатора Twist. Справа - смещённый Gizmo


Рис 25. Пример использования модификатора Twist

Shell

Рассмотрим еще 2 модификатора, с помощью которых можно добиваться интересных результатов. Модификатор Shell, с которым мы уже познакомились в прошлом уроке, выдавливает, придает толщину, его можно применять к сплайнам и другим объектам.


Рис 26. Действие модификатора Shell

Noise

Модификатор Noise создает шумы и неровности. В настройках задается Scale (размер) и деформация по осям. С его помощью можно добиваться большей реалистичности объектов.


Рис 27. Действие модификатора Noise

Задание

А теперь самостоятельно сделайте сцену развалин замка в пещере.

Рекомендации

Пещера сделана с помощью полусферы, конвертированной в Editable Poly с удалением нескольких сегментов и нижней части полусферы. К ней применяется модификатор Noise и Shell.

Чтобы создать реалистичный обломок колонны, нужно воспользоваться булевыми операциями, т.е. операциями вычитания. Создайте колонну с помощью сплайна Star и модификатора Shell. Рядом создайте Box и примените модификатор Noise. Эти два объекта должны пересекаться. Теперь выделяем колонну и в окне Geometry выбираем из списка Compound Objects, нажимаем на кнопку Boolean. Убедитесь, что в настройках стоит операция Subtraction (A-B), нажмите Pick Operant B и щелкните по объекту Box.  (Рис. 28).


Рис 28. Булева операция

Из колонны вырежется неровный Box, создавая при этом реалистичный разлом (Рис. 29).


Рис. 29