Модификатор Bend "вращает" вершины выборки вокруг точки по умолчанию и вдоль одной оси. Эффект очень похож на изгибание податливого материала на жестком цилиндре. Диаметр этого "цилиндра" изменяется по мере увеличения угла Bend и перемещения центра. Bend на 360° будет вращать объект до тех пор, пока тот не образует круг. Размер этого круга зависит от расположения центра гизмо, как показано на рисунке 8.20.
Из рисунка 8.21 видно, что в то время как перемещение центра гизмо удерживает форму гизмо прикрепленной к деформированному объекту, перемещение всего гизмо фактически размещает центр вращения изгиба. Этот рисунок показывает как перемещение центра влияет на воздействие изгиба вдоль трех осей.
Единственным важным параметром для Bend (и фактически для всех осевых деформаций) является ось, вокруг которой выполняется эффект. Если необходимый эффект происходит на плоскости осей модификатора, изгиб можно ориентировать при помощи выбора оси Bend и настройки угла Directional. Рисунок 8.22 демонстрирует, как три оси и настройки для них 90° размещают эффект изгиба.
При работе с одиночными объектами или множеством объектов посредством опции Use Pivot Points Bend располагает центр своего гизмо в точке вращения объекта. При работе с обобщенной выборкой объектов или подобъектов центр располагается в центре тяжести ограничивающей рамки выборки. На рисунке 8.23 показан эффект расположения центра Bend на различных расстояниях и вдоль различных осей.
3DS МАХ значительно увеличил полезность Bend. Теперь с дополнительной возможностью анимации и установки ограничений эффекта Bend может определять объекты, которые ранее могли быть получены только через лофтинг. На рисунке 8.24 показаны некоторые возможности моделирования с помощью пределов Bend.
Из всех областей интерфейса 3DS МАХ свиток под названием Modifier Stack, содержащий небольшую секцию из семи кнопок и два выпадающих списка (см. рис. 8.5), до сих пор является наиболее мощным. Умелое использование Modifier Stack - путь к овладению 3DS MAX. Modifier Stack обеспечивает доступ к истории моделирования объекта. Каждая выполняемая на объекте операция моделирования сохраняется в Modifier Stack, поэтому к ней можно вернуться для настройки или удаления. Операции сохраняются в стеке вместе со сценой столько, сколько нужно, позволяя в любое время изменять свое решение.
Сам Modifier Stack находится в выпадающем списке (см. рис. 8.6). При выборе объекта последний добавленный к объекту модификатор отображается в верхней части стека рядом со стрелкой. Первый добавленный модификатор - самая ранняя информация об объекте, которой располагает 3DS МАХ - отображается в нижней части стека. Для случая геометрических примитивов их параметры всегда находятся в нижней части стека. Модели, импортированные из других программ (например, файлы 3DS), в качестве своего первого (нижнего) входа в стек обычно имеют Mesh (каркас). Editable Mesh (редактируемый каркас), Patch (лоскут) или Bezier Spline (сплайн Безье). Поскольку это является начальным состоянием объекта, поместить модификатор ниже в стеке невозможно.
СОВЕТ Как и все выпадающее в 3DS МАХ, кнопка со стрелкой для самого поля является избыточной. Для увеличения скорости большинство для отображения списка просто щелкает на поле имени и выбирают требуемый вход, не пользуясь кнопкой со стрелкой.
Кнопки, окружающие выпадающий список стека, используются для управления стеком. Каждый вход в стек может отдельно функционировать и отображаться: Pin Stack (зафиксировать стек) (состояние). Фиксирует текущее состояние модификатора, позволяя трансформировать другие объекты в сцене во время активности модификатора фиксации. Таким образом Pin Stack является исключением из обычного функционирования 3DS МАХ, поскольку в этом случае панель Modify не отображает текущего выбора. Подобное исключение может оказаться полезным для координации результата модификатора с положением и ориентацией другого объекта. Многие разработчики для операций модификаторов применяют маневр, использующий "шаблонные" объекты в качестве направляющих.
ПРИМЕЧАНИЕ Состояние Pin Stack не позволяет выполнять трансформацию другого объекта, если текущий модификатор находится в режиме Sub-Object. Активный/неактивный (выключатель). Выполняет переключение состояния передачи результатов текущего модификатора по всему конвейеру модификаторов. Модификатор по-прежнему отображает свой гизмо, но больше не влияет на геометрию. Этот атрибут может оказаться очень полезным в случае присвоения интенсивного модификатора (например, Displace (сместить) или MeshSmooth (сглаживание каркаса)) и необходимости дальнейшей манипуляции объектом при помощи более простой формы. Show End Result (показать конечный результат) (выключатель). Выполняет переключение состояния отображения результатов оставшихся в стеке модификаторов, что позволяет вернуться к любому состоянию в истории модели и отрегулировать его эффект, не отменяя того, что происходит позже. Проектировщики часто выключают Show End Result при настройке модификатора и включают ее обратно для проверки уместности результирующего эффекта. Выключение Show End Result может сэкономить время, когда остаток в стеке интенсивно использует память и оказывает влияние на быстродействие. Make Unique (сделать уникальным) (действие). Делает модификатор-экземпляр уникальным для данного объекта. Make Unique используется для уничтожения зависимости от других объектов, совместно использующих одинаковый модификатор - она разрывает связь с остальными объектами. Эта кнопка может вызвать некоторое замешательство, поскольку проверка, является ли в действительности модификатор экземпляром не делается, и данная кнопка всегда доступна. Не следует щелкать на Make Unique, если нет уверенности в том, что необходимо разорвать отношение разделения одного и того же модификатора с другими объектами, поскольку действие нельзя аннулировать. emove Modifier (удалить модификатор) (действие). Удаляет выбранный модификатор из стека. Результат такой, как будто модификатор никогда не применялся. Эту кнопку следует использовать с осторожностью, поскольку удаление аннулировать нельзя. Edit Stack (редактировать стек) (диалог). Выводит диалог Edit Modifier Stack (рис. 8.7), в котором разрешает делать уникальными, удаляет, разрушает и переименовывает отдельные выборки модификаторов. Операции в диалоге Edit Stack должны выполняться очень осторожно, поскольку после этого никакая отмена действий, кроме переименования, недоступна.
ПРЕДУПРЕЖДЕНИЕ Как правило, при регулировке модификаторов можно отменить только изменения в полях редактирования. Опции Make Unique, Remove Modifier (удалить модификатор) и разрушение стека никогда нельзя аннулировать. В общем случае, если с чем-то нельзя выполнить анимацию, его нельзя и аннулировать.
Переименование модификатора выполняется посредством выбора модификатора и ввода нового имени в нижней части диалога. Теперь это имя присутствует в стеке и в Track View. Если сделать модификатор уникальным, его имя сбрасывается, поскольку при этом разрывается соединение с другими зависимыми модификаторами. Если модификатор уже независим, опция Make Unique по-прежнему является активной и ее можно использовать в качестве метода быстрого переименования. В случае групп модификаторов удаление и превращение в уникальные работает точно так же, как и для одиночных модификаторов.
На первый (нижний) вход в стеке нельзя повлиять внутри диалога Edit Stack и его нельзя переименовать. Этот вход является его геометрическим классом и переименования базового типа объекта вызовет значительное замешательство. В геометрические классы входят параметрические объекты, Editable Mesh, Patch, Bezier Spline, Loft и Morph. Первый вход нельзя разрушить или удалить, поскольку ниже его нет ничего, что можно было бы разрушить. Однако, первый вход будет часто модифицироваться в результате разрушения стека.
Основные геометрические модификаторы Bend, Taper, Twist, Skew и Stretch создают то, что в компьютерной графике известно как осевые деформации. Каждый из этих модификаторов оказывает влияние на объекты вдоль их текущих осей. Поскольку при этом изменяется форма оси для последующих модификаторов, порядок применения осевых деформаций оказывает огромное влияние на результирующую геометрию.
Все осевые деформации имеют гизмо и центр, влияющие на их результаты. Гизмо можно считать модификацией, воплощенной в виде объекта. Как объект, оно имеет полную матрицу трансформации и его можно перемещать, вращать и масштабировать. Его ориентация определяет на какую ось объекта (во многих случаях вторичную ось) распространяется влияние. У осевых модификаторов часто определены переключатели X, Y, Z. Эти переключатели являются быстрыми средствами для переориентации гизмо, поскольку гизмо можно вращать для достижения одинаковой модификации.
СОВЕТ В то время, как можно вращать гизмо для дублирования флажков осей X, Y, Z модификатора, масштаб опций осей ориентирует гизмо на экстенты объекта вдоль выбранной оси и быстро перестраивает центр. Это часто экономит время и возвращает гизмо с более подходящей формой, чем при вращении самого гизмо.
Центр является точкой вращения гизмо и используется для размещения центра тяжести эффекта модификатора. Перемещение центра во многом похоже на перемещение точки вращения объекта. В отличие от точки вращения центр определяет только одну точку и не имеет набора осей, которые можно вращать или масштабировать. Центр можно считать дочерним объектом гизмо, поскольку при перемещении гизмо центр также перемещается. Процесс использования осевых деформаторов и получения необходимых результатов часто выглядит следующим образом: Присвойте модификатор. Увеличьте верхнее значение в диалоге чтобы увидеть ориентацию и расположение модификатора (в этот момент величина значения не имеет? пока не будет получен необходимый результат). Если направление эффекта не подходит, выполняйте циклы по переключателям Axis для обнаружения правильного направления. И вновь, не очень беспокойтесь о конечном результате, поскольку определяется общее осевое направление модификатора. Если эффект выполняется в корректной плоскости, но в ошибочном направлении, необходимо отрегулировать параметр Direction (направление) или изменить знак первого параметра (например, положительный на отрицательный). Если в шагах 3 и 4 необходимое направление не достигается, следует вращать гизмо для определения правильной оси. Щелкните на Sub-Object, выберите Gizmo и поверните гизмо на 90° так, как это необходимо, вокруг модифицированной оси. Помните, что на это вращение влияет центр текущей трансформации: Use Pivot Center обеспечивает вращение вокруг центра гизмо (обычно наиболее подходящий выбор); Use Selection Center (использовать центр выборки) выполняет вращение вокруг центра модифицируемого объекта (если модифицируется только один объект); Use Transform Coordinate System Center (использовать центр координатной системы трансформации) выполняет вращение вокруг центра координатной системы трансформации. Если расположение эффекта некорректно, щелкните на Sub-Object, выберите Center и переместите центр гизмо в необходимое положение (чаще всего ограничив перемещение до одной из осей).
Расположение центра оказывает огромное влияние на результат модификатора. Это может привести к мысли, что нужно вращать гизмо, когда все, что необходимо сделать, - это переместить модификатор.
Во многие модификаторы включена возможность ограничения места действия их эффекта с помощью параметров, называемых пределами. Они управляются параметрами Upper Limit (верхний предел) и Lower Limit (нижний предел) (иногда на них ссылаются как на From (от) и То (до)) и расположением центра гизмо. Пределы отличаются от модификации подобъекта, поскольку влияют на весь объект, но помещают свою деформацию в заданный диапазон.
Изогнутая соломинка является хорошим примером использования пределов. На рисунке 8.15 показаны несколько попыток изогнуть прямую соломинку (примитив Tybe). Первый изгиб, показанный слева, влияет на всю соломинку, что не требуется. Второй изгибает только верхнюю половину трубки (используется модификатор Volume Select (выбрать объем)), но не допускает прямой секции после изгиба. Третий пытается изогнуть среднюю часть соломинки (снова посредством модификатора Volume Select) и дает плохие результаты. Четвертый изгиб применяется ко всей соломинке (в точности как первый), но эффект локализован в определенных пределах для создания классической изогнутой соломинки.
Модификатор Skew (перекос) является в меньшей степени осевым модификатором, но создает больший эффект масштабирования. Skew масштабирует выборку в противоположных направлениях на основе расположения центра гизмо. Центр работает как стабильное место, в котором перекос не происходит (рис. 8.29).
Skew влияет на геометрию выборки при помощи "растяжения" или "скольжения" вдоль одной из осей мест расположения вершин каркаса. Направление перекоса определяется параметром Direction и выбранной осью. Если центр гизмо находится в середине выборки, объект перекашивается в обеих направлениях (см. рис. 8.30).
Для ограничения Skew так, чтобы расширялась только одна сторона, центр гизмо следует поместить на край стороны, которая должна остаться стабильной. Размещение центра позволяет придавать больший "вес" одной или другой стороне. На рисунке 8.31 показано применение Skew с пределами. Поскольку Skew выполняет масштабирование или уплощение выборки, его можно считать настоль же полезным, как и другие осевые деформации.
Модификатор Stretch (растягивание) был добавлен в версии 1.1 для завершения осевых деформаций. Во многом он является пересечением между трансформацией Squash и модификатором Taper. Squash - это неоднородное масштабирование одной оси вверх, а двух других - вниз. Stretch оказывает тот же эффект за исключением того, что он создает кривую на растянутой оси аналогично опции Curve из Taper. На рисунке 8.35 показано, что эффект Stretch имеет ограниченный характер.
Расположение центра гизмо Stretch влияет на сторону, на которой происходит эффект. Обычно требуется, чтобы центр гизмо располагался на объекте, а рисунок 8.35 показывает как смещение центра создает интересные эффекты, придавая деформации вес и характерные особенности.
Хотя Stretch используется в основном в качестве инструмента анимации, потенциально его можно применять при моделировании при условии установки пределов. На рисунке 8.37 показано как можно превратить простую Tube в сложную вазу путем нескольких растяжений. Stretch следует использовать подобным образом, понимания, что одна ось будет масштабироваться за пределами текущей геометрии.
Модификатор Taper (свести на конус) является параллелью Bend, будучи весьма гибким и всецелевым инструментом. Taper основывает свой эффект на центре гизмо с противоположным масштабированием, которое выполняется всегда выше и ниже центра. Центр работает как устойчивое место, в котором масштабирование не выполняется. Опция Curve в Тарег позволяет задавать выпуклости и вогнутости для того, что иначе было бы прямым конусом. На рисунке 8.25 показано успешное использование модификатора Тарег. На рисунке 8.26 показан эффект от расположения центра Тарег на трех осях.
Тарег является уникальным среди базовых модификаторов, поскольку предоставляет опцию для сведения на конус вдоль любой комбинации осей. Эффект таких комбинаций демонстрируется на рисунке 8.27. Этот рисунок также показывает эффект опции Symmetry, которая центрирует и выполняет зеркальное отображение вокруг оси процедуры сведения на конус. Отметим, что поскольку точка вращения Teapot расположена на его основании, изменение опции Symmetry для основной оси Z не оказывает эффекта.
Команда Тарег становится особенно полезной при использовании вместе с пределами. На рисунке 8.28 показан пример того, что можно создать посредством ограниченных конусов. Отметим, что стек истории включает только Тарег и не содержит модификаторов EditMesh или VolSelect. Поэтому модель является достаточно эффективной. Поскольку все модификаторы применялись на уровне объекта, можно свободно модифицировать любой из параметров Tube без неблагоприятного влияния на модель, что разрешает регулировать сегментацию в любое время. После этого в сцену легко включать модели с различной сложностью.
Модификатор Twist (скручивание) по существу берет ось и создает спиральный винт или штопор. Подобный эффект получается, когда в вашей руке висит веревка, а вы начинаете быстро вращать кисть. На рисунке 8.32 показано использование нескольких скручивании на одном и том же объекте.
Влияние Twist достаточно сильно зависит от расположения центра гизмо. Если этот центр находится на объекте. Twist создает геометрические спирали, во многом похожие на столб с белой и красной спиралями (вывеска парикмахера) или на леденец в виде палочки. Если центр перемещается, геометрия скручивается для образования спирали. Цилиндры на рисунке 8.33 показывают эффект расположения центра гизмо в центре объекта и со смещением. Расположение гизмо вдоль оси, на которую производится воздействие, управляет вращением Twist. На рисунке 8.33 показано, что при снижении центра скручивание вращает объект (два ряда чайников имеют одинаковое расположение центра гизмо).
Использование Twist с пределами содержит большой потенциал. Декоративные изделия из железа, скрученный провод и, как показывает рисунок 8.34, даже ювелирные изделия могут использовать ограниченные скручивания. При анимации символов для создания карикатурных результатов скручивание может ограничиваться только головкой и шейкой.
Модификатор XForm используется для применения эффекта трансформации (перемещение, вращение или масштабирование) в качестве модификатора - это означает, что неоднородное масштабирование обрабатывается как модификатор, а не как трансформация на уровне объекта. Глава 9, "Моделирование при помощи форм", показывает, что этот модификатор часто используется как основной метод для анимации геометрии подобъектов.
Понятие модификатора XForm простое. Он создает гизмо, окружающее набор выборок, и немедленно выполняет переход в режим Sub-Object. Все регулировки модификатора XForm выполняются путем трансформирования гизмо.
XForm является интересным модификатором, поскольку кажется, что у него нет пользовательского интерфейса. Выпадающий Sub-Object содержит гизмо и центр гизмо. Других параметров обнаружить нельзя, поскольку XForm в управлении полностью опирается на инструменты трансформации в линейке инструментов. После всего XForm просто берет трансформации и делает их частью истории данных. Как и все модифи-каторы, XForm воздействует на объекты, к которым применяется, только тогда, когда является текущим в панели Modifier. Если режим Sub-Object активен, трансформации записываются на гизмо и ведут себя как модификаторы. Если режим Sub-Object не является активным, трансформации выполняются обычным образом. При первом применении XForm он немедленно входит в режим Sub-Object, поскольку предполагает, что настройки необходимо записать в стек.
После этого выполняется такое же воздействие, какое создает модификатор в пространстве объекта, и последующие трансформации на него не влияют - это важная идея. Существенно то, что если необходима трансформация для постоянного воздействия на модель, ее следует использовать совместно с XForm.
Modifier Limits (пределы модификатора) основаны на центре гизмо. Параметры Upper Limit и Lower Limit указывают расстояние от центра, на протяжении которого модификатор оказывает влияние. После этого расположение центра определяет, где вдоль оси имеет место ограниченный эффект. Поскольку пределы Upper и Lower основаны на центре, при его перемещении они "путешествуют" вместе с ним. Эта концепция хорошо видна при дублировании изгиба соломинки. Начните с создания цилиндра на плоскости подложки с радиусом приблизительно 5 единиц и высотой 100. Это ваша соломинка. Добавьте к соломинке модификатор Bend и задайте ему угол 90°. Поскольку точка вращения цилиндра находится на его основании, (оранжевый) гизмо изгибается дугой от основания для образования дуги 90°. Цилиндр пытается согласовать дугу гизмо, но ограничен количеством присвоенных ему сегментов высоты. Щелкните на стеке, выполните Cylinder (цилиндр) и увеличьте количество сегментов высоты по крайней мере до 50. Вернитесь к предыдущему модификатору Bend (не применяйте другой модификатор) и активизируйте флажок Limit Effect (эффект предела). Соломинка изгибается "горизонтально", поскольку расстояние Upper равно нулю и вся модификация изгиба происходит непосредственно в центре гизмо (который по умолчанию расположен в точке вращения). Перетаскивайте счетчик значения Upper Limit вверх до тех пор, пока не будет создан необходимый размер "локтя" (например, 30). Этот Upper Limit определяет размер изгиба от центра гизмо. Значения Upper Limit и Lower Limit фактически являются расстоянием от центра гизмо, измеренными в недеформированном состоянии. Если сделать угол Bend равным 0, линия гизмо, задаваемая Upper Limit, будет проходить на 30 единиц выше центра. Для расположения наклона вдоль соломинки необходимо переместить центр. Щелкните на Sub-Object и выберите Center из выпадающего списка. Щелкните на трансформации Move, в качестве системы координат выберите World и задайте ограничение по оси Z. Перемещайте Center вдоль длины соломинки до тех пор, пока наклон не будет помещен в необходимую точку (отметим, что блокировка выборки путем нажатия на пробел очень удобна при перемещении центров). Теперь соломинка должна быть похожа на левую часть рисунка 8.17. Теперь, когда центр был перемещен от основания внутри цилиндра, можно увидеть эффект использования Lower Limit. Перетаскивайте счетчик Lower Limit до тех пор, пока его значение не станет отрицательным эквивалентом Upper Limit (например, -30). Изгиб становится более "мягким" и кажется, что цилиндр "вырастает" из плоскости подложки (обратите внимание на центральную часть рисунка 8.17), поскольку угол изгиба 90° растягивается вдоль более длинной части соломинки. Угол изгиба по-прежнему равен 90°, просто изменяется центр изгиба. Увеличьте угол Bend до 180°. Локоть становится и-суставом, как показано на рисунке 8.17. Изгиб по-прежнему ограничен верхним и нижним пределами, но увеличенный угол изгиба возвращает верхнюю часть к изгибу в 90°, который был ранее. Теперь можно добавлять более ограниченные изгибы, чтобы превратить соломинку в трубки. Можно. всегда изменять направление и угол изгиба для создания очень сложных изгибов (см. рис. 8.18).
Модификаторы с пределами обычно оказывают влияние на весь объект. Влияние одного ограниченного модификатора может неблагоприятно сказаться на влияние другого, поскольку часто они перекрываются. Порядок применения модификаторов также имеет значение. В общем случае во избежание конфликтов ограниченные модификаторы следует "помещать в стек" вдоль длины объекта. При применении множества ограниченных модификаторов лучше всего применить самый дальний модификатор и работать "назад". Если точка вращения объекта находится в центре, вероятно придется работать с двумя "стеками" - модификато-рами Upper Limit выше точки вращения и модификаторами Lower Limit ниже точки вращения.
Несмотря на простоту в понимании, пределы модификаторов обеспечивают возможность, недоступную в большинстве других программ. Они также весьма эффективны в использовании. В терминах моделирования для эффекта необходимо отрегулировать только один модификатор, а не модификатор и предыдущий модификатор выборки Sub-Object.
Пределы модификаторов занимают в памяти не больше места, чем одиночный модификатор, и значительно меньше, чем модификатор Edit. И, в конце концов, в терминах размера файла модификаторы являются просто списком из нескольких параметров и требуют для хранения незначительного пространства. С другой стороны, каждый модификатор Edit значительно увеличивает размер файла.
В общем случае гизмо следует перемещать только для установки новой визуальной ссылки, а не для управления ее эффектом. Вместо этого перемещайте центр. Перемещение центра гизмо практически всегда то же самое, что и перемещение гизмо, за исключением того, что экстенты гизмо остаются вместе с модифицированным объектом. Перемещение гизмо создает визуальное отклонение, которое может приводить в замешательство в течение жизни модели. На рисунке 8.10 показана одна и та же модель с одинаковыми значениями модификатора Bend. Центр правого модификатора был перемещен на верхушку объекта, а слева показано гизмо, перемещенное вверх. После обеих операций центр находится в том же самом месте, но при перемещении гизмо его граница больше не совпадает с тем, что деформируется. При перемещении центра граница гизмо не нарушает деформированного объекта.
ПРИМЕЧАНИЕ Функция Align (выровнять) не работает с гизмо и их центрами, поскольку она не видит уровня Sub-Object. При использовании Align в режиме Sub-Object выравнивается весь объект.
Расположение точки вращения объекта определяет первоначальное расположение осевого центра модификатора и ориентацию собственной локальной системы координат гизмо. Многие модификаторы обеспечивают параметры, необходимые для вращения их эффекта. Если доступны модификаторы, подобные Bend и Skew, их следует использовать, поскольку они сохраняют границу гизмо в лучшем отношении к модифицированному объекту. На рисунке 8.11 показан эффект использования параметра Direction модификатора Bend и вращения гизмо.
При использовании модификаторов, не имеющих компонента направления, например Taper (свести на конус), Stretch (растянуть) и Twist (скрутить), единственным выбором является вращение гизмо. Во многих случаях ориентация модели не является удачной в смысле направления, в котором требуется применить модификатор. Такая модель показана на рисунке 8.12. Пушка направлена к миру, но ствол наклонен. Пушка посредине показывает эффект применения модификатора в соответствии с осью по умолчанию, в то время как у ближней пушки гизмо Taper повернут для согласования с наклоном ствола.
Масштабирование гизмо усиливает эффект модификатора. Выполнение однородного масштаба идентично увеличению мощности модификатора. Верхние два объекта на рисунке 8.13 показывают одинаковый конечный результат - первый после масштабирования гизмо и второй после увеличения мощности модификатора.
Однако применение к гизмо неоднородного масштаба приводит к совершенно отличным результатам. Два нижних объекта показывают результаты применения к гизмо неоднородных масштабов. Этот эффект нельзя продублировать ни регулировкой мощности, ни размещением центра.
СОВЕТ При использовании пределов модификаторов максимальный или минимальный эффект модификатора может оказаться недостаточно сильным или утонченным. Для усиления эффекта модификатора выполните масштабирование гизмо по отношению к его центру.
После масштабирования гизмо следует точно определить, насколько они были масштабированы и вдоль какой оси могут появиться сложности. Этот процесс может оказаться утомительным при сравнении похожих модификаторов. Transform Type-In не отображает текущего расположения гизмо, как это делается для случая объектов. Единственно возможным является использование Key Info из Track View. Key Info доступен только для ключей, а ключей не существует, если не выполняется анимация. Таким образом с трансформацией гизмо необходимо выполнить анимацию, чтобы получить возможность анализа его значений. Поскольку использовать трансформацию не очень общепринято, ниже предлагается быстрый метод добавления ключа в Track View и настройки абсолютного масштаба гизмо: При выбранном объекте войдите в Track View и найдите выбранный объект. В случае большой сцены щелкните на Filter (фильтр) и выполните Show Only Select Objects (показать только выбранные объекты). Выполните правый щелчок на имени объекта, а затем Expand Tracks (расширить дорожки). Введите Add Keys (добавить ключи), щелкнув на пиктограмме Add Keys и щелкните где-нибудь вдоль дорожки масштабирования гизмо для создания ключа. Выполните правый щелчок на новом ключе для вывода Key Info со значениями масштаба гизмо, как показано на рисунке 8.14.
Добавление этого ключа не создает анимации. Она создана только одиночным ключом, поэтому интерполяция во времени с другими ключами не происходит. Можно регулировать значения масштаба и видеть в интерактивном режиме результаты в видовых окнах. По выбору отрегулированный ключ можно удалить, а значения останутся.
Конкретно в ней рассматриваются следующие предметы: Применение модификаторов к объектам Проблемы, приводящие к модификациям одиночных объектов и их множества Понимание Modifier Stack Манипуляция центрами и гизмо модификаторов Управление влиянием модификатора посредством экстентов Понимание отличий между трансформациями и модификациями Использование модификаторов осевых деформаций
Модификаторы можно применить к одиночному объекту, выборке объектов или к выборке Sub-Object (подобъект) внутри объекта. В этой главе рассматриваются проблемы применения первых двух методов, а в главе 9, "Моделирование при помощи форм", основное внимание уделяется проблемам моделирования на уровне подобъектов.
Модификаторы могут содержать подобъекты. Большинство модификаторов, оказывающих влияние на топологию (например. Smooth, Normal, Optimize), не имеют компонентов подобъектов, при этом кнопка Sub-Object становится серой. Класс модификаторов "редактирования" (EditMesh (отредактировать каркас), EditPatch (отредактировать лоскут) и EditSpline (отредактировать сплайн)) работает с наборами выборок в режиме Sub-Object. Все другие модификаторы имеют графическое представление, называемое гизмо, которым можно манипулировать как с объектом для достижения улучшенного управления эффектом модификатора. В свою очередь гизмо имеют центр, очень похожий на точку вращения. Центр управляет точкой, из которой генерируется эффект модификатора.
В случае применения к одиночному объекту модификаторы обычно согласуют свои гизмо с экстентами объекта и располагают центры в точке вращения объекта. При применении к многочисленным объектам модификаторы согласуют свой гизмо с экстентами набора выборок и помещают центр в центр тяжести ограничивающей рамки, как показано слева на рисунке 8.2. В результате объекты как будто бы объединены в один посредством одного модификатора, примененного к коллекции.
Гизмо всегда достигает геометрических экстентов, когда они видны в данной точке истории редактирования. Форма гизмо является главным образом визуальной помощью и не оказывает непосредственного влияния на воздействие модификатора. Эффект генерируется расположением центра гизмо и параметрами модификатора.
Когда модифицируются выборки объектов, они совместно используют одиночный модификатор-экземпляр. Выбор одного из модифицированных объектов и настройка совместно используемого модификатора влияет на все другие модификаторы объекта, поскольку все модификаторы являются экземплярами.
СОВЕТ Идентификация того, на какие объекты влияет модификатор-экземпляр, может оказаться затруднительной, поскольку их гизмо занимают одно и то же место в пространстве. Опция Views/Show Dependencies (виды/показать зависимости) позволяет лучше различать эти взаимоотношения путем подсветки зеленым цветом объектов, у которых имеются модификаторы-экземпляры.
При отмеченном флажке Use Pivot Points модификация множества объектов существенно изменяется. Когда эта опция активна, она заставляет модификатор работать так, как будто бы он влияет на выбранные объекты по отдельности.
Как показано справа на рисунке 8.2, для каждого объекта задается гизмо, которое отображает его геометрию, а центр гизмо расположен в точке вращения. Хотя эти модификаторы кажутся отдельными, на самом деле они являются экземплярами - настройка параметров одного из них будет влиять на все экземпляры. Можно сразу сказать, когда вы влияете на модификаторы-экземпляры, поскольку гизмо отображается для каждого объекта первоначальной выборки.
Применение модификатора к набору объектов и последующее уточнение одного из них является общепринятым приемом. Превращение модификаторов-экземпляров в уникальные выполняется через кнопку Make Unique в Modifier Stack. На рисунке 8.3 показан стул, смоделированный подобными модификаторами и завершенный общим изгибом. Во время анимации передние ножки должны "прогуливаться", поэтому их модификаторы Bend были сделаны уникальными и настроены для прогулки.
СОВЕТ Модификация выборки является точным и быстрым методом расположения общего центра гизмо для данного модификатора. Перекладинам стула на рисунке 8.4 был присвоен модификатор Bend как для выборки и затем пока существовала выборка, его сделали уникальным. После этого каждая перекладина получила одинаковое расположение центра концентрического изгиба.
Когда выборка делается при открытой панели Modify Panel (панель модификации), 3DS МАХ производит анализ выборки на предмет наличия общих модификаторов. Если последние найдены, они будут представлены в стеке. В противном случае выпадающий список окажется пустым. Для уточнения модификаторов-зкземпляров не требуется выбирать все объекты совместно используемой модификации. Например, если десять объектов были сужены к конусу, при выборе объектов 1-10 отображается модификатор Taper. Но, если объект не входит в десятку включенных в выборку, общности не будет и список стека окажется пустым.
После добавления модификатора в стек объекта, необходимо учесть куда его поместить в стеке или, точнее, в истории для данного объекта. Например распределение часто выполняется проще и более подходит для раннего применения в истории объекта перед деформацией геометрии. Понимание способов хранения модификаторов, порядка их вычисления и способов использования их элементов подобъектов, весьма существенно для правильного использования этой мощной возможности.
При масштабировании объекта вокруг только одной или двух его осей, операция носит название неоднородного масштабирования (или для краткости nu-scale), поскольку все три оси имеет неодинаковый масштаб. Говорят, что объект "растягивается" или "сжимается" в одном или двух направлениях, в то время когда третье направление остается постоянным.
Применяя неоднородное масштабирование, следует соблюдать особую осторожность. Рисунок 8.19 демонстрирует существенные отличия при выполнении неоднородного масштабирования в качестве модификатора и в качестве трансформации. В обоих случаях масштабирование по оси Z выполняется перед изгибом. Удивительное искажение происходит из-за того, что трансформации всегда применяются в конце конвейера после всех модификаторов. Порядок применения трансформаций по отношению к модификаторам не имеет значения - трансформации всегда применяются после применения всего стека модификаторов.
Ошибочно думать, что эта операция трансформации как модификации является простой. После всего объект постоянно выглядит искаженным. На самом деле он не искажается. В компьютерной графике трансформации известны как аффинные операции. Такие операции можно применять к объекту снова и снова, но эффекты могут всегда оказаться обратными.
Команды, расположенные на линейке инструментов (Move (перемещать), Rotate (вращать), Uniform Scale (однородный масштаб), Non-Uniform Scale (неоднородный масштаб), Squash (расплющить) и даже Mirror (зеркально отобразить)), влияют на то, что известно как матрица трансформации объекта (или для краткости ТМ). Результаты этих команд хранятся в ТМ объекта в виде положения, вращения и ключей масштаба, если выполняется анимация. После того, как сделано соединение, посредством которого эти операции манипулируют теми же самыми девятью числами в ТМ, позже можно изменить результат любой операции на противоположный.
В то время, как трансформации являются аффинными операциями, модификаторы практически всегда являются неаффинными. Модификаторы обычно искажают объект и даже могут изменить топологию. Выполнение второй операции редко изменяет результат предыдущей операции на противоположный. 3DS МАХ затеняет отличия между аффинными и неаффинными операциями, разрешая регулировать параметры операции после ее применения и даже удалять ее из стека. Большинство программ моделирования не так снисходительны. После применения модификатор обычно оказывает значительное влияние на будущее объекта. 3DS МАХ обеспечивает роскошную возможность изменять свое решение для любой операции.
Модификация одиночных объектов достаточно проста. Выберите объект и щелкните на модификаторе, который требуется применить. Модификатор присваивается на текущем уровне Modifier Stack объекта и готов к приему значений. Модификатора! обычно начинаются с их установок по умолчанию, которые часто не имеют значений или осуществляют первую итерацию конечного эффекта. Другие модификаторы, подобные Bevel (фаска) и Extrude (вытянуть), запоминают ранее использованные значения и присваивают их в качестве первоначальных значений по умолчанию. После применения уточните параметры модификаторов из их диалогов в Command Panel (взаимодействие с экраном требуется редко). Дополнительные модификаторы для объекта последовательно накапливаются в Modifier Stack. На рисунке 8.1 показано накопление модификаторов для примера примитива трубы.
ПРИМЕЧАНИЕ Начиная работу с 3DS МАХ, есть вероятность случайного применения нескольких модификаторов вместо одного. В таком случае определите какие значения модификаторов необходимо сохранить и удалите избыточные через пиктограмму Remove или диалог Edit Modifier Stack.
В то время, когда каждый модификатор является уникальным, большинство из них совместно используют ряд основных характеристик. Первой характеристикой является список параметров. Эти значения управляют эффектом модификатора и сохраняются в файле. Практически каждый модификатор имеет параметры, хотя отсутствие любых параметров также допустимо (например, для явного модификатора Conversion); подобные модификаторы встречаются крайне редко.
Модификаторы всегда применяются к пространству объекта (которое также называется локальной системой координат) и носят иногда название "модификаторов пространства объекта" или сокращенно OSM. Как описано в главе 1, "Ключевые концепции 3D Studio MAX", модификаторы следует применять сразу после определения создания объекта и перед трансформациями и искажениями пространства. Поскольку модификаторы применяются в пространстве объекта, они уделяют определенное внимание расположению точки вращения объекта и его ориентации при создании.
Как описывалось в главе 1, "Ключевые концепции 3D Studio MAX", конвейер геометрии вычисляет объекты путем первоначальной обработки их параметров создания, применения всех модификаторов в порядке, задаваемом стеком, накопления трансформаций (присвоенных с линейки инструментов), и, в конце концов, применения связей с исказителями пространства (модификаторов мирового пространства). Это означает, что трансформации всегда обрабатываются после применения всех модификаторов. Не имеет значения когда применять трансформацию в отношении истории объекта - трансформация всегда применяется последней. Результат не является проблемой при трансляции, вращении и однородном масштабировании, но может стать проблемой при неоднородном масштабировании.
Порядок применения модификаторов оказывает первостепенное влияние на результаты. Этот порядок следует планировать. Рисунок 8.9 показывает существенные различия между двумя модификаторами, которые помещаются в стек в различном порядке.
В то время, как Modifier Stack позволяет вернуться назад в любую точку во времени и поместить новый модификатор в любое место, он не обеспечивает возможность изменения порядка следования модификаторов. Общее недоразумение заключается в предположении, что порядок входов в стеке можно изменить в диалоге Edit Modifier Stack или Track View - этого сделать нельзя. Если модификатор применяется в неправильном порядке, необходимо удалить неправильно помещенный модификатор, найти в стеке подходящее место и снова применить модификатор. Если необходимо обеспечить первоначальные установки, запишите их и скопируйте в новый' модификатор вручную. К счастью, подобное случается очень редко. Как правило, факт неправильного помещения модификатора всплывает очень быстро, поскольку интерактивное видовое окно сразу отражает допущенную ошибку.
Несмотря на то, что Modifier Stack имеет очень важное значение, он имеет и свою цену - ОЗУ. Каждый шаг в стеке занимает небольшой объем ОЗУ, а модификаторы Edit стоили до сих пор дороже всего, поскольку они содержат фактические копии того, как объект модифицировался до этого момента. Чем больше модификаторов в стеке, тем больший объем ОЗУ требуется для их вычисления.
Объект будет занимать меньший объем ОЗУ, если разрушить его стек. Разрушение стека вызывает вычисление конвейера геометрии и сводит объект к его самому верхнему классу. Обеспечивается эффект каждого модификатора, но теперь эффект является явным и неподвижным во времени. То, что наблюдается в видовом окне, является результатом, получаемым после разрушения.
Однако это не означает, что разрушение экономит место на диске. Примитивы занимают одинаковое место на диске независимо от их сегментации и результирующего количества граней, поскольку примитивы являются единственными хранящимися в файле параметрами. При полном разрушении объекты становятся явными каркасами (или лоскутами), и на диске необходимо сохранить весь каркас.
ПРЕДУПРЕЖДЕНИЕ То, что видно в видовом окне, является в точности тем, к чему приведет результирующее разрушение. Если стек находится на промежуточном уровне и не показывает конечный результат, оставшаяся часть стека вычисляться не будет. Выключенные эффекты модификаторов в стеке во внимание не принимаются. Если анимация выполняется внутри модификаторов, состояние, показанное в текущем кадре, будет единственным результатом.
Щелчок на Collapse All (разрушить все) в диалоге Edit Modifier Stack уничтожает все модификаторы и сводит объект к тому, что видно в видовом окне. После выбора одного или нескольких модификаторов в стеке (над самым нижним), становится доступной кнопка Collapse To (разрушить до). Щелчок на ней разрушает стек от точки выборки до низа стека. Разрушение стека может вызвать замешательство, если выбрано несколько модификаторов, поскольку может показаться, что стек разрушается только внутри выборки. Рисунок 8.8 демонстрирует, что при разрушении выборки последний (верхний) модификатор задает точку, начиная с которой стек разрушается, в то время как низ разрушения всегда определяется низом стека. Для разрушения примитива до базовой геометрии применяется соответствующей модификатор Edit (Edit Mesh, EditPatch или EditSpline) и стек мгновенно разрушается. При этом стек разрушается вплоть до объектов классов Patch, Editable Mesh или Bezier Spline.
СОВЕТ Добавление модификатора Edit требует некоторого объема ОЗУ для хранения результатов редактирования и времени, поскольку немедленно происходит переход в режим Sub-Object. Если не выполнять разрушение до Patch, добавление практически любого другого модификатора (например, Bend или XForm) будет выполняться быстрее при разрушении до классов Editable Mesh или Bezier Spline.
Результат разрушения зависит от примененных к объекту модификаторов. Начиная с модификатора EditPatch результатом разрушения будет Patch, если не добавлен модификатор, превращающий объект в каркас. В противном случае объект, вероятнее всего, разрушится до Editable Mesh. Типовыми модификаторами, разрушающими объект до каркаса, являются EditMesh, Optimize, Displace, Relax и MeshSmooth.
ПРИМЕЧАНИЕ Класс Editable Mesh становится видимым только в случае, если это разрешено (как утверждается в файле 3D Studio MAX readme, wri) путем добавления следующих строк в файл 3dsmax.ini: [EditableMesh] Enabled=1 Разрешение этой опции не оказывает неблагоприятный эффект, а явное редактирование каркаса при этом выполнятся значительно быстрее и занимаемый объем ОЗУ гораздо меньше, чем при использовании модификатора EditMesh. Мы предполагаем, что в файле 3dsmax.ini эта опция разрешена.
При разрушении частей стека следует указать, что с этой частью модели работа завершена. Вновь напомним, что откат невозможен. Поэтому разрушение не следует выполнять для эксперимента, если объект не клонировался или файл не сохранялся. В качестве предусмотрительной меры используйте для объектов Save Selected (сохранить выбранные), при этом обеспечивается копия объектов в форме, которую можно модифицировать. Разрушение стека всегда уничтожает базовые параметры примитивов, а возвращаться к ним часто оказывается весьма полезно. Команда Merge обеспечивает простой метод для замены, если имеются оригиналы для ссылки.
В сцене 3DS МАХ фактически все является результатом выполнения серии операций. То, что видно на экране, а в некоторых случаях - визуализация, является результатом этих операций в данный момент времени. При сохранении сцены в файле по сути выполняется сохранение начального состояния объектов с последующим "написанием сценария" каждой модификации, применяемой к объекту. Результирующая геометрия никогда не сохраняется в файле МАХ непосредственно. Вместо этого сохраняется первоначальный объект и все шаги для создания этой геометрии, что позволяет в будущем изменять свое решение при моделировании. #PВычисление стека выполняется только в случае необходимости. Результат называется каркасом действительности, а период времени, в течение которого результат является действительным, называется интервалом действительности. При первой загрузке сцены вычисляется Modifier Stack каждого объекта и отображается результат. Выполняется кеширование этого состояния и, если объект не модифицируется, оно повторно не вычисляется (путем добавления нового модификатора, настройки параметра в стеке или перемещения во временную точку, в которой параметр изменяется). Выполнение трансформаций на объекте не требует повторного вычисления стека; это только одна из причин, почему перемещение, вращение и масштабирование объектов является в 3DS МАХ таким быстрым.