Параметрическое моделирование с помощью примитивов и модификаторов. Основная концепция.
Параметрическое моделирование (параметризация) — моделирование (проектирование) с использованием параметров элементов модели и соотношений между этими параметрами. Параметризация позволяет за короткое время «проиграть» (с помощью изменения параметров или геометрических соотношений) различные конструктивные схемы и избежать принципиальных ошибок.
Параметрическое моделирование существенно отличается от обычного двухмерного черчения или трёхмерного моделирования. Конструктор в случае параметрического проектирования создаёт математическую модель объектов с параметрами, при изменении которых происходят изменения конфигурации детали, взаимные перемещения деталей в сборке и т. п.
Все геометрические объекты программы 3ds Max можно условно разделить на две категории: параметрические и редактируемые.
К параметрическим примитивам принято относить классы графических объектов, не являющихся составными. Второе свойство примитивов – невозможность разделить их на более мелкие объекты, относящиеся к тому же классу.
*** по Миронову
Большинство объектов в 3ds Max являются параметрическими, то есть объектами, которые определяются совокупностью установок или параметров, а не являются описанием его формы. Проще говоря, такие объекты можно контролировать при помощи параметров (свиток Parameters (Параметры) на командной панели). Изменение значений параметров модифицирует геометрию самого объекта. Такой подход позволяет гибко управлять размерами и формой объектов.
Параметризация – операция непосредственного задания значения того или иного атрибута графического объекта без применения к нему операций преобразования (например, вводом числового значения с клавиатуры). При этом у класса графических объектов должны иметься атрибуты, которые можно изменить таким образом. В пакетах векторной графики во всех классах графических объектов к таким атрибутам относятся:
• координаты точки привязки;
• угол разворота вокруг точки привязки;
• коэффициенты масштабного преобразования.
Точкой привязки называется точка начала локальных координат графического объекта. Местоположение этой точки, представленное парой чисел в системе координат страницы графического документа, определяет, где на странице будет располагаться графический объект. На рис. 2.2.1 показано соотношение локальных координат и координат страницы.
Рис. 2.2.1. Система координат страницы графического документа и локальных координат графического объекта
...
Примечание
Координаты точки привязки принято считать координатами графического объекта. Они выражаются в системе координат страницы графического документа.
...
Примечание
При создании графического объекта начало его локальных координат помещается на пересечении диагоналей габаритного прямоугольника.
Углом разворота называется угол, образованный одноименными осями координат локальной системы графического объекта и системы координат страницы. Чаще всего, разворот графического объекта выполняется вокруг точки его привязки, но возможно выполнение этой операции и относительно произвольно выбранной точки (рис. 2.2.2).
Рис. 2.2.2. Разворот графического объекта вокруг точек привязки и начала координат страницы
...
Примечание
На рис. 2.2.2 пунктирной линией показаны исходные положения графических объектов до начала их разворота на 15° каждого относительно различных точек. Обратите внимание, что углы, образованные одноименными осями систем координат объекта и страницы, и в том, и в другом случае равны 15°.
Масштабным преобразованием называется изменение габаритных размеров графического объекта, записанных в его дескрипторе, в процессе рендеринга. Степень увеличения или уменьшения размеров отображения графического элемента зависит от коэффициента масштабного преобразования, который, как правило, задают отдельно по каждой из осей локальных координат графического объекта. Пример использования масштабного преобразования с различными значениями коэффициентов представлен на рис. 2.2.3.
Рис. 2.2.3. Масштабное преобразование графического объекта: а – исходный объект; б – масштабирование с коэффициентами (0,7; 0,7); в – масштабирование с коэффициентами (-0,7; -0,7)
Отрицательный коэффициент масштабного преобразования приводит к изменению направления соответствующей оси локальной системы координат на противоположное. Так можно выполнять операцию зеркального отражения, но в большинстве программ векторной графики для этого предусмотрены специальные операции (как, впрочем, для смещения и для масштабирования).
***
Параметрическими в 3ds Max являются все объекты, которые можно построить при помощи меню Create (Создание). Они имеют важные настройки моделирования и анимации, поэтому в общем случае необходимо как можно дольше сохранять параметрические определения объекта. Однако сохранение параметрических свойств объектов расходует большое количество ресурсов компьютера и замедляет работу с объектами, так как все параметры, настройки и модификаторы хранятся в памяти компьютера. Таким образом, при работе следуйте правилу: если вы не предполагаете в дальнейшем использовать параметрические свойства объекта, преобразуйте его в Editable Mesh (Редактируемая поверхность).
3D Studio MAX обеспечивает несколько геометрических примитивов с параметрическими определениями. Хотя они часто используются сами по себе, они могут послужить строительными блоками для более сложных моделей. Поскольку в 3DS МАХ Software Developer Kit (набор разработчика программного обеспечения 3DS МАХ) все эти примитивы поставляются в виде исходного кода, они могут хорошо работать в качестве блоков программного построения, что помогает разработчику (и, возможно, вам) создавать совершенно новые классы объектов.
Почти все, что создается из запаса сырья в реальном мире, можно сделать из этих основных примитивов при помощи модификаторов деформации 3DS МАХ. Посмотрите на объекты вокруг себя. Вы увидите, что практически все металлические изделия, валы и стеклянные изделия образованы из примитивов.
Коробки (кубическая или прямоугольная)
Коробки являются простейшими объектами, но они часто оказываются наиболее полезными. Обычно объекты коробок используются для быстрого определения плоскостей потолок/пол, а также стен. Коробки можно применять как быстрые инструменты для выравнивания и как часто используемые компоненты для пластинчатых объектов в булевых операциях. Коробки можно считать запасом сырья, готового для сгибания или скручивания.
Коробки являются единственными объектами кроме Hedra, которые не имеют опции сглаживания. Взамен каждой из шести сторон присваивается группа сглаживания. Это означает, что при искажении коробки, ее стороны остаются гладкими.
Цилиндры и трубы
Цилиндры и трубы (полые цилиндры) можно создавать как параметрические объекты. Эти объекты являются общей начальной точкой для многих частей модели, поскольку они родственны запасу брусков и труб. При неоднородном масштабе и ограниченных деформациях эти простые формы можно сгибать, размалывать, вращать и сжимать во множестве общих объектов. Подобные простые формы легко заметить в окружающих нас изделиях. Сегментация, необходимая для цилиндров и труб (как и для всех круговых объектов), изменяется в соответствии с тем, насколько точно должны просматриваться их концы и какую роль играют эти объекты в рамках сцены.
Количество сегментов высоты для цилиндров и труб будет изменяться в зависимости от применения этих объектов. Чем более эти примитивы деформируются, тем больше сегментов требуется, чтобы они выглядели убедительно и были гладкими. Сегменты высоты влияют только на качество визуализации цилиндра в случае дальнейшей его деформации. Конечно, планирование этого не критично, поскольку сегментацию можно изменять позже. Планирование становится критичным, если вы собираетесь выполнить операцию, разрушающую стек объекта.
Конусы (остроконечный вариант цилиндра)
Конические объекты фактически очень похожи на цилиндры, потому что по существу конус является цилиндром с концами разных размеров. Конусы часто используются для создания общих форм, что во многом напоминает цилиндры, однако их два радиуса обеспечивают возможность помещения результирующего объекта в управляемый конус в любое время.. На практике если требуется параметрическое управление верхним и нижним радиусом, конус одевается поверх цилиндра.
Объекты конуса всегда имеют два конца - нельзя уничтожить грани в остром кончике конуса. Сначала может показаться, что тратить грани для конусов с кончиками нулевого радиуса - пустое занятие, однако эта характеристика весьма полезна. Дополнительный набор граней на кончике конуса обеспечивает сглаживание сторон конуса только с прилегающими сторонами. Если стороны совместно используют одну вершину на кончике конуса, все грани сторон совместно используют одну группу сглаживания. При этом достигается эффект сглаживания кончика конуса так, как если бы он был сферическим .
Сферы и геосферы Сфера (на базе четырехугольников)
Геосфера (на базе треугольников)
Параметрические объекты Sphere (сферы) и GeoSphere (геосферы) представляют различные способы определения сферических объемов и вместе обеспечивают четыре различных геометрии типа сферы и купола (оболочки) . Базовый объект Sphere создает квадратичные секции, похожие на линии долготы и широты глобуса. Геосфера создает треугольные секции, подобно геодезическим куполам.
Возьмем для примера объект Sphere (Сфера). Параметрическая сфера сохраняет параметры радиуса и количества сегментов и отображает в окнах проекций представление сферы на основе текущего значения параметров (рис. 2.1).
Рис. 2.1. Параметрическая сфера (слева) и ее параметры (справа)
Параметрическое определение сферы записано в виде радиуса и количества сегментов и может в любое время быть изменено и даже анимировано.
Опции Tetra (четырех), Octa (восьми) и Icosa (двадцати) создают треугольные грани, но организуют свою геометрию различными способами. Сфера Icosahedron (двадцатигранник) является классической конструкцией геодезического купола, образующей пятиугольники из треугольников в критических точках. В противоположность этому, Octahedron (восьмигранник) и Tetrahedron (четырехгранник) в аналогичных соединениях образуют квадраты и равносторонние треугольники.
Геосферы оказываются более эффективными в использовании, обеспечивая самый гладкий профиль при наименьшем числе граней. Объект Sphere является простейшим для разрезания на пластины и обычно является выбором, когда требуется взаимодействовать с другими прямоугольными объектами. При вырезании из сферы кусков в качестве булевых операндов, вероятно, более предпочтительно использовать Sphere, нежели GeoSphere. Для отдельных объектов, в особенности для куполов, скорее всего, подойдут объекты GeoSphere.
Top (пончик)
Объекты Torus (тор) часто называют пончиками, шинами или кольцами. Хотя тор выглядит просто, этот объект имеет ряд интересных параметров. Например модификатор Twist скручивает радиальные линии (стороны), которые образуют спираль вокруг тора, а параметр Rotation вращает поперечные сечения (сегменты). Эффект параметра Twist полностью очевиден в неподвижном изображении, эффект же параметра Rotation лучше всего виден в анимации.
Сложные объекты (Hedra (пять геометрических семейств с разнообразными возможностями) и Teapot)
Объекты Hedra (ежик) и Teapot (чайник) служат в качестве намека на то, что можно делать с объектами 3DS MAX. Hedra обеспечивает неограниченные перестановки, a Teapot является примером сложного параметрического объекта, состоящего из частей
Можно ожидать появление множества других параметрических объектов попадающих под эти два класса. Деревья, растительность, ландшафты и тучи аналогичны Hedra, а двери, окна, стулья и даже наборы доспехов аналогичны Teapot.
Объект Hedra обеспечивает пять семейств Polyhedron (многогранник) со множеством управляющих параметров. Возможности этих параметров могут показаться бесконечными, и ввиду того, что над ними можно выполнять анимацию, они обеспечивают очень интересную геометрию (в особенности для систем моделирования частиц от независимых разработчиков, которые могут воспринимать объекты-ссылки в качестве частиц).
Объект Teapot - это классика компьютерной графики. Известный в промышленности как "чайник из Юты", он является одним из первых предметов, которые всегда визуализируются. Теперь чайник является пиктограммой для 3D-графики в целом (поскольку используется в качестве пиктограммы визуализации). Пусть это покажется смешным, но скромный чайник является совершенно бесценным для проверки материалов и модификаторов благодаря своим геометрическим вариациям и подходящим координатам распределения.
Стек модификаторов. Параметрическая настройка на различных уровнях стека. Примеры.
Модификатором называется действие, назначаемое объекту, в результате чего свойства объекта изменяются. Например, модификатор может действовать на объект, деформируя его различными способами — изгибая, вытягивая, скручивая и т. д. Модификатор также может служить для управления положением текстуры на объекте или изменять физические свойства объекта, например делать его гибким.
Важным элементом интерфейса 3ds max 7 является Modifier Stack (Стек модификаторов) — список, расположенный на вкладке Modify (Изменение) командной панели (рис. 3.1).
В этом списке отображается история применения некоторых инструментов (в том числе модификаторов) к выделенному объекту, а также представлены режимы редактирования подобъектов.
Стек модификаторов очень удобен, так как содержит полную историю трансформации объектов сцены. При помощи стека модификаторов можно быстро перейти к настройкам самого объекта и примененных к нему модификаторов, отключить действие модификаторов или поменять местами очередность их воздействия на объект. При выделении объекта или примененной к нему команды его параметры объекта появляются на вкладке Modify (Изменение) командной панели под стеком модификаторов (рис. 3.2).
Рис. 3.1. Стек модификаторов
Рис. 3.2. Параметры объекта Box (Параллелепипед) на вкладке Modify (Изменение) под стеком модификаторов
Чтобы применить к объекту модификатор, нужно выделить объект и выбрать модификатор из списка Modifier List (Список модификаторов) на вкладке Modify (Изменение) командной панели. При этом название модификатора сразу появится в стеке. Назначить модификатор объекту можно также, воспользовавшись пунктом главного меню Modifiers (Модификаторы) (рис. 3.3).
Для удаления назначенного модификатора необходимо выделить его название в стеке модификаторов и нажать кнопку Remove modifier from the stack (Удалить модификатор из стека), расположенную под окном стека модификаторов (рис. 3.4).
Действие модификатора можно приостановить. Эта возможность может пригодиться, когда необходимо проследить изменение объекта на разных этапах моделирования.
Для выключения действия модификатора достаточно щелкнуть на пиктограмме в виде лампочки, которая расположена слева от названия модификатора в стеке (рис. 3.5).
Список модификаторов очень длинный, и нет смысла перечислять все функции каждого из них, поэтому рассмотрим лишь наиболее используемые модификаторы.
Рис. 3.3. Пункт Modifiers (Модификаторы) главного меню
Рис. 3.4. Удаление модификатора из стека
Рис. 3.5. Стек модификаторов с выключенным модификатором Bend (Изгиб)
Основные модификаторы, деформирующие объект, называются параметрические модификаторы (Parametric Modifiers). С помощью таких модификаторов можно деформировать объект самыми различными способами. К деформирующим модификаторам также относятся модификаторы свободных деформаций (Free Form Deformers). Каждый из параметрических модификаторов содержит два режима редактирования подобъектов.
Управление положением габаритного контейнера модификатора осуществляется при помощи параметра Gizmo (Гизмо).
Задание центра применения модификатора — Center (Центр).
Переключиться в один из этих режимов можно, раскрыв список модификаторов в стеке модификаторов и выделив требуемый режим. В каждом из этих режимов можно изменять положение габаритного контейнера и центральной точки эффекта. Рассмотрим деформирующие модификаторы.
Bend (Изгиб)
Назначение данного модификатора — деформировать объект (рис. 3.6), сгибая его оболочку под определенным углом Angle (Угол) относительно некоторой оси Bend Axis (Ось изгиба). Этот модификатор, как и многие другие, имеет на свитке Parameters (Параметры) область Limits (Пределы), с помощью параметров которой можно определить границы применения модификатора (рис. 3.7).
Рис. 3.6. Примеры использования модификатора Bend (Изгиб)
Рис. 3.7. Настройки модификатора Bend (Изгиб)
Noise (Шум)
Этот модификатор имеет большое значение при моделировании природных ландшафтов
После его воздействия на объект поверхность становится зашумленной Хаотическое искажение поверхности объекта может использоваться для создания любой неоднородной поверхности, например при имитации камня (рис. 3.14).
Модификатор создает искажения объекта в одном из трех направлений - X, Y или Z.
Параметры, определяющие амплитуду воздействия вдоль каждой из осей объединены в области Strength (Сила воздействия).
Рис. 3.14. Примеры использования модификатора Noise (Шум)
Модификатор Noise (Шум) содержит параметр зашумления Fractal (Фрактальный), с помощью которого можно имитировать естественное зашумление объектов (горный ландшафт, мятую бумагу и др.).
При установленном флажке Fractal (Фрактальный) становятся доступными два параметра зашумления - Roughness (Шероховатость) и Iterations (Количество итераций). НастройкаScale (Масштабирование) определяет масштаб зашумления, а величина Seed (Случайная выборка) служит для псевдослучайного создания эффекта.
Кроме всего прочего, модификатор Noise (Шум) имеет функцию Animate Noise (Анимация шума) (рис. 3.15).
Рис. 3.15. Настройки модификатора Noise (Шум)
Модификатор Twist (Скручивание) - предназначен для кручения, что и следует из его названия. Например обычный Box можно превратить в сверло, металлический прут и тд.
Основные настройки:
Angle — Угол закручивания.
Bias – Кривизна закручивания, позволяет неравномерно сместить центр скручивания.
Twist Axis — Оси кручения объектов.
Дополнительные настройки:
Upper Limit (верхний предел) — устанавливает рамки действия модификатора на объекте.
Lower Limit (нижний предел) — устанавливает рамки действия модификатора на объекте.