60787

Лоскутное моделирование в 3d max

Конспект урока

Педагогика и дидактика

При работе с треугольными лоскутами важно помнить что они всегда будут содержать 72 треугольные грани независимо от размеров лоскутной сетки. Эти грани будут увеличиваться при увеличении размера лоскута или сжиматься при его уменьшении.

Русский

2014-05-21

343 KB

2 чел.

Лоскутное моделирование в 3d 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 МАХ для придания требуемой формы участкам поверхности.

Перемещая маркеры касательных векторов вершин, можно управлять кривизной поверхности в трехмерном пространстве при входе в управляющую точку и выходе из нее. Можно корректировать положение отдельных касательных векторов независимо друг от друга или согласованно, установив флажок 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 (Выделение). Для выбора подобъектов лоскута можно использовать один из пяти уровней подобъектов:

1. Vertex (Вершина).

Работа на этом уровнем подобъектов (рис. 5) весьма подобна работе на уровне вершин при использовании других технологий моделирования. Одно из существенных различий состоит в том, что в данном случае для настройки кривизны выбранной вершины можно использовать ее метки- манипуляторы.

Рисунок 5. Выделенная вершина с управляющими метками-манипуляторами.

2. Handle (Метка-манипулятор).

Позволяет выделять управляющую метку-манипулятор каждой вершины и манипулировать ею, не выделяя саму вершину. Как видно из рис. 6, каждый из маленьких квадратов представляет собой метку-манипулятор, который можно использовать для изменения лоскута.

Рисунок 6. Управляющие метки-манипуляторы лоскута в режиме подобъектов.

3. Edge (Ребро). Ребро – это граничная линия, соединяющая две вершины лоскутного объекта (рис. 7). Ребра можно изменять с помощью технологии, называемой разделением, которая позволяет добавлять новые лоскуты в существующую лоскутную сетку.

Рисунок 7. Ребро, выделенное в режиме подобъектов.

4. Patch (Лоскут).

Эта опция позволяет выделить весь фрагмент лоскута. Выделение на этом уровне (рис. 8) позволяет удалять, отсоединять или разделять фрагменты лоскута.

Рисунок 8. Фрагмент лоскута, выделенный в режиме подобъектов.

5. Element (Элемент).

Эта опция позволяет выделить весь элемент лоскута, как показано на рис. 9.

Рисунок 9. Элемент, выделенный в режиме подобъектов.

Разделение лоскутов

При работе с лоскутами свиток Geometry содержит область Subdivision (Разделение). Эта опция позволяет разбивать выделенные фрагменты лоскута на несколько фрагментов. Опция Propagate приводит к разделению всех соседних фрагментов лоскута, а не только выделенного. Она может оказаться полезной, когда требуется создать дополнительные управляющие метки-манипуляторы для последующего манипулирования лоскутом.

Выполните следующие действия:

1. Перезагрузите 3d studio max

2. Откройте файл, содержащий треугольный лоскут, созданный ранее.

3. Преобразуйте треугольный лоскут в редактируемый лоскут, чтобы можно было приступить к его изменению на уровне подобъектов.

4. Щелкните на кнопке подобъектов Patch и щелкните на одном из двух треугольных фрагментов лоскутной сетки.

5. Чтобы разделить фрагмент лоскута, щелкните на кнопке Subdivide (Разделить).

6. Как видно, теперь выделенная область лоскута разделена на четыре новых треугольных фрагмента с новыми управляющими метками- манипуляторами.

7. Выберите команду в основном меню Edit –> Undo Patch Subdivide (Правка –> Отменить разделение лоскута), что позволит выяснить влияние флажка Propagate (Распространить).

8. Установите флажок Propagate, чтобы активизировать эту опцию, а затем снова щелкните на кнопке Subdivide.

9. Пример выполнения обоих видов разделения показан на рис. 1.

Рисунок 1. Разделение лоскутов; разделенный лоскут (слева), разделенный с применением опции Propagate (справа).

Топология лоскута

Область Topology (Топология) свитка Geometry содержит набор кнопок для выполнения таких функций, как добавление, присоединение, удаление и отсоединение фрагментов лоскута при работе на уровне подобъектов. Рассмотрим опции Add Tri (Добавить треугольный лоскут) и Add Quad (Добавить четырехугольный лоскут). Эти кнопки служат для добавления треугольного или четырехугольного лоскута к выделенному ребру существующего лоскута. Прежде чем их можно будет использовать, лоскутная сетка должна быть преобразована в редактируемый лоскут. После того как объект преобразован, необходимо выделить ребро, к которому нужно добавить новый фрагмент. Поэтому потребуется просто выделить ребро, а затем щелкнуть на кнопке Add Tri или Add Quad, чтобы добавить лоскут требуемого типа. Пример описанного процесса добавления лоскута к существующему лоскуту показан на рис. 2.

Рисунок 2. Добавление четырехугольного фрагмента к существующему лоскуту.

Этот метод можно использовать для добавления фрагмента лоскута к любому ребру существующего лоскута, но при этом следует соблюдать осторожность, чтобы не добавить больше фрагментов, чем в действительности требуется. В противном случае полученный лоскут может оказаться слишком сложным, а его поведение при попытке модификации — непредсказуемым. Следующие две опции раздела Topology свитка Geometry – кнопки Create (Создать) и Detach (Отсоединить). Кнопка Create позволяет использовать метод рисования произвольной формы для создания треугольного или четырехугольного фрагмента, добавляемого к существующему объекту. Пример фрагмента, добавленного к существующему квадратному лоскуту с помощью функции Create, показан на рис. 3.

Рисунок 3. Добавление треугольного фрагмента лоскута с использованием опции Create.

Эта функция очень полезна, если новый лоскут должен иметь особую форму. Чтобы ее активизировать, можно щелкнуть на кнопке Create, а затем в режиме выбора подобъектов Patch щелкнуть на вершине и нарисовать треугольный или четырехугольный фрагмент лоскута, связанный с этой вершиной. Чтобы нарисовать треугольный фрагмент, необходимо щелкнуть, чтобы создать начальную точку (которая должна быть первой вершиной), переместить указатель мыши в точку второй вершины, щелкнуть в третий раз, чтобы определить третью точку, и щелкнуть правой кнопкой мыши, чтобы завершить создание треугольного фрагмента. Для создания четырехугольного фрагмента нужно было выполнить эти же действия, за исключением того, что необходимо добавить к лоскуту четыре вершины, а не три.

Следующая функция этого меню – функция Detach (Отсоединить).

Чтобы ее использовать, вначале необходимо выделить фрагмент лоскута в режиме подобъектов Patch, а затем щелкнуть на кнопке Detach (Отсоединить).

В результате выделенный фрагмент или фрагменты будут исключены из состава существующей лоскутной сетки, как показано на рис. 4.

Рисунок 4. Отсоединенный фрагмент четырехугольного лоскута.

Отсоединенные фрагменты лоскута превратятся в отдельный лоскут, и программа выведет окно сообщения с предложением переименования нового лоскута. Также этот раздел свитка содержит опции Reorient (Изменить ориентацию), Сору (Копировать), Delete (Удалить), Hide (Скрыть) и Unhide All (Показать все). При активизации функции Reorient программа 3d studio max изменяет ориентацию присоединенного фрагмента так, чтобы выровнять его локальную систему координат с локальной системой координат создания выделенного лоскута. Копирование приведет к копированию отсоединенного лоскута в качестве самостоятельного объекта, что подобно своего рода клонированию фрагмента лоскута без изменения исходного лоскута. Кнопка Delete служит для удаления одного или нескольких выделенных фрагментов лоскута.

Опция Hide будет скрывать выделенный фрагмент, а Unhide All – снова отображать все фрагменты лоскута. Под этим разделом свитка расположен новый раздел Weld (Объединить) и раздел Extrude & Bevel (Вытягивание и скос). Кнопки Selected (Выделенные) и Target (Целевые) позволяют объединять две или более вершин в одну. Последний раздел этого свитка – Extrude & Bevel. Фрагменты лоскута можно вытягивать, придавая ему глубину. Опции вытягивания и скоса позволяют вытягивать лоскут и скашивать его ребра. Создание изображения рельефа поверхности участка земли Выполните следующие действия:

1. Перезагрузите 3d studio max.

2. На командной панели Create выберите строку Patch Grids в раскрывающемся списке разновидности объектов категории Geometry и создайте четырехугольный кусок Безье размером 50x50 единиц.

3. Установите уровень Edge (ребро) правки куска.

4. С помощью инструмента Select Object выделим правое ребро куска и щелкнем на кнопке Add Quad (добавить четырехугольный кусок).

5. Повторяя предыдущий пункт, создадим сетку размером 4 на 4 куска Безье (при редактировании можно выделять несколько кусков с помощью рамки).

6. Установим уровень Vertex (вершина) правки куска. Вершины сетки кусков обозначатся крестиками.

7. Выполним объединение вершин. Для этого выделим рамкой одну группу перекрывающихся внутренних вершин и щелкнем на кнопке Weld; повторим процесс для всех пар перекрывающихся внутренних вершин сетки.

8. Выделяя по очереди вершины по краям сетки, перемещая их и корректируя положение касательных векторов, сформируем границы участка.

9. Выделяя с помощью инструмента Select and Move внутренние вершины сетки, переместим их в точки с необходимыми координатами по высоте (по оси Z) и положению, моделируя рельеф участка (рис. 5). Доводка наклонов рельефа выполняется перемещением маркеров касательных векторов вершин вдоль оси Z.

Рисунок 5. Рельеф (слева - перспектива отображается в сеточном режиме, справа - в полигональном).

Конструирование настольной скатерти в 3d max с помощью лоскутного моделирования.

Необходимо создать простой стол из стандартных примитивов, а затем, используя четырехугольный лоскут, сформировать закрывающую его скатерть. Выполните следующие действия:

1. Перезагрузите 3d studio max.

2. Создайте в окне перспективы параллелепипед длиной (Length) равной 60, шириной (Width) – 150 и высотой (Height) – 2.5. Этот объект будет служить основным элементом стола. В качестве цвета объекта выберите коричневый.

3. Теперь необходимо создать ножки стола. Создайте новый параллелепипед со значением Length равным 4, Width – 4 и Height – 36. Для этого объекта выберите тот же цвет, что и для крышки стола.

4. Необходимо уточнить геометрию ножка стола. Для этого преобразуйте ножку в редактируемый многоугольник (Editable Poly).

5. Выберите режим подобъектов вершин и выделите все вершины в нижней части параллелепипеда ножки стола. С помощью инструмента Select and Uniform Scale (Выделить и масштабировать равномерно) уменьшите нижнюю часть ножки, чтобы она была немного уже верхней. В результате вершины в нижней части ножки будут расположены ближе одна к другой.

6. Отключите режим подобъектов. Измените позицию ножки стола в окнах проекций Тор и Front, чтобы она заняла место ближней левой ножки. Результирующее расположение ножки стола показано на рис. 1.

Рисунок 1. Стол с правильно размещенной ножкой.

7. Клонируйте ножку и поместите дубликаты по углам стола, чтобы создать все четыре ножки. Выделите все детали стола и сгруппируйте их, выбрав команду основного меню Groups –> Group (Группировка –> Группировать). Присвойте этой группе имя Table.

8. Готовая модель стола показана на рис. 2.

Рис. 2. Модель стола.

Далее необходимо «накрыть» стол скатертью, созданной посредством использования лоскутной сетки.

Выполните следующие действия:

1. Разверните окно проекции Тор на весь экран и создайте четырехугольный лоскут, размеры которого несколько больше размеров крышки стола.

2. Значение Length лоскута установите равным 64, a Width – 155.

3. Разместите этот лоскут так, чтобы он примерно одинаково выступал за края стола, как показано на рис. 3, а затем поместите его поверх крышки.

Рисунок 3. Стол с правильно размещенной лоскутной сеткой.

4. В окне проекции Front создайте новую лоскутную сетку со значением Length равным 10, и значением Width, установив большое количество сегментов по высоте и ширине.

5. Преобразуйте этот лоскут в редактируемый, а затем выровняйте его верхний край по переднему краю первого лоскута и поверхности стола.

6. Убедитесь, что новый лоскут все еще выделен, щелкните на кнопке Attach (Присоединить), а затем на первом лоскуте, помещенном поверх крышки стола.

7. Выберите режим подобъектов Vertex, как показано на рис. 4 и отодвинте два ряда вершин к краю. После этого, крайний ряд опустите вниз, имитируя сползающую скатерть.

Рисунок 4. Манипулирование двумя крайними рядами вершин при большом количестве разбиения лоскута на сегменты.

Результат манипулирования метками-манипуляторами для создания волнистой материи, свисающей с края стола, показан на рис. 5.

Рис. 5. Создание "сползающей скатерти".

Рисунок 6. Визуализированный стол.


 

А также другие работы, которые могут Вас заинтересовать

71937. Смысловая организация сложного предложения в английском языке 105 KB
  Основным признаком сложного предложения лингвисты издавна считают объединение в нем нескольких предикативных сочетаний подлежащего и сказуемого. Причем на протяжении всей истории развития учения о сложном предложении наблюдаются разногласия в трактовке...
71938. Организация отношений между данными: иерархическая, сетевая, реляционная 896.09 KB
  Основные идеи современной информационной технологии базируются на концепции баз данных (БД). Согласно данной концепции основой информационной технологии являются данные, организованные в БД, адекватно отражающие реалии действительности в той или иной предметной области...
71939. Декабризм, и его значение в истории России 365 KB
  Движение декабристов является событием, длительное время приковывающим внимание историков. Это связано с тем, что события более чем 170-летней давности оказали значительное влияние на последующее развитие России; декабристы были первыми русскими революционерами, которые организовали открытое восстание против царизма.
71940. ЗАКОНОДАТЕЛЬНЫЕ И ИНЫЕ НОРМАТИВНЫЕ ПРАВОВЫЕ АКТЫ, УСТАНАВЛИВАЮЩИЕ ПОРЯДОК РАССЛЕДОВАНИЯ И УЧЕТА НЕСЧАСТНЫХ СЛУЧАЕВ НА ПРОИЗВОДСТВЕ 91 KB
  Формы документов необходимых для расследования и учета несчастных случаев на производстве утвержденные Минтрудом России следующие: извещение о групповом несчастном случае тяжелом несчастном случае несчастном случае со смертельным исходом; акт о несчастном случае...
71941. Пыль. Средства индивидуальной защиты от пыли 179.5 KB
  Для этой цели используется классификация пыли по ее дисперсности и способу образования. Характер действия пыли на организм зависит от физико-химических свойств пылевых частиц. Ядовитые пыли свинца ртути мышьяка и т. растворяясь в биологических средах действуют как введенный в организм...
71942. Пенсии по случаю потери кормильца 24.33 KB
  Пенсии по случаю потери кормильца –- это ежемесячные денежные выплаты алиментарного характера из фонда социальной защиты населения или государственного бюджета назначаемые нетрудоспособным членам семьи умершего кормильца состоявшим на его иждивении в размерах соизмеримых с заработком кормильца.
71943. Альберт Великий 41.55 KB
  После распада Римской Империи, сельское хозяйство на её западных территориях, занятых варварами пришло в упадок. Были утрачены знания и технологии Империи, площадь пахотных земель значительно сократилась.
71944. Александр Васильевич Советов 149.42 KB
  Александр Васильевич Советов возглавлял Вольное Экономическое общество (ВЭО), в котором его первый отдел объединял агрономов, экономистов и естествоиспытателей, таких как Д.И. Менделеев, К.А. Тимирязев, а с 1875 года - Докучаев.