3Ds max 5. Библия пользователя

         

Работа с NURBS



ГЛАВА 15. Работа с NURBS

Неоднородные рациональные В-сплайны (Non-Uniform Rational B-Splines — NURBS) идеально подходят для создания органических персонажей, поскольку просты в использовании, обеспечивают отличный интерактивный контроль, прекрасно сливаются друг с другом, а их поверхности остаются сглаженными даже при искажении. Кроме того, NURBS-сплайны позволяют достичь лучших, чем при использовании методов полигонального моделирования, результатов при построении обтекающих механических моделей или моделей со сглаженными контурами (например, растений, цветов, животных и кожи).

В этой главе вы познакомитесь с различными методами NURBS-моделирования, после чего сможете оценить их преимущества на практике.



Использование средств редактирования NURBS-субобъектов



Использование средств редактирования NURBS-субобъектов

Программа 3ds max 5 содержит множество инструментов, с помощью которых можно редактировать различные NURBS-точки, кривые и поверхности. Для доступа к этим средствам выделите NURBS-объект, перейдите во вкладку Modify, щелкните на знаке "+" слева от имени объекта в стеке модификаторов. Затем в появившейся иерархии выберите нужный субобъект. Доступные средства редактирования отобразятся в расположенных внизу разворачивающихся панелях. Так, например, если в иерархии субобъектов выбрать элемент CV Surface (CV-поверхность), то можно изменить положение контрольных вершин (или точек точечной поверхности) с помощью стандартных кнопок трансформации 3ds max. Такая возможность позволяет легко настроить форму любой NURBS-поверхности.

Вид этих разворачивающихся панелей зависит от типа выделенного NURBS-объекта и выбранного субобъекта. С помощью представленных в них средств вы сможете выделять определенные области, присваивать им имена, а также скрывать их, удалять, разбивать и даже разделять на NURBS-элементы. Для выполнения таких операций можно также воспользоваться средством Soft Selection.

Многие особенности работы различных средств редактирования субобъектов демонстрируются в приведенных далее практических примерах.



Изменение формы прямоугольной NURBS-поверхности



Изменение формы прямоугольной NURBS-поверхности

Благодаря наличию NURBS-лоскутков можно быстро создавать нужные поверхности, изменяя формы уже существующих с помощью трансформации различных субобъектов, например управляющей решетки. При этом для обработки субобъектов каждого типа в 3ds max представлено множество различных инструментов.



Наложение NURBS-поверхности



Наложение NURBS-поверхности

Средство U Loft (U-наложение) — один из наиболее универсальных инструментов обработки NURBS-поверхностей, поскольку позволяет создавать как предельно простые, так и весьма сложные поверхности. В первом примере путем наложения NURBS-поверхности на множество пересекающихся точечных кривых создается модель ложки.





NURBS-кривые



NURBS-кривые

Существует два вида NURBS-кривых: CV-кривые и точечные кривые. Наиболее широкое распространение получили CV-кривые. Чтобы создать любой тип кривых, активизируйте вкладку Create, щелкните на кнопке категории Shapes и из раскрывающегося списка субкатегорий выберите элемент NURBS Curves. Щелкните мышью в окне проекции, установив таким образом начальную точку кривой, переместите указатель и снова щелкните мышью. После каждого щелчка перемещайте указатель в новую позицию, продолжая рисовать кривую. Чтобы закончить создание кривой, щелкните правой кнопкой мыши.

Примеры точечной и CV-кривой показаны на рис. 15.1.



NURBS-кривые и поверхности



NURBS-кривые и поверхности

Любой сложный NURBS-объект, по сути, состоит из нескольких главных составляющих — кривых и поверхностей. Именно на основе таких элементарных составляющих становится возможным моделирование самых сложных моделей. И кривые и поверхности создаются с помощью вкладки Create панели Command.

Во вкладке Create представлено два вида NURBS-кривых и два вида NURBS-поверхностей. Один из этих видов работает с точками, другой — с контрольными вершинами. Точечные кривые (point curve) представляют собой линии, проходящие через определенные точки и образующие кривые или поверхности. В то же время CV-кривая (Control Vertex — контрольная вершина) включает в себя специальную управляющую решетку контрольных вершин (CV control lattice). Линии не проходят через контрольные вершины, но контролируются ими, что во многом напоминает кривые Безье.



NURBS-модификаторы



NURBS-модификаторы

В меню Modifiers>NURBS Editing (Модификаторы>Редактирование NURBS) представлен набор модификаторов, предназначенных специально для работы с NURBS, а именно: NURBS Surface Select (Выделить поверхность NURBS), SurfDeform (Деформация NURBS) и Disp Approx (Аппроксимация замены). Кроме этого, для работы с NURBS существует глобально-пространственный модификатор Displace NURBS (Вытеснение NURBS).

Модификатор NURBS Surface Select позволяет выделять субобъекты выделенного NURBS-объекта (в раскрывающемся списке Modifier List вкладки Modify этот модификатор называется NSurfSel). Затем выделенные субобъекты передаются следующему модификатору посредством стека модификаторов. Модификатор NURBS Surface Select позволяет выделять субобъекты Surface CV и Surface.

Модификатор SurfDeform работает с NURBS-поверхностями так же, как модификаторы PatchDeform и PathDeform. После применения модификатора SurfDeform щелчок на кнопке Pick Object (Выбрать объект) позволяет выделить NURBS-поверхность, используемую в процессе деформации. Существует также глобально-пространственная версия этого модификатора.

Название модификатора Disp Approx является сокращением от Displacement Approximation (Аппроксимация замены). Данный модификатор изменяет поверхность объекта на основе карт Displacement (применяются с помощью материалов), которые становятся доступными в стеке модификаторов. Он применяется только к тем объектам, которые можно преобразовать в объект типа Editable Mesh, включая примитивы, NURBS-объекты и лоскутки. Щелкая на кнопках Low (Низкие), Medium (Средние) и High (Высокие) раздела Subdivision Presets (Установки подразделения) разворачивающейся панели Displacement Approx этого модификатора, можно выбрать один из наборов заранее определенных значений параметров.

Глобально-пространственный модификатор Displace NURBS очень похож на модификатор Disp Approx. С его помощью NURBS-объект преобразуется в каркас. Данный модификатор используется также для отображения эффекта применения карты вытеснения на NURBS-объект. В разделе Tessellation Method разворачивающейся панели Displace NURBS этого модификатора можно выбрать метод отображения поверхности объекта: Regular (Постоянный), Parametric (Параметрический), Spatial (Пространственный), Curvature (Кривизна) или Spatial and Curvature (Пространственный и кривизна).



NURBS-поверхности



NURBS-поверхности

Для построения плоской прямоугольной точечной (point surface) или CV-поверхности (CVsurfaces) откройте вкладку Create, щелкните на кнопке категории Geometry (Геометрия) и из раскрывающегося списка субкатегорий выберите элемент NURBS Surfaces (NURBS-поверхности). Затем создайте поверхность, просто щелкнув в любом окне проекции и перетащив указатель мыши. Построение завершится, как только вы отпустите кнопку мыши. Последующее перемещение, масштабирование и вращение контрольных точек таких прямоугольников, называемых еще NURBS-лоскутками, позволяет легко получить нужную форму. Сложные модели могут создаваться путем построения множества групп таких NURBS-лоскутков и соединения их с помощью различных средств обработки NURBS-поверхностей.

В разворачивающейся панели Create Parameters можно изменить длину (Length) и ширину (Width) поверхности. В этой же панели можно указать количество точек (Length Points, Width Points) или вершин (Length SVs, Width SVs) поверхности. Ниже расположены флажки Generate Mapping Coords (Генерировать координаты карты) и Flip Normals (Изменить нормали). Для CV-поверхностей на этой панели предусмотрена группа параметров Automatic Reparam (Автоматическое обновление параметров), которая содержит переключатели None (Нет), Chord Length (Длина хорды) и Uniform (Универсальная).

Для внесения изменений в CV-поверхность щелкните на знаке "+" слева от объекта NURBS Surface в стеке модификаторов. В появившейся иерархии выберите субобъект Surface CV и в окне проекции переместите контрольные вершины, окружающие поверхность, или измените вес отдельных контрольных вершин (параметр Weight) в разворачивающейся панели CV. Точечные поверхности не имеют решетки, но изменить их форму можно, выделяя субобъект Point и перемещая точки поверхности.

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

На рис. 15.2 представлены точечная NURBS-поверхность и CV-поверхность.



Создает точку на определенном расстоянии



Описание


Create Point (Создать точку)
Создает независимую точку


Create Offset Point (Создать точку смещения)
Создает точку на определенном расстоянии (смещении) от другой точки


Create Curve Point (Создать точку кривой)
Создает точку на кривой


Create Curve-Curve Point (Создать точку в месте пересечения кривых)
Создает точку в месте пересечения двух кривых


Create Surf Point (Создать точку поверхности)
Создает точку на поверхности


Create Surface Curve Point (Создать точку на кривой и поверхности)
Создает точку в месте пересечения кривой и поверхности

Таблица 15.1. Кнопки раздела Points панели NURBS
Возможность создания свободных (отдельно расположенных) и зависимых NURBS-точек позволяет применить еще один способ построения кривой. При активизации одной из этих кнопок и помещении указателя мыши на место возможного создания точки форма указателя соответствующим образом изменяется. Так, например, указатель видоизменится, если вы щелкнете на кнопке Create Surf Point и поместите его на NURBS-поверхность.
Чтобы открыть панель NURBS, можно также воспользоваться комбинацией клавиш <Ctrl+T>.
Раздел Curves включает еще больше кнопок, чем раздел Points. Кнопки этого раздела используются для создания зависимых NURBS-кривых и описаны в табл. 15.2.



Создает точечную кривую, проходящую через



Описание


Create CV Curve (Создать CV-кривую)
Создает CV-кривую


Create Point Curve (Создать точечную кривую)
Создает точечную кривую


Create Fit Curve (Создать проходящую кривую)
Создает точечную кривую, проходящую через выделенные точки


Create Transform Curve (Создать кривую трансформации)
Создает копию трансформируемой кривой


Create Offset Curve (Создать кривую смещения)
Создает копию исходной кривой на заданном расстоянии


Create Blend Curve (Создать соединяющую кривую)
Объединяет или плавно соединяет концы двух кривых


Create Mirror Curve (Создать зеркально отраженную кривую)
Создает зеркальную копию исходной кривой относительно выделенной оси, причем на определенном пользователем расстоянии


Create Chamfer Curve (Создать кривую скоса)
Создает скос в точке пересечения двух кривых


Create Fillet Curve (Создать кривую-кромку)
Создает линию радиуса, обеспечивает более гладкий переход между пересекающимися кривыми


Create Surface-Surface Intersection Curve (Создать кривую на пересечении поверхностей)
Создает кривую вдоль линии пересечения двух NURBS-поверхностей


Create U Iso Curve (Создать кривую из изопараметрической U-линии)
Создает зависимую кривую из изопараметрической U-линии NURBS-поверхности


Create V Iso Curve (Создать кривую из изопараметрической V-линии)
Создает зависимую кривую из изопараметрической V-линии NURBS-поверхности


Create Normal Projected Curve (Создать кривую проектированием нормали)
Проектирует кривую на NURBS-поверхность вдоль нормали поверхности


Create Vector Projected Curve (Создать кривую проектированием вектора)
Проектирует кривую на NURBS-поверхность вдоль вектора


Create CV Curve on Surface (Создать CV-кривую на поверхности)
Создает CV-кривую непосредственно на NURBS-поверхности


Create Point Curve on Surface (Создать точечную кривую на поверхности)
Создает точечную кривую непосредственно на NURBS-поверхности


Create Surface Offset Curve (Создать кривую, смещенную от поверхности)
Создает кривую на определенном расстоянии от поверхности кривой


Create Surface Edge Curve (Создать кривую края поверхности)
Создает кривую вдоль края поверхности

Таблица 15.2. Кнопки раздела Curves панели NURBS
Зависимые кривые можно создавать с помощью точек, кривых и поверхностей. При этом указатель мыши принимает соответствующую форму. Для создания некоторых зависимых кривых необходимо сразу два объекта. Так, например, кнопка Create Blend Curve позволяет соединить две кривые в одну. Это реализуется последовательным выделением сначала первой соединяемой кривой, а затем второй. При этом выделяемые кривые отображаются синим цветом и обязательно должны быть частью одного объекта.
Кнопки раздела Surfaces используются для создания зависимых NURBS-поверхностей. Их описание представлено в табл. 15.3.



Соединяет две поверхности третьей сглаживающей



Описание


Create CV Surface (Создать CV-поверхность)
Создает CV-поверхность


Create Point Surface (Создать точечную поверхность)
Создает точечную поверхность


Create Transform Surface (Создать поверхность трансформации)
Создает копию трансформируемой поверхности


Create Blend Surface (Создать соединяющую поверхность)
Соединяет две поверхности третьей сглаживающей поверхностью


Create Offset Surface (Создать поверхность смещения)
Создает копию исходной поверхности и переносит ее в сторону на определенное расстояние


Create Mirror Surface (Создать зеркально отраженную поверхность)
Создает зеркальную копию исходной поверхности относительно выделенной оси, причем на определенном пользователем расстоянии


Create Extrude Surface (Создать поверхность выдавливания)
Создает NURBS-поверхность под прямым углом к плоскости построения


Create Lathe Surface (Создать поверхность тела вращения)
Создает NURBS-поверхность, поворачивая кривую относительно определенной оси


Create Ruled Surface (Создать ровную поверхность)
Создает прямую поверхность, соединяющую края двух отдельных поверхностей. Один край может быть изогнутым, а второй — прямым


Create Capped Surface (Создать замкнутую поверхность)
Создает поверхность, замыкающую края другой поверхности


Create U Loft Surface (Создать наложенную поверхность вдоль оси U)
Создает поверхность, объединяя несколько замкнутых искривленных контуров вдоль оси U


Create UV Loft Surface (Создать наложенную поверхность вдоль осей U и V)
Создает поверхность, объединяя несколько замкнутых искривленных контуров вдоль осей U и V


Create 1 -Rail Sweep (Создать поверхность с одной направляющей)
Создает поверхность на основании кривой и поперечного сечения, созданного другой кривой


Create 2-Rail Sweep (Создать поверхность с двумя направляющими)
Создает поверхность на основании двух кривых и поперечного сечения, созданного другой кривой


Create a Multisided Blend Surface (Создать многостороннюю соединяющую поверхность)
Создает поверхность, объединяя несколько кривых и поверхностей


Create Multicurved Trimmed Surface (Создать ровную поверхность из нескольких кривых)
Создает поверхность на основании нескольких кривых, формирующих петлю


Create Fillet Surface (Создать поверхность кромки)
Создает поверхность с закругленными краями в местах пересечения поверхности

Таблица15.3. Кнопки раздела Surfaces панели NURBS
Используя кнопки панели NURBS, можно работать с множеством доступных NURBS-объектов. Многие из них используются в упражнениях, приведенных в конце главы.

Панель NURBS Creation Toolbox



 Панель NURBS Creation Toolbox

Щелчок на кнопке NURBS Creation Toolbox разворачивающейся панели General приводит к появлению плавающей панели NURBS (рис. 15.7). Повторный щелчок на этой кнопке скрывает панель. Сама же панель включает три раздела: Points (Точки), Curves (Кривые) и Surfaces (Поверхности).



Преобразование объектов в NURBS



Преобразование объектов в NURBS

Для преобразования стандартного примитива в NURBS-объект достаточно выделить примитив, щелкнуть на нем правой кнопкой мыши и из появившегося квадменю выбрать элемент Convert To>Convert to NURBS (Преобразовать>Преобразовать в NURBS). Еще один способ преобразовать примитивы — щелкнуть правой кнопкой мыши на имени примитива в стеке модификаторов и из появившегося контекстного меню выбрать команду Convert to NURBS.

На рис. 15.3 показана обычная сфера и сфера, преобразованная в NURBS.

 Рис. 15.3. Стандартные примитивы, например сферу (слева), можно легко преобразовать в NURBS-поверхность (справа)

Существует и еще один альтернативный способ преобразования стандартного примитива в NURBS-модель— присоединение примитива к уже созданному NURBS-объекту. Чтобы воспользоваться им, выделите NURBS-объект, перейдите во вкладку Modify и щелкните на кнопке Attach (Присоединить) разворачивающейся панели General, после чего выделите присоединяемый полигональный объект. Запомните, любой присоединяемый к NURBS-модели объект автоматически становится NURBS-объектом.

Используя некоторые модификаторы, например Lathe (Тело вращения), можно определить создание объекта в виде лоскутков, каркаса или NURBS-объекта. Однако, если такое тело вращения первоначально создано как полигональный каркас или кусочный объект, вы не сможете впоследствии преобразовать его в NURBS-модель.

Преобразовывать в NURBS-кривые можно и сплайны, однако для этого нужно быть очень внимательным. Дело в том, что не все типы сплайнов могут быть преобразованы в одну NURBS-кривую. Так, например, сплайн Line (Линия), созданный с помощью переключателя Corner в группе параметров Initial Type и Drag Type (разворачивающаяся панель Creation Method), преобразуется в набор отдельных NURBS-кривых. Если же вы пожелаете преобразовать в одну кривую целый сплайн, то должны установить переключатель Smooth (Сглаженный) или Bezier (Безье) в группе параметров Drag Type. В категории Shapes (Формы) вы найдете большое количество сплайнов. Среди них только форму Helix (Спираль) нельзя преобразовать в NURBS-кривую. Формы Rectangle (Прямоугольник), N-Gon (Многоугольник) и Text (Текст) преобразуются в сегментированные NURBS-кривые, а замкнутые формы Circle (Окружность), Star (Звезда), Ellipse (Эллипс) и Donut (Кольцо) — в целые NURBS-кривые.

Если вы планируете использовать такие многокусочные формы, как, например, поперечные сечения и направляющие (которые рассматриваются далее в главе) или кривые NURBS Extrusion (NURBS-выдавливание), очень важно сразу определить, будет кривая замкнутой или открытой. Для достижения правильных результатов состоящие из нескольких кривых формы необходимо после преобразования объединить в одну NURBS-кривую.



Работа с NURBS



Работа с NURBS

Вы сможете гораздо лучше понять многие детали работы NURBS, если попробуете самостоятельно создавать подобные модели. Этот раздел включает несколько примеров, выполнение которых позволит почувствовать истинную мощь и гибкость NURBS-моделирования.



Разворачивающиеся панели NURBS



Разворачивающиеся панели NURBS

Выделение NURBS-кривой сопровождается появлением нескольких разворачивающихся панелей во вкладке Modify. Первые две — Rendering (Визуализация) и General (Общие) — показаны на рис. 15.4. Разворачивающаяся панель Rendering была рассмотрена в разделе "NURBS-кривые". Панель General включает кнопки присоединения (Attach) и импортирования NURBS (Import). Кроме того, в ней же находятся кнопки Attach Multiple (Присоединить несколько) и Import Multiple (Импортировать несколько), щелчок на которых позволяет выбрать сразу несколько объектов с помощью появляющегося в таких случаях диалогового окна. Используя параметр Reorient, можно переориентировать присоединяемый объект.

В разделе Display (Отображение) этой же панели вы можете определить, какие элементы NURBS-модели отображать. Для выделенных кривых этот раздел включает параметры Lattices (Решетки), Curves (Кривые) и Dependents (Дочерние объекты), а для поверхностей, помимо первых трех, — дополнительные параметры Surfaces (Поверхности), Surface Trims (Состояние поверхности) и Transform Degrade (Элементы трансформации). Используя переключатели раздела Surface Display (Отображение поверхности), вы можете отобразить поверхность как мозаичный каркас (Tessellated Mesh) или затененную решетку (Shaded Lattice). Справа от раздела Display располагается кнопка NURBS Creation Toolbox (Панель инструментов создания NURBS). Щелчок на ней открывает окно NURBS с набором кнопок, упрощающих дальнейшую обработку NURBS-модели. Детальное описание этих кнопок вы найдете далее в главе.

При выделении NURBS-поверхностей ниже разворачивающейся панели General размещается панель Display Line Parameters (Параметры отображения линий), показанная на рис. 15.5. В ней определяется количество изопараметрических U- и V-линий, используемых для отображения NURBS-поверхности. Именно благодаря их наличию вы можете легко определить положение NURBS-поверхности в окне проекции.



Редактирование NURBS-объектов



Редактирование NURBS-объектов

Редактирование и моделирование всевозможных NURBS-кривых и поверхностей для придания им нужной формы выполняется с помощью разворачивающихся панелей вкладки Modify, средства NURBS Creation Toolbox или с помощью изменения субобъектов NURBS.



моделирования идеально подходят для создания



Резюме

Методы NURBS- моделирования идеально подходят для создания обтекаемых моделей. В этой главе рассматривалось:
создание точечных и CV-кривых; преобразование примитивов в NURBS-объекты; создание NURBS-поверхности из кривых; редактирование NURBS-кривых и поверхностей: наложение поверхности на точечные и CV-кривые; работа с инструментами обработки NURBS-субобъектов; наложение поверхностей с помощью точечных и CV-кривых; создание NURBS-поверхностей путем вращения и с помощью направляющих кривых. Следующая глава посвящена обширной группе производных объектов, которые носят название составных. Объекты эти, по сути, уникальны, а их использование имеет свою специфику.

Существует два вида...



Рис. 15.1. Существует два вида NiIRBS-кривых: точечные кривые (слева) и CV-кривые (справа)

Создавать NURBS-кривые и поверхности можно также с помощью NURBS Creation Toolbox — средства, которое будет рассмотрено далее в главе.

CV-кривые включают специальную управляющую решетку контрольных вершин, с помощью точек которой можно изменять форму отдельной кривой или целой поверхности. Точечная кривая подобна CV-кривой и отличается от нее лишь тем, что проходит через определенные контрольные точки. Используя этот вид кривых, вы сможете более тонко управлять формой кривой или поверхности. Однако точечные кривые не так устойчивы, как CV-кривые, а точечные поверхности, в свою очередь, не обладают такими огромными возможностями настройки, как поверхности, построенные на CV-кривых. Обратите внимание, что создаваемые NURBS-кривые автоматически сглаживаются при построении. Однако, в отличие от сплайнов, они не включают элементы управления Безье, используемые для настройки формы. Чтобы настроить форму NURBS-кривой, необходимо перетащить ее контрольные точки или присвоить им определенные значения веса (силы притяжения).

Параметры разворачивающейся панели Rendering (Визуализация) во многом напоминают параметры сплайнов. С помощью этой панели кривые можно преобразовать в визуализируемые (Renderable) и установить значение их толщины (Thickness). Кроме этого, в панели Rendering устанавливают параметры кривых для механизма визуализации (Renderer) и/или для окон проекций (Viewport). Разворачивающаяся панель Rendering также включает флажок Generate Mapping Coords (Генерировать координаты карты). При его установке автоматически создаются координаты, отмечающие размещение карты материалов.

Разворачивающаяся панель Create CV Curve (Создание CV-кривой) появляется при активизации кнопки CV Curve. С помощью параметров этой панели можно настроить различные параметры создаваемой кривой, например ввести число этапов в поле Steps (Этапы) раздела Interpolation (Интерполяция). Параметры Optimize (Оптимизировать) и Adaptive (Адаптивный) этого же раздела автоматически уменьшают число точек, необходимых для определения кривой. Раздел Automatic Reparametrization (Автоматическая настройка параметров) содержит переключатели None (Нет), Chord Length (Длина хорды) и Uniform (Универсальная). Два последних определяют расстояние между контрольными точками, используя разные алгоритмы.

Разворачивающаяся панель Create Point Curve включает те же параметры, что и панель Create CV Curve. Единственное ее отличие — отсутствие раздела Automatic Reparametrization.



Множество параметров...



Рис. 15.4. Множество параметров выбранного NURBS-объекта можно изменить с помощью разворачивающихся панелей вкладки Modify

Рис. 15.2. NURBS-поверхности также бывают двух видов: точечные (слева) и CV (справа)

Различные типы NURBS-поверхностей можно создавать на основе NURBS-кривых и кусков Безье с помощью кнопок разворачивающейся панели Create Surfaces вкладки Modify. Эти кнопки подробнее рассматриваются в последующих разделах.

Поверхность, создаваемая на основе двух или большего числа NURBS-кривых с помощью кнопок разворачивающейся панели Create Surfaces, отображается в форме изопараметриче-ских U- и V-линий. Изопараметрическими (jsoparms) называются линии, которые располагаются между кривыми и определяют форму NURBS-поверхности. При выделении поверхности в окне проекции изопараметрические линии отображаются зеленым цветом.



Множество параметров...



Рис. 15.5. Множество параметров выбранных NURBS-поверхностей можно также изменить с помощью разворачивающихся панелей вкладки Modify

Для редактирования NURBS-поверхностей применяется также разворачивающаяся панель Surface Approximation (Аппроксимация поверхности). Она позволяет управлять деталями отображения поверхности как в окне проекции (переключатель Viewports), так и в процессе визуализации (переключатель Renderer). Здесь вы можете определить метод мозаики (Tessellation Method) для базовой поверхности (Base Surface), края поверхности (Surface Edge) и заменяемой поверхности (Displace Surface). Вам доступны три параметра: Low (Низкий), Medium (Средний) и High (Высокий). Так, например, щелчок на кнопке Low устанавливает значения, применение которых приводит к низкокачественному отображению поверхности. В разделе Tessellation Method можно выбрать используемый метод: Regular (Постоянный), Parametric (Параметрический), Spatial (Пространственный), Curvature (Кривизна) или Spatial and Curvature (Пространственный и кривизна). Для расчета поверхности каждым методом применяется собственный алгоритм.

Значение поля Merge (Объединить) определяет максимальное расстояние между поверхностями, которые необходимо объединить для исключения пустых участков при визуализации. В большинстве случаев для достижения оптимальных результатов подходит установленное по умолчанию значение. При щелчке на кнопке Advanced Parameters (Дополнительные параметры) открывается диалоговое окно с параметрами (рис. 15.6), используемыми методами мозаики Spatial, Curvature и Spatial and Curvature. Щелчок на кнопке Clear Surface Level (Очистить уровень поверхности) приводит к исключению всех параметров разворачивающейся панели Surface Approximation.



В диалоговом окне Advanced...



Рис. 15.6. В диалоговом окне Advanced Surface Approx устанавливают дополнительные параметры NURBS-поверхности

Число используемых этапов (Steps) интерполяции можно установить в разворачивающейся панели Curve Approximation. В ней же вы найдете параметры Optimize и Adaptive, определяющие количество сегментов, необходимых для представления кривой.

В нижней части вкладки Modify располагаются еше три разворачивающиеся панели, используемые для работы с NURBS-объектами: Create Points (Создать точки), Create Curves (Создать кривые) и Create Surfaces (Создать поверхности). Расположенные в них кнопки выполняют те же функции, что и описанные далее кнопки панели NURBS Creation Toolbox.



Кнопки панели NURBS...



Рис. 15.7. Кнопки панели NURBS используются для работы с NURBS-точками, кривыми и поверхностями

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

В разделе Points расположены кнопки, используемые для создания зависимых NURBS-точек. Типы этих точек и связанные с ними кнопки описаны в табл. 15.1.



Модель ложки, созданная с помощью средства U Loft



Рис. 15.8. Модель ложки, созданная с помощью средства U Loft



Поверхность UV Loft...



Рис. 15.9. Поверхность UV Loft, созданная с помощью двух наборов кривых

Описанный метод прекрасно подходит для создания всякого рода механических форм, моделей автомобилей, космических кораблей и т.п.



Модель вазы, созданная...



Рис. 15.10. Модель вазы, созданная с помощью вращения С\'-поверхности



Стебелек, созданный...



Рис. 15.11. Стебелек, созданный с помощью средства 1-Rail Sweep



Обработка контрольных...



Рис. 15.12. Обработка контрольных вершин позволяет изменить форму NURBS-лиcma



Лепестки цветка, созданные из NURBS-поверхности



Рис. 15.13. Лепестки цветка, созданные из NURBS-поверхности

Чтобы завершить модель вазы и цветка, необходимо объединить все созданные части в одной сцене. Клонируйте и разместите листья на стебельке, а затем вставьте стебель в вазу под небольшим углом. Разместите листья где-то посередине стебелька, а лепестки — сверху. После этого можете обработать поверхность созданных объектов, применив зеркальный материал к вазе, темно-зеленый— к листьям и стебельку, а градиент розового и белого — к каждому лепестку. Окончательный вид созданной сцены после визуализации показан на рис. 15.14.



Ваза и цветок созданы из одних NURBS-объектов



Рис. 15.14. Ваза и цветок созданы из одних NURBS-объектов



Создание поверхности с помощью направляющей кривой



Создание поверхности с помощью направляющей кривой

При построении NURBS-поверхности с помощью средства 1 -Rail Sweep Surface одна NURBS-кривая задается как направляющая, а еще одна или несколько кривых определяют профиль поверхности, создаваемой вдоль направляющей. Средство 2-Rail Sweep аналогично инструменту 1 -Rail Sweep, однако в качестве направляющих использует две кривые.



Создание поверхности UV Loft



Создание поверхности UV Loft

Поверхность UV Loft может иметь еще более сложные контуры, чем U Loft. Поверхности UV Loft состоят из нескольких кривых, развернутых в двух направлениях. Для работы с этим инструментом выделите пересекающиеся кривые в том порядке, в котором они будут разворачиваться в U-направлении, после чего щелкните правой кнопкой мыши в окне проекции и затем на поперечных кривых для V-направления. Готовая поверхность состоит из пересекающихся кривых, образующих сложную NURBS-поверхность. Как и в поверхности U Loft, все кривые должны быть присоединены к одному NURBS-объекту.

На рис. 15.9 приведен пример поверхности сиденья, созданного с помощью наложения поверхности на три кривые, развернутые в U-направлении, и пять кривых, развернутых в V-направлении. Возможность использования этого средства позволяет быстро настроить контуры модели и не требует долгой повторной настройки с помощью перемещения контрольных вершин.



формирование лепестка цветка



Упражнение: формирование лепестка цветка

Продолжая работать над цветком, в данном примере попытаемся сформировать из прямоугольной NURBS-поверхности лепесток. Сначала для получения скругленной формы центральные точки поверхности необходимо немного приподнять. Затем из одного конца NURBS-прямоугольника "изваяем" форму цветущего лепестка, после чего с помощью масштабирования и клонирования создадим три остальные.

Для формирования лепестков цветка выполните описанные ниже действия.

Щелкните на кнопке категории Geometry вкладки Create и из раскрывающегося списка субкатегорий выберите элемент NURBS Surfaces. Щелкните на кнопке CV Surf и постройте NURBS-прямоугольник, введя значение 80 в полях Length и Width, а также значение 6 в полях Length CVs и Width CVs разворачивающейся панели Keyboard Entry (Ввод с клавиатуры). Щелкните на кнопке Select and Rotate (<E>) и поверните объект на 45° в окне проекции Тор. Затем перейдите во вкладку Modify и щелкните на знаке "+" слева от объекта NURBS Surface. В появившейся иерархии выберите субобъект Surface CV для активизации режима редактирования контрольных точек поверхности. Щелкните на кнопке Select and Non-Uniform Scale (<R>), ограничьте масштабирование по оси X (<F5>) и уменьшите масштаб центрального ряда контрольных точек до 86%. Это немного округлит внешние края лепестка. Выделите и перетащите шесть контрольных точек, образующих верхний край лепестка. Затем примените инструмент неоднородного масштабирования к треугольнику контрольных точек, уменьшив их масштаб до 35 % по оси Y, что "притупит" верхнюю часть лепестка. Очертите область выделения вокруг всех расположенных в центре контрольных точек (не включая точки по краям). Используя клавишу <Ctrl>, вы сможете добавлять точки в выделение, а с помощью клавиши <Alt> — удалять. Щелкните на кнопке Select and Move и в окне проекции Front переместите выделенные точки вверх по оси Y на 6 единиц, что округлит верхнюю часть лепестка. Активизируйте окно проекции Тор и выделите нижнюю половину центрального вертикального ряда контрольных точек. Щелкните на кнопке Lock Selection (или нажмите клавишу пробела) и затем в окне проекции Front с помощью средства Select and Move переместите эти точки вниз по оси Y на 7 единиц. Таким образом будет создано небольшое углубление в центре лепестка. Разблокируйте выделение. Чтобы клонировать созданный лепесток, отключите режим редактирования субобъектов и активизируйте окно проекции Тор. Выберите элемент World (Глобальная) из раскрывающегося списка Reference Coordinate System (Система координат ссылки) основной панели инструментов. Щелкните на кнопке Mirror Selected Objects (Зеркально отразить выделенные объекты) основной панели инструментов, чтобы открыть диалоговое окно Mirror: Screen Coordinates (Зеркальное отображение: координаты экрана), и создайте зеркальную копию лепестка, установив переключатели Y и Сору. Перенесите новый лепесток немного вниз по оси Y, обеспечив касание лепестков. Теперь необходимо создать еще несколько уменьшенных копий лепестков. Для этого щелкните на кнопке Select and Uniform Scale (или нажмите клавишу <R>), выделите оба лепестка в окне проекции Тор и, используя клавишу <Shift>, масштабируйте созданные копии лепестков до 40% исходных размеров. Заблокируйте выделение с помощью клавиши пробела, щелкните на кнопке Select and Rotate (<E>) и поверните два маленьких лепестка на 90°.

Созданные лепестки показаны на рис. 15.13.



построение стебелька цветка



Упражнение: построение стебелька цветка

Поскольку в предыдущем примере была создана ваза, нелишне поставить в нее цветок. Его создание начнем с построения стебелька.

Для создания точечной NURBS-поверхности с помощью одной направляющей выполните ряд действий.

В папке Chapter Example   Files на прилагаемом компакт-диске найдите файл Chap  15.zip, распакуйте его и откройте файл Flower  Stem.max. В файле находится три поперечных сечения и кривая стебелька, размешенные таким образом, что, применив к ним средство 1 -Rail Sweep, можно получить стебель цветка. Выделите длинную кривую стебелька. Откройте вкладку Modify и щелкните на кнопке Attach Multiple, в результате чего откроется диалоговое окно Attach Multiple. Выделите три круглых поперечных сечения стебелька и щелкните на кнопке Attach. Откройте разворачивающуюся панель Create Surfaces, щелкните на кнопке 1-Rail. Вместо этого можно воспользоваться кнопкой Create 1-Rail Sweep панели NURBS. Щелкните на длинной кривой, образующей стебель, затем последовательно снизу вверх — на поперечных сечениях. Щелчок правой кнопкой мыши завершит создание кривой вдоль направляющей.

Созданная вокруг стебелька поверхность показана на рис. 15.11.



создание NURBS-листа



Упражнение: создание NURBS-листа

В этом примере сначала создадим CV-плоскость, из которой затем сформируем лист NURBS-цветка. Эту процедуру необходимо выполнять на уровне контрольных точек поверхности. Для перемещения точек и придания прямоугольнику формы листа воспользуемся средством трансформации Select and Move.

Итак, для создания NURBS-поверхности из прямоугольника выполните ряд действий.

Щелкните на кнопке Geometry вкладки Create и из раскрывающегося списка субкатегорий выберите элемент NURBS Surfaces. Щелкните на кнопке CV Surf (CV-поверхность), затем в разворачивающейся панели Create Parameters введите значение 6 в поля Length CVs и Width CVs и установите флажок Generate Mapping Coords. Щелкните внутри окна проекции Тор и создайте NURBS-поверхность. В разворачивающейся панели Create Parameters введите значение 180 в полях Length и Width. Затем поверните NURBS-поверхность в окне Тор на 45° относительно оси Z, используя средство Select and Rotate. Теперь поверхность будет иметь форму ромба. Выделите NURBS-поверхность и, перейдя во вкладку Modify, щелкните на знаке "+" слева от объекта NURBS Surface, чтобы активизировать режим редактирования субобъектов. Щелкните на субобъекте Surface CV. В окне проекции Тор отобразится решетка контрольных точек. Щелкните на кнопке Select and Non-Uniform Scale (или нажмите клавишу <R>), ограничьте ее действие по оси X (<F5>) и перетащите средний горизонтальный ряд контрольных точек. Уменьшите их масштаб до 85%. Выделите три средних ряда контрольных точек (включая только что масштабированную) и уменьшите их масштаб до 90%. Затем выделите пять средних рядов и уменьшите их масштаб до 90%. В результате внешние контуры NURBS-поверхности немного округлятся. На этом этапе в окне проекции Front вы увидите край NURBS-поверхности. Максимизируйте это окно проекции, щелкните на кнопке Select and Rotate, ограничьте вращение по оси Z и выделите правую половину контрольных точек (средний столбец точек не включайте в выделение). Поверните контрольные точки вверх на 60°. Повторите процедуру поворота для левой половины контрольных точек, снова оставив неизменным средний столбец. Теперь лист должен принять форму буквы U. Щелкните на кнопке Select and Move (<W>), ограничьте движение по оси Y (<F6>), выделите центральный ряд контрольных точек и переместите их вниз на 40 единиц, в результате чего форма листа станет подобной букве V.

Завершенный вариант NURBS-листа с контрольной решеткой показан на рис. 15.12.



создание NURBS-модели ложки



Упражнение: создание NURBS-модели ложки

Наложение поверхности на набор пересекающихся кривых — один из способов создания NURBS-поверхности. Поэтому в данном примере для моделирования ложки воспользуемся 10 пересекающимися кривыми, а затем средством U Loft для "обтягивания их кожей" и получения завершенной поверхности.

Чтобы создать NURBS-модель ложки с помощью средства U Loft, выполните ряд действий.

В папке Chapter Example Files на прилагаемом компакт-диске найдите файл Chap 15 . zip, распакуйте его и откройте файл U-Loft Spoon.max. В файле содержится 10 пересекающихся точечных NURBS-кривых, выровненных в соответствии с шаблоном ложки. Выделите одну из кривых и откройте вкладку Modify. В разворачивающейся панели General щелкните на кнопке Attach Multiple, открыв одноименное диалоговое окно. Щелкнув на кнопке All, выделите все кривые, затем с помощью кнопки Attach присоедините к первой выделенной кривой остальные. Теперь модель готова к наложению U-поверхности. Щелкните на кнопке NURBS Creation Toolbox (или нажмите <Ctrl+T>) разворачивающейся панели General, чтобы открыть панель NURBS. Щелкните на кнопке Create U Loft Surface раздела Surfaces; рядом с указателем мыши появится пиктограмма U Loft Surface. (Обратите внимание, когда вы помещаете указатель мыши на поперечное сечение, он преобразуется в крестик, а цвет кривой изменяется на синий.)

Для создания этой поверхности можно также воспользоваться кнопкой U Loft разворачивающейся панели Create Surfaces.

Щелкните на самом малом поперечном сечении у основания ложки и, перетащив указатель до ближайшей кривой, щелкните еще раз. Это приведет к созданию первой части накладываемой NURBS-поверхности, что и отобразится зелеными изопараметриче-скими линиями внутри окна проекции. Продолжайте последовательно щелкать на кривых, пока не покроете поверхностью всю модель. Затем щелкните правой кнопкой мыши для выхода из режима наложения. Теперь замкните концы модели, для чего вернитесь к панели NURBS, щелкните на кнопке Create Cap Surface и последовательно щелкните на каждой крайней кривой.

Завершенная NURBS-модель ложки показана на рис. 15.8.



создание вазы посредством вращения CV-кривой



Упражнение: создание вазы посредством вращения CV-кривой

В этом примере воспользуемся CV-формой определенного профиля, а затем применим к ней модификатор Lathe. Это позволит получить отличную модель вазы. Чтобы построить фигуру вращения, выполните описанные ниже действия.

В папке Chapter Example Files на прилагаемом компакт-диске найдите файл Chap 15 . zip, распакуйте его и откройте файл Lathed NURBS Vase .max. В файле содержатся две CV-кривые, вращая которые нам и предстоит создать вазу. Выделите одну из CV-кривых, откройте вкладку Modify и щелкните на кнопке Lathe разворачивающейся панели Create Surfaces (или на кнопке Create Lathe Surface панели NURBS). В нижней части вкладки Modify появится разворачивающаяся панель Lathe Surface. Введите значение 360 в поле Degrees и щелкните на кнопке оси Y. Затем щелкните на каждой CV-кривой, чтобы завершить построение фигуры вращения. Для выхода из режима вращения щелкните еще раз на кнопке Lathe.

Окончательный вариант вазы, созданной с помощью модификатора Lathe, показан на рис. 15.10.



Вращение NURBS-поверхности



Вращение NURBS-поверхности

Вращение NURBS-кривой выполняется подобно вращению сплайна с помощью модификаторов. Для этого достаточно выделить кривую, щелкнуть на кнопке Lathe разворачивающейся панели Create Surface (или на кнопке Create Lathe Surface панели NURBS) и еще раз щелкнуть на кривой. Впоследствии можно изменить значение поля Degrees (Градусы) и выбрать ось вращения в разворачивающейся панели Lathe Surface, отображаемой ниже панели Create Surfaces во вкладке Modify.