Использование лоскутного моделирования Безье
Цель работы: В данном уроке по работе вы изучите основы лоскутного моделирования.Лоскутное моделирование в 3D Studio Max
Лоскут (Patch) – это плоская сетка, состоящая из ряда фрагментов. Моделирование на основе лоскутов Безье основано на использовании поверхностей, форма которых контролируется при помощи решетки деформации. Решетка имеет вершины, называемые управляющими точками, которые можно перемещать для корректировки формы поверхности объекта. При этом сечения деформируемой поверхности вдоль координатных осей представляют собой сплайны, а управляющие точки имеют касательные векторы с маркерами на концах, которые можно перемещать, придавая поверхности различную кривизну. Существует два метода создания трехмерных объектов: в виде лоскутных сеток и через преобразование любого объекта в редактируемый лоскут.Типы лоскутов
Чтобы создать лоскутную сетку, нужно выбрать Patch Grids (Лоскутные сетки) в раскрывающемся списке панели Create –> Geometry (Создать –> Геометрия). Свиток Object Туре (Тип объекта) содержит два типа лоскутов: Quad Patch (Квадратный лоскут) и Tri Patch (Треугольный лоскут). Однако более правильным является использование терминов «лоскут из четырехугольников» и «лоскут из треугольников». Основное различие между двумя типами лоскутов состоит в том, что треугольные лоскуты образованы треугольными фрагментами, а четырехугольные лоскуты образованы прямоугольными фрагментами (рис. 1).Рисунок 1. Виды лоскутов.
При работе с треугольными лоскутами важно помнить, что они всегда будут содержать 72 треугольные грани, независимо от размеров лоскутной сетки. Эти грани будут увеличиваться при увеличении размера лоскута или сжиматься при его уменьшении.
Создание четырехугольного лоскута
Параметры лоскута присутствуют в свитке Parameters. Параметры Length и Width определяют размеры лоскута так же, как и в случае стандартных примитивов и базовых форм. Значения Length, Segs и Width Segs определяют количество управляющих вершин лоскута. Управляющие вершины используются для манипулирования вершинами объектов.Выполните следующие действия:
Шаг 1. Запустите 3D Studio Max.
Шаг 2. Щелкните на кнопке Create (Создать) и выберите вкладку Geometry (Геометрия).
Шаг 3. В раскрывающемся списке выберите Patch Grids (Лоскутные сетки), а затем щелкните на кнопке Quad Patch (Четырехугольный лоскут). Щелкните на виде проекции Тор и перетащите указатель мыши, чтобы создать лоскут.
Шаг 4. Установите значения параметров Length (Длина) и Width (Ширина) лоскута в свитке Parameters (Параметры) равными 50.
Шаг 5. Установите значения Length Segs (Количество сегментов по длине) и Width Segs (Количество сегментов по ширине) равными 4.
Шаг 6. Теперь созданный четырехугольный лоскут должен выглядеть подобно показанному на рисунке 2.
Рисунок 2. Четырехугольный лоскут.
Создание треугольного лоскута
Действия по созданию треугольного лоскута почти идентичны созданию четырехугольного лоскута. Однако, для треугольного лоскута отсутствует какая-либо возможность определения количества сегментов по длине или ширине.Выполните следующие действия:
Шаг 1. Перезагрузите 3D Studio Max.
Шаг 2. Щелкните на кнопке Create и перейдите на вкладку Geometry.
Шаг 3. В раскрывающемся списке выберите Patch Grids и щелкните на кнопке Tri Patch (Треугольный лоскут). Создайте лоскут из треугольников в окне проекции Тор, щелкнув на нем и выполнив перетаскивание.
Шаг 4. Щелкните на лоскуте, выберите панель Modify (Изменить) и установите значения параметров Length и Width в свитке Parameters равными 50.
Шаг 5. Созданный треугольный лоскут должен выглядеть аналогично показанному на рисунке 3.
Рисунок 3. Создание треугольного лоскута.
Работа с лоскутами на уровне подобъектов
Для того, чтобы манипулировать лоскутной сеткой на уровне подобъектов, она должна быть преобразована в редактируемый лоскут. Для преобразования в редактируемый лоскут может быть использован модификатор Edit Patch.Модификатор Edit Patch позволяет управлять лоскутной сеткой Безье на различных уровнях.
Редактирование лоскутной сетки на уровне объектов
Редактирование лоскутной сетки на уровне объектов выполняется модификатором Edit Patch при выключенном режиме выбора подобъектов (кнопка Sub-Object не нажата). Тогда средства управления свитка Edit Object позволяют задать параметры топологии сетки и разбиения поверхности на грани на этапе преобразования лоскутной сетки в сетку с многоугольными ячейками при визуализации. В разделе Topology свитка Edit Object с помощью счетчика Steps задается число шагов интерполяции поверхности моделируемого объекта лоскутной сеткой Безье. Чем больше число шагов, тем более детальной становится структура поверхности, но тем большее время требуется на ее визуализацию.В разделе Tessellation имеются элементы управления, позволяющие изменить исходные параметры лоскутной сетки, а именно параметры, управляющие разбиением поверхности на многоугольники при визуализации. Здесь задается уровень разбиения Viewports (для отображения в окнах проекций) или Renderer (для визуализации). Переключатель Mesh Parameters определяет тип разбиения:
- Fixed (Фиксированная) – поверхность не разбивается, и ее детальность зависит только от параметра Steps;
- Parametric (Параметрическая) – с раздельным заданием числа шагов разбиения по осям U и V локальной системы координат;
- Spatial (Однородная) – с равномерным разбиением поверхности на треугольные грани при заданной длине ребра Edge;
- Curvature (С учетом кривизны) – с переменным шагом разбиения в зависимости от кривизны поверхности.
Флажки раздела Display позволяют включать и отключать отображения элементов объекта – решетку (флажок Lattice) и поверхность (Surface).
Уровень вершин
Уровень вершин (управляющих точек решетки деформации) является основным уровнем редактирования поверхностей, составленных из лоскутов Безье.После выбора кнопки Sub-Object уровень Vertex (вершины) устанавливается по умолчанию, и на командной панели появляется свиток Edit Vertex. Здесь можно выделить отдельную вершину и применить к ней одно из стандартных преобразований 3D Studio Мax для придания требуемой формы участкам поверхности.
Перемещая маркеры касательных векторов вершин, можно управлять кривизной поверхности в трехмерном пространстве при входе и выходе из управляющей точке. Можно корректировать положение отдельных касательных векторов согласованно или независимо друг от друга, установив флажок Lock Handles в разделе Topology свитка Edit Vertex. Кнопка Weld (Объединить) позволяет объединить несколько вершин, что часто используется при добавлении к поверхности новых лоскутов.
Уровень ребер
Работая на уровне ребер, можно выделить край лоскута и добавить к нему новый лоскут. При выборе в раскрывающемся списке Selection Level варианта Edge появляется свиток Edit Edge. Для добавления нового лоскута следует выделить крайнее ребро имеющегося и в разделе Add Patch выбрать тип добавляемого лоскута – треугольный или четырехугольный.Добавленный лоскут автоматически принимает форму профиля поверхности вдоль выделенного ребра.
Затем необходимо вернуться на уровень редактирования вершин и попарно объединить совпадающие вершины, выделив их рамкой и щелкнув на кнопке Weld.
Уровень отдельных лоскутов
На уровне редактирования лоскута можно отделять от поверхности или удалять ранее добавленные к ней лоскуты. При выборе данного уровня редактирования появляется свиток Edit Patch, реализующий эти действия.Подобъекты редактируемого лоскута в старших версиях 3D Studio Max
Уровни подобъектов одинаковы для обоих типов лоскутов. Выполните следующие действия:Шаг 1. Перезагрузите 3D Studio Max.
Шаг 2. Откройте файл, сохраненный при создании четырехугольного лоскута.
Шаг 3. После открытия файла четырехугольный лоскут потребуется преобразовать в редактируемый лоскут, чтобы можно было получить доступ к его подобъектам и манипулировать ими. Для этого выделите четырехугольный лоскут в окне проекции, щелкните на лоскуте правой кнопкой мыши и в контекстном меню выберите команду Convert To –> Convert to Editable Patch (Преобразовать в –> Преобразовать в редактируемый лоскут), как показано на рисунке 4.
Рисунок 4. Преобразование в редактируемый лоскут.
После того как четырехугольный лоскут преобразован в редактируемый, ряд уровней выбора подобъектов становится доступным в свитке Selection (Выделение). Для выбора подобъектов лоскута можно использовать один из пяти уровней подобъектов:
- Vertex (Вершина).
- Handle (Метка-манипулятор).
- Edge (Ребро).
- Patch (Лоскут).
- Element (Элемент).
Работа на этом уровнем подобъектов (рис. 5) весьма подобна работе на уровне вершин при использовании других технологий моделирования. Одно из существенных различий состоит в том, что в данном случае для настройки кривизны выбранной вершины можно использовать ее метки-манипуляторы.
Рисунок 5. Выделенная вершина с управляющими метками-манипуляторами.
Позволяет выделять управляющую метку-манипулятор каждой вершины и манипулировать ею, не выделяя саму вершину. Как видно из рисунка 6, каждый из маленьких квадратов представляет собой метку-манипулятор, который можно использовать для изменения лоскута.
Рисунок 6. Управляющие метки-манипуляторы лоскута в режиме подобъектов.
Ребро – это граничная линия, соединяющая две вершины лоскутного объекта (рис. 7). Ребра можно изменять с помощью технологии, называемой разделением, которая позволяет добавлять новые лоскуты в существующую лоскутную сетку.
Рисунок 7. Ребро, выделенное в режиме подобъектов.
Эта опция позволяет выделить весь фрагмент лоскута. Выделение на этом уровне (рис. 8) позволяет удалять, отсоединять или разделять фрагменты лоскута.
Рисунок 8. Фрагмент лоскута, выделенный в режиме подобъектов.
Эта опция позволяет выделить весь элемент лоскута, как показано на рисунке 9.