Основы работы со сплайнами. Моделирование с помощью сплайнов

Как мы выяснили в предыдущих уроках, даже взятые за основу примитивы позволяют путем ряда нехитрых манипуляций создавать разные трехмерные тела — от абстрактных объектов до полностью реальных моделей. Еще большие перспективы открываются при использовании в качестве исходных объектов форм (Shapes), которые представляют собой набор двумерных или трехмерных кривых. Формы объединяют два типа объектов — Splines (Сплайны) и NURBS Curves (Кривые NURBS). Рассмотрим в этом уроке сплайны, так как они популярнее и чаще используются в моделировании. Однако мы изучим только самые простые приемы работы со сплайнами, а вопросы сплайнового моделирования оставим для следующих уроков.

Что такое сплайны

Сплайны (Spline — кусочно-полиномиальная функция) — это двумерные геометрические объекты, которые совершенно самостоятельны и могут служить основой для построения более сложных трехмерных тел. Внешне сплайны представляют собой разнообразные линии, форма линии определяется типом вершин, через которые она проходит. Сплайнами могут быть как простейшие геометрические фигуры: прямоугольники, звезды, эллипсы и пр., так и сложные ломаные или кривые, а также контуры текстовых символов.

Основными элементами сплайнов являются вершины (Vertex ) и сегменты (Segment ). Вершинами называют точки, расположенные на сплайне, при этом первая вершина, обозначающая начало сплайна, отмечается квадратиком белого цвета. Под сегментом принято понимать участок линии сплайна, ограниченный двумя соседними вершинами, — сегменты могут быть как прямо-, так и криволинейными отрезками. Вершины сплайна различаются по типу, от которого зависит степень кривизны прилегающих к данным вершинам сегментов сплайна. Всего выделяют четыре типы вершин (рис. 1):

  1. Corner (Угловая) — вершина, в которой сплайн имеет излом, а примыкающие к ней сегменты лишены кривизны.
  2. Smooth (Сглаженная) — вершина, через которую кривая сплайна проводится с плавным изгибом, а кривизна прилегающих к вершине сегментов одинакова с обеих сторон.
  3. Bezier (Безье) — вершина, напоминающая сглаженную и отличающаяся от нее возможностью управления степенью кривизны обоих сегментов. Последнее осуществляется благодаря наличию в вершине касательных векторов, ограниченных на концах маркерами в виде квадратиков зеленого цвета и называемых ручками Безье. Перемещая ручки Безье, можно изменять направление, в соответствии с которым сегменты сплайна входят в вершину и выходят из нее, а изменяя расстояние от маркеров до вершины — регулировать степень кривизны сегментов сплайна. У вершин данного типа ручки Безье связаны между собой, и перемещение одной из них автоматически вызывает перемещение второй.
  4. Bezier Corner (Безье угловая) — вершина, имеющая касательные векторы, позволяющие управлять степенью кривизны сегментов, однако, в отличие от вершин Bezier, у вершин Bezier Corner касательные векторы не связаны друг с другом и перемещение одного из маркеров не зависит от перемещения другого.

Сегменты также различаются по типу: Curve (Кривая) или Line (Линия). Выбрав типа Curve, можно получить криволинейные сегменты, если вершины являются гладкими или имеют тип Безье, в случае же угловых вершин даже при установке типа Curve сегмент останется линейным. Выбор типа Line приводит к игнорированию типа вершин, в результате чего сегмент данного типа всегда выглядит линейным.

Создание сплайнов

Вначале мы поэкспериментируем с простейшими сплайнами, представляющими собой обычные геометрические фигуры. Активизируйте категорию объектов Shapes (Формы) командной панели Create (Создание), в списке разновидностей объектов укажите тип Splines (Сплайны). Это приведет к появлению на панели группы инструментов, соответствующих типам сплайнов (рис. 2). Для построения стандартных сплайнов используются инструменты Rectangle (Прямоугольник), Circle (Окружность), Ellipse (Эллипс), Arc (Дуга), Donut (Кольцо), NGon (N-угольник), Star (Звезда), Text (Текст), Helix (Спираль) и Section (Сечение). Их построение аналогично созданию примитивов, а расположение вершин и характер любого из названных объектов устанавливаются параметрами в момент создания в панели Create (Создание), а позже — в панели Modify (Изменение). Инструмент Line (Линия) предназначен для создания сплайнов нестандартного вида и работает несколько иначе.

Геометрические фигуры

Для примера попробуйте создать несколько стандартных сплайнов в виде геометрических фигур, например многоугольник, звезду и спираль, как показано на рис. 3. Попробуйте провести рендеринг, выбрав команду Rendering=>Renderer и щелкнув на кнопке Render . Подробно с данным процессом мы познакомимся позднее, а пока просто поясним, что рендеринг обычно проводится на заключительном этапе работы, он необходим для визуализации созданной модели и его основная задача — сделать модель максимально приближенной к действительности. Проведя рендеринг, никакого изображения в открывшемся окне вы не увидите — дело в том, что по умолчанию сплайны не рендеризируются. Для того чтобы сделать их видимыми во время рендеринга выделите первый сплайн, активизируйте панель Modify (Изменение) и в свитке Rendring Renderable (Визуализируемый). Аналогичную операцию проведите в отношении двух других сплайнов и вновь выполните рендеринг — сплайны станут видимыми (рис. 4).

Пока все сплайны имеют одинаковую толщину, что несложно исправить, изменив у каждого из них в свитке Rendring (Рендеринг) значение параметра Thickness (Толщина). Обратите внимание на свиток Parameters (Параметры), в котором определяются основные параметры каждого типа сплайнов: размеры, число вершин и пр. Для тренировки увеличьте толщину каждого из сплайнов, измените число вершин у многоугольника и звезды и увеличьте количество витков на спирали, например так, как показано на рис. 5, 6 и 7. Обратите внимание, что в окнах проекций отразились все изменения, кроме увеличения толщины сплайнов, которая осталась прежней, — ничего страшного, все так и должно быть, поскольку по умолчанию опция Display Render Mesh (Показать визуализируемый каркас) отключена. Убедиться в том, что толщина реально изменилась, можно проведя рендеринг (рис. 8) или просто включив данный флажок. Поэкспериментируйте с прочими параметрами сплайнов, поперемещайте их относительно друг друга и попытайтесь на их основе создать единую композицию, например такую, как продемонстрирована на рис. 9.

Текст

Для создания текста перезагрузите файл командой File=>Reset (Файл=>Сбросить), на панели Create (Создание) вновь выберите тип Splines (Сплайны) и активизируйте инструмент Text (Текст). В открывшемся свитке параметров создания сплайна введите нужный текст, выберите шрифт и установите его параметры (рис. 10). Затем щелкните в одном из окон проекций — это приведет к появлению фрагмента текста (рис. 11).

Перед проведением рендеринга переместите текст так, чтобы он весь оказался в поле зрения, активизируйте панель Modify (Изменение), в свитке Rendring (Рендеринг) установите флажок Renderable Thickness (Толщина), например до 10. Проведите рендеринг и убедитесь, что даже такие простые манипуляции позволяют получить интересный вариант трехмерного текста (рис. 12).

Линии

Создавая предыдущие виды сплайнов, мы не обращали внимание на вершины и сегменты — более того, даже не вспоминали про разные типы вершин. Со сплайнами-линиями все обстоит иначе — в зависимости от особенностей построения кривой они будут дополняться вершинами разного типа. Щелчки левой кнопкой в окне проекции при выбранном инструменте Line (Линия) будут приводить к появлению новой угловой точки (Corner ), а перемещение мыши при нажатой левой кнопке — к появлению вершины Безье (Bezier ). Данный принцип создания вершин установлен по умолчанию, и при необходимости его можно изменить в свитке Creation Method (Метод Создания) на панели Create (Изменение) — рис. 13. Для этого достаточно сменить положение переключателей Initial Type (Тип вершин при щелчке) и Drag Type (Тип вершин при перетаскивании). Отметим, что в большинстве случаев не стоит менять методы создания вершин (чтобы не путаться) — гораздо удобнее взять за основу устанавливаемый по умолчанию принцип и вначале создавать контуры только с угловыми вершинами, а затем изменять тип у тех вершин, у которых это необходимо сделать.

Щелчок правой кнопкой приводит к завершению рисования сплайна из линий. При попытке поставить вершину в месте нахождения начальной точки сплайна на экране появляется вопрос «Close Spline? » («Закрыть сплайн?») — утвердительный ответ приведет к получению замкнутого контура, в противном случае контур окажется разорванным и его граничные вершины можно будет независимо перемещать.

Теоретически существует и второй метод создания сплайна из линий — режим Keyboard Entry (Ввод с клавиатуры), который предполагает ввод координат (X, Y и Z) каждой из вершин вручную с клавиатуры (рис. 14). Непосредственное добавление каждой новой вершины осуществляется кнопкой Add Point (Добавить вершину), кнопка Finish (Закончить) позволяет закончить создание сплайна, а кнопка Close (Замкнуть) создает сегмент, соединяющий первую вершину с последней.

Чтобы закрепить навыки работы со сплайнами-линиями, попробуйте создать сплайн, представленный на рис. 15, и сохраните его на диске — в дальнейшем мы превратим его в рюмку. Обратите внимание, что данный сплайн содержит только угловые вершины. Удобнее всего начинать создание контура с правой нижней вершины (на контуре она отмечена белым квадратиком) и, учитывая, что большинство сегментов соединяются друг с другом под прямым углом, удерживать нажатой при построении данных фрагментов контура клавишу Shift (это обеспечит формирование идеальных углов).

Составные сплайновые формы

Два типа стандартных сплайновых форм — Donut (Кольцо) и Text (Текст) — принципиально отличаются от всех остальных типов сплайнов тем, что содержат более одного сплайна в форме и потому относятся к составным формам. Кольцо содержит два круговых сплайна. Число простых сплайнов, составляющих текстовый объект, как минимум совпадает с числом входящих в него букв, а может быть и больше, если в тексте присутствуют буквы, состоящие из нескольких сплайнов. Основным преимуществом составного сплайна по сравнению с обычным сплайном является возможность выполнять операции сразу над всеми частями сплайновой формы одновременно, что быстрее и удобнее. Но дело не только в этом — к составным формам приходится прибегать и в других случаях, например при необходимости проведения в отношении сплайнов булевой операции.

Для превращения простого сплайна в составной необходимо убрать флажок рядом с кнопкой Start New Shape (Начать новую форму) — рис. 16. После этого любой новый сплайн становится составной частью уже существующей сплайновой формы. Включение названного флажка отменит данный режим, и следующие сплайны уже будут образовывать свои формы.

Попробуем создать имитацию простой решетки в виде составного сплайна — такие решетки сплошь и рядом используют при создании разнообразных ограждений. Для начала создайте сплайн типа Rectangle (рис. 17), а затем перейдите в режим создания составной формы, отключив флажок Start New Shape (Начать новую форму). Добавьте к прямоугольнику дугу инструментом Arc (рис. 18). Обратите внимание, что для совмещения концов дуги с контуром прямоугольника удобнее воспользоваться ручным изменением параметров From (От) и To (В), определяющих начальную и конечную точки дуги. Не включая флажка Start New Shape , дополните форму серией линий примерно как на рис. 19.

Рис. 19. Появление группы линий

Щелкните на свободной части любого окна проекций, чтобы снять выделение с решетки, а затем выделите ее инструментом Select Object (Выделение объекта) — решетка выделится вся целиком, что говорит о ее единстве. Это позволит настроить параметры сразу для всех входящих в форму сплайнов, что очень удобно. Активируйте панель Modify (Изменение), в свитке Rendring (Рендеринг) установите флажок Renderable (Визуализируемый) и увеличьте значение параметра Thickness (Толщина). Проведите рендеринг — возможно, полученная решетка будет иметь примерно такой вид, как на рис. 20. Однако решетка получилась неидеальной, поскольку разбить дугу на одинаковое число сегментов на глаз проблематично. Для подобных целей лучше использовать возможности автоматического разбиения сегментов на заданное число равных частей, но это предполагает редактирование формы на уровне подобъектов, поэтому к вопросу создания решетки мы еще вернемся.

Кроме того, не совсем удачно выбран принцип установки толщины — в реальной решетке ее прямоугольное основание, как правило, имеет гораздо большую толщину, чем отдельные прутья. Чтобы учесть данный аспект, необходимо создавать решетку из отдельных сплайнов или редактировать ее потом на уровне сегментов.

Редактирование сплайнов

Сплайны могут редактироваться на двух уровнях — на уровне параметрической формы и на уровне подобъектов: вершин, сегментов, а также сплайнов, если речь идет о составном сплайне.

Редактирование на уровне параметрической формы, или объекта, осуществляется обычным образом при активировании панели Modify (Изменение) и позволяет присоединять к сплайну другие сплайны и изменять ряд параметров сплайна, заданных при его создании (рис. 21).

Редактирование сплайнов на уровне подобъектов позволяет превратить даже самый простой сплайн в сложный объект практически любой конфигурации, так как число доступных преобразований не идет ни в какое сравнение с перечнем возможностей при редактировании на уровне объекта в целом (рис. 22). Чтобы сплайн можно было редактировать на уровне подобъектов, он должен быть преобразован в объект типа Editable Spline (Редактируемый сплайн) при помощи команды Convert To=>Convert to Editable Spline (Конвертировать в=>Конвертировать в редактируемый сплайн). Такой объект перестает быть параметрическим — его уже нельзя будет редактировать на уровне параметров, изменяя ширину, высоту, радиус и пр., но зато он может модифицироваться на уровне вершин и сегментов.

Выбор нужного уровня подобъектов осуществляется щелчком по соответствующей кнопке в свитке Selection панели Modify . Для выбора самих подобъектов используются обычные инструменты выделения: Select Object (Выделить объект), Select and Move (Выделить и передвинуть), Select and Scale (Выделить и масштабировать), Select and Rotate (Выделить и повернуть) и Selection Region (Форма области выделения) для выделения областей определенной формы. При необходимости последовательного выделения нескольких объектов при выделении удерживают нажатой клавишу Ctrl .

Основные инструменты изменения геометрии подобъектов: вершин (Vertex ), сегментов (Segment ) и сплайнов в целом (Spline ) — находятся в свитке Geometry (Редактировать геометрию), который становится доступным при активировании панели Modify (Изменение). Управление типом подобъектов осуществляется через контекстное меню.

Изменение типа подобъектов

На практике чаще всего приходится менять типы вершин, выбирая нужный тип из четырех возможных: Corner (Угловая), Smooth (Сглаженная), Bezier (Безье) и Bezier Corner (Безье угловая). Гораздо реже требуется изменять типы сегментов или сплайнов — здесь есть всего два варианта: Curve (Кривая) и Line (Линия). Смена типа производится через контекстное меню, вызываемое при нажатии правой кнопки на выделенных объектах, при этом текущий тип всегда отмечен галочкой, а для его изменения достаточно выбрать любой другой тип подобъекта.

Для примера инструментом Line (Линия) создайте ломаную из двух отрезков (рис. 23), прощелкав левой кнопкой мыши все три ее вершины, — обратите внимание, что в обычном режиме вершины ломаной не выделены специальными значками. Перейдите в режим редактирования вершин — это приведет к отображению на ломаной трех ее вершин: точка начала окажется отмеченной белым квадратиком, а две другие точки — крестиками (рис. 24). Щелкните на средней вершине правой кнопкой мыши и увидите в открывшемся контекстном меню галочку у слова Corner (рис. 25) — это доказывает, что вершина действительно угловая. Измените тип данной вершины на Bezier (Безье) — вид контура тут же изменится (рис. 26).

Редактирование на уровне вершин

При редактировании на уровне вершин наибольший интерес в свитке Geometry (Редактировать геометрию) представляют следующие операции:

  • Refine (Уточнить) — позволяет добавлять дополнительные вершины без изменения контура сплайна, что может потребоваться для последующего разрыва сплайна в данной точке;
  • Break (Разбить) — позволяет разорвать контур в любой выделенной вершине, при этом образуются две совпадающие, но все же раздельные вершины;
  • Insert (Вставить) — дает возможность вставить вершину в любой точке сплайна, сразу же переместить ее и продолжить добавление новых вершин;
  • Delete (Удалить) — используется для удаления выделенных вершин;
  • Weld (Слить) — отвечает за объединение двух выделенных концевых или совпадающих вершин в одну с учетом значения параметра Weld Threshold (Порог слияния), задающего расстояние, при котором совпадающие вершины будут объединяться;
  • Fuse (Приблизить) — позволяет приблизить выделенные точки друг к другу, применение данной операции полезно перед свариванием вершин при помощи операции Weld;
  • Connect (Соединить) — осуществляет соединение двух вершин на концах разомкнутого сплайна отрезком прямой;
  • Fillet (Скруглить) — позволяет скруглять любые углы;
  • Chamfer (Фаска) — отвечает за снятие прямой фаски с любого угла.

Для примера создайте сплайн в виде звезды (рис. 27). Чтобы получить доступ к редактированию вершин, превратите его в редактируемый сплайн, щелкнув правой кнопкой мыши на сплайне и выбрав команду Convert To=>Convert to Editable Spline (Конвертировать в=>Конвертировать в редактируемый сплайн). Последовательно при нажатой клавише Ctrl выделите все внешние вершины звезды, а затем щелкните на кнопке Fillet и скруглите вершины так, чтобы звезда превратилась в цветок (рис. 28). Выделите все внутренние вершины и сведите их в одну точку, щелкнув на кнопке Fuse, а затем объедините при помощи операции Weld (рис. 29). И напоследок попробуйте сделать лепестки более округлыми при помощи операции Fillet (рис. 30). Полученный результат показан на рис. 31.

А теперь более сложное задание: откройте ранее созданный файл с заготовкой для рюмки. Перейдите в режим редактирования вершин, активизировав панель Modify (Изменение) и щелкнув на кнопке Vertex (Вершины). Масштабируйте изображение, а затем проверьте, все ли вершины находятся на своих местах, и при необходимости переместите ту или иную вершину инструментом Select and Move (Выделить и переместить) так, чтобы все сегменты находились относительно друг друга под нужными углами.

Выделите указанную на рис. 32 вершину и измените ее тип на Bezier Corner (Безье угловая), указав его в контекстном меню. Измените степень кривизны прилегающего к данной вершине сегмента примерно так, как показано на рис. 33. Выделите указанную на рис. 34 вершину и скруглите соответствующий угол, щелкнув на кнопке Fillet (Скруглить) и постепенно изменяя значение параметра в поле соответствующего счетчика или перемещая вершину мышью (рис. 35). Аналогичным образом скруглите угол при вышерасположенной вершине (рис. 36). Превратите указанную на рис. 37 вершину в вершину типа Bezier Corner (Безье угловая), а затем измените кривизну прилегающих к вершине сегментов в соответствии с рис. 38.

Добавьте к контуру дополнительную вершину, нажав в свитке Geometry (Геометрия) на кнопке Refine (Уточнить) и щелкнув в том месте контура, где должна появиться новая вершина (рис. 39). Обратите внимание, что в режиме добавления точек к контуру при попадании мыши на контур вид курсора меняется — в это время и следует щелкать. Щелкните еще раз на кнопке Refine для перехода в обычный режим редактирования. Превратите указанную на рис. 40 точку в угловую Безье, а затем измените кривизну прилегающего к точке сегмента (рис. 41).

Попробуем на основе данного сплайна создать тело вращения, то есть модель, имеющую центральную осевую симметрию. В следующих уроках мы познакомимся с самыми разными примерами превращения сплайновых форм в трехмерные модели, а пока ограничимся телом вращения как самым простым способом моделирования. Создаются такие модели путем вращения сплайна вокруг произвольной оси, а для проведения данной операции используется модификатор Lathe (Вращение).

Примените к построенному сплайну модификатор Lathe (Вращение), для чего выполните из главного меню команду Modifiers=>Patch/Spline Editing=>Lathe (Модификаторы=>Редактирование патчей/сплайнов=>Вращение). Обратите внимание, что список Modifier List пополнился строкой Lathe . Для настройки варианта вращения в группе Align (Выравнивание) свитка Parameters (Параметры) щелкните на кнопке Max (Максимум), в группе Output (Вывод) выберите вариант Patch (Патч), в группе Direction (Направление оси) выберите вариант Y (рис. 42). Перейдите в проекцию Perspective и, не снимая выделения с объекта в свитке Parameters (Параметры), включите флажок Flip Normals (Нормальный поворот) — вы увидите примерно такую же рюмку, как показана на рис. 43.

Редактирование на уровне сегментов

Редактирование сплайнов на уровне сегментов позволяет:

  • разбивать сплайн на отдельные части — операция Break (Разбить);
  • добавлять новые вершины к существующим сегментам — операция Refine (Уточнить);
  • отделять сегменты, преобразуя их в самостоятельные формы, — Detach (Отделить);
  • удалять сегменты — операция Delete (Удалить);
  • добавлять указанное количество вершин на выделенном сегменте, разбивая его при этом на равные части, — операция Divide (Разделить).

Чтобы потренироваться в редактировании на уровне сегментов, вернемся к решетке и попробуем смоделировать ее снова — с учетом выявленных ошибок. Для этого вновь создайте сплайн-прямоугольник и дополните его дугой (рис. 44). Перейдите в режим редактирования сегментов, выделите показанный на рис. 45 сегмент. Затем щелкните на кнопке Divide (Разделить), предварительно указав в находящемся рядом с кнопкой поле число добавляемых вершин (рис. 46). Аналогичную операцию выполните в отношении левой стороны прямоугольника и для каждого из сегментов дуги (рис. 47).

Включите привязку к вершинам — это обеспечит в дальнейшем идеальное совпадение вершин при добавлении новых сплайнов. Для этого щелкните в основной панели инструментов правой кнопкой на инструменте Snaps Toggle (Переключатель привязки), на вкладке Snaps (Привязки) включите флажок Vertex (Вершины), а затем левой кнопкой вновь щелкните на Snaps Toggle для активации режима. Перейдите в режим редактирования вершин и включите опцию добавления линий, щелкнув на кнопке Greate Line (Создать линию). Отличие данного инструмента от инструмента Line (Линия) состоит в том, что новые линии будут автоматически добавляться к редактируемому сплайну. Начинайте создавать нужные линии. Обратите внимание, что при приближении к вершине маркер мыши превращается в голубой крестик (рис. 48). Готовая решетка представлена на рис. 49 — расстояние между прутьями решетки теперь одинаковое, а вершины совпадают с границами решетки. Чтобы основание решетки было толще, чем отдельные прутья, разбейте форму на два отдельных сплайна: рамку и прутья решетки. Перейдите в режим редактирования сегментов, выделите сегменты рамки и щелкните на кнопке Detach (Отделить) — выделенные сегменты превратятся в самостоятельные объекты. Затем выделите рамку и установите для нее одну толщину, а для прутьев — другую, проведите рендеринг. Полученная в итоге решетка показана на рис. 50.

Редактирование на уровне сплайнов

Редактирование на уровне сплайнов позволяет:

  • объединять сплайны — операция Attach (Присоединить);
  • создавать вдоль сплайнов контуры указанной ширины — операция Outline (Контур);
  • зеркально отражать сплайны по вертикали, горизонтали или по диагонали — операция Mirror (Отражение);
  • менять местами у сплайнов начальную и конечную точки — операция Reverse (Перевернуть);
  • применять к сплайнам различные модификаторы, выполнять над сплайнами булевы операции — операция Boolean (Булевые) и пр.

Чтобы разобраться в нюансах редактирования форм на уровне сплайнов, попробуем создать модель оконной рамы. Для начала создайте сплайн-прямоугольник, конвертируйте его в редактируемый сплайн (команда Convert To=>Convert to Editable Spline — Конвертировать в=>Конвертировать в редактируемый сплайн). Перейдите в режим редактирования сплайнов и для имитации толщины рамы создайте вокруг контура обводку, щелкнув на кнопке Outline (Контур), с параметрами смещения порядка 5-10 (рис. 51). Внутренние перегородки окна создайте в виде сплайнов-линий и дополните их точно такими же контурами (рис. 52). Обратите внимание, что фрагменты рамы находят друг на друга — это необходимое условие для проведения булевых операций (подробно мы рассмотрим их в одном из следующих уроков, а пока ограничимся одним экспериментом). Проведите рендеринг, включив необходимые параметры, и увидите, что пока рама выглядит совсем не так, как хотелось бы, — все наезжающие друг на друга контуры видны (рис. 53).

Теперь нужно объединить отдельные сплайны в единую форму. Выделите саму раму, перейдите в режим редактирования сплайнов, щелкните на кнопке Attach (Присоединить), а затем сначала на одной внутренней перекладине, а затем на второй — форма станет единой. В режиме редактирования сплайнов выделите внутреннюю часть рамы (рис. 54), активизируйте кнопку Subtraction (Исключение), щелкните на кнопке Boolean (Булевые), а затем по горизонтальной перемычке. Это приведет к объединению рамы с горизонтальной перекладиной (рис. 55). Вновь выделите внутреннюю часть рамы и выполните те же самые действия, указав вместо горизонтальной перегородки вертикальную, проведите рендеринг и получите уже единый оконный блок (рис. 56).

Рис. 55. Результат первой булевой операции

И напоследок попробуем создать заготовку для трехмерного логотипа Windows. Инструментом Arc создайте дугу (рис. 57), сделайте копию дуги и разместите ее чуть выше (рис. 58). Конвертируйте любую из дуг в редактируемый сплайн и перейдите в режим редактирования вершин. Активируйте кнопку Attach (Присоединить) и укажите в качестве присоединяемой вторую дугу — в результате дуги станут отдельными сплайнами единой формы (рис. 59). Соедините начальные и конечные точки обеих дуг. Для этого в режиме редактирования вершин щелкните на кнопке Connect (Соединить), установите мышь на первую вершину, нажмите левую кнопку и, не отпуская ее, протяните отрезок ко второй вершине. Затем ту же самую операцию проведите для двух других вершин (рис. 60).

Примените ко всей форме модификатор Extrude (Выдавливание), выбрав из главного меню команду Modifiers=>Mesh Editing=>Extrude (Модификаторы=>Редактирование сеток=>Выдавливание) и экспериментальным путем подобрав нужное значение параметра Amount. Результатом станет объемная выпуклая поверхность, как на рис. 61. Обратите внимание, что список Modifier List пополнился строкой Extrude . Сделайте копию данной формы и разместите обе формы как показано на рис. 62. Попеременно работая инструментами Select and Move (Выделить и передвинуть) и Select and Rotate (Выделить и повернуть), измените положение клонированной поверхности в соответствии с рис. 63. Сделайте копию обеих поверхностей и расположите все четыре поверхности так, как они размещаются на логотипе Windows . По окончании подберите цвета — результат показан на рис. 64.

Моделирование форм сплайнами 3Ds MAX®

Для создания более сложных и реалистичных видов геометрии не всегда хватает набора инструментов из описанных ранее групп примитивов Мах. Такие объекты, как телефонная трубка, фигурная рюмка, стена с дверными и оконными проемами и многие другие едва ли могут быть выполнены набором объектов Standard (Стандартный) и Extended (Расширенный).

Для этого требуются более сложные методы моделирования - Лофтинг или Формование, Вращение, Выдавливание, Булевые операции. Почти все эти процедуры требуют создания исходных объектов, называемых Shapes (Формы) , которые представляют собой набор двумерных или трехмерных кривых. Эта категория состоит из двух групп объектов - Splines (Сплайнов) и NURBS Curves (Кривых NURBS). Рассмотрим первую из них, как наиболее распространенную и чаще всего используемую группу.

Любая кривая представляет собой набор Vertices (Вершин) соединенных Segments (Сегментами) - прямо- и криволинейными отрезками. Совокупность сегментов составляет Spline (Сплайн) , которые в свою очередь и образуют Shape (Форму) . Понятия Vertex (Вершина), Segment (Сегмент) и Spline (Сплайн) составляют уровень Sub-Object (Подобъекта) кривых типа Spline и позволяют редактировать их. Остановимся на подобъектах и особенностях их моделирования сплайнами .
Все виды сплайнов сосредоточены в одноименной группе из раскрывающегося списка панели Create и вызываются кнопкой Shapes (Формы). Для начала рисования сплайнов необходимо выбрать нужный инструмент левым щелчком на соответствующей кнопке. В результате появится набор свитков с настраиваемыми параметрами, разный для каждого типа сплайна. Далее необходимо задать общие для всех типов настройки в свитках Interpolation (Интерполяции) и Rendering (Визуализация) .

Первая из них регулирует число промежуточных вершин криволинейных сегментов. Чем больше значение счетчика Steps (Число Шагов), тем более плавными будут кривые. Для включения режима автоматического подбора кривизны служит флажок Adaptive (Адаптивный), а для отмены деления промежуточными вершинами прямолинейных отрезков сплайнов предназначен флажок Optimize (Оптимизация). Обычно состояние последнего следует установить во включенное.
Настройки группы Rendering (Визуализация) задают режим видимости сплайна при обсчете сцены. Все объекты этого типа по умолчанию не визуализируются, однако в некоторых случаях удобно использовать и иную возможность. Для этого флажок Renderable (Визуализируемый) следует включить и счетчиком Thickness (Толщина) задать толщину сплайна. Эту величину можно прочувствовать только серией пробных обсчетов сцены, сделанных при разном значении счетчика Thickness (Толщины). И последний флажок, Generate Mapping Coords (Задать Проецирование), необходим при использовании сплайном материала с применением карт текстуры, о чем мы подробнее остановимся в главе «Материалы».

(0)
Общие функции
1. Интерфейс 3Ds MAX® 2010 2:41 7 47007
2. Видовые окна 3:03 0 17440
3. Режимы отображения объектов 3:29 0 25401
4. Горячие клавиши 1:16 0 18416
5. Выделение объектов 1:27 0 10001
6. Подобъекты 1:14 0 8814
7. Настройки видимости объектов 1:40 0 15678
8. Копирование объектов 1:53 0 16341
9. Группировка объектов 2:39 0 17852
10. Опорные точки 1:37 0 11132
Моделирование объектов
11. Создание простых объектов (примитивов) 3:05 0 21381
12. Модификаторы 3Ds MAX® 2:35 0 14825
13. Создание сферы 3:22 1 10167
14. Создание коробки 2:13 0 9716
15. Создание цилиндра 1:14 0 7045
16. Фаски в 3Ds MAX® 1:56 1 12369
17. Сплайны в 3Ds MAX® 3:38 0 20847
18. Сплайн Линия 2:58 0 24091

Один из эффективных способов создания трехмерных моделей - использование техники сплайнового моделирования. В конечном итоге создание модели при помощи сплайнов (трехмерных кривых) сводится к построению сплайнового каркаса, на основе которого создается огибающая трехмерная геометрическая поверхность.

Cп лайновые примитивы

Онлайновые примитивы представляют собой такой же рабочий материал, как и простейшие трехмерные объекты, создаваемые в 3ds max 7. Онлайновый инструментарий программы включает в себя следующие фигуры (рис. 3.38):

Рис. 3.38. Сп лайновые формы

  • Line (Линия);
  • Circle (Окружность);
  • Arc (Дуга);
  • NGon (Многоугольник);
  • Text (Онлайновый текст);
  • Section (Сечение);
  • Rectangle (Прямоугольник);
  • Ellipse (Эллипс);
  • Donut (Кольцо);
  • Star (Многоугольник в виде звезды);
  • Helix (Спираль).

Чтобы создать сплайновый объект, перейдите на вкладку Create (Создание) командной панели в категорию Shapes (Формы), выберите строку Splines (Сплайны) и нажмите кнопку создаваемого примитива. Все сплайновые примитивы имеют схожие настройки. Например, каждый описанный объект имеет два обязательных свитка настроек: Rendering (Визуализация) и Interpolation (Интерполяция) (рис. 3.39).

Рис. 3.39. Два общих свитка настроек всех онлайновых примитивов

По умолчанию сплайновые примитивы не отображаются на этапе визуализации и используются как вспомогательные объекты для создания моделей со сложной геометрией. Однако любой сплайновый примитив может выступать в сцене как самостоятельный объект. За отображение объекта в окне проекции и на этапе визуализации отвечает свиток настроек Rendering (Визуализация). Если установить флажок Renderable (Визуализируемый), объект на этапе визуализации становится видимым. Включенный параметр Display Render Mesh (Показывать сетку визуализации) позволяет визуализировать сплайновый примитив в окне проекции с учетом толщины сплайна, которая регулируется параметром Thickness (Толщина). Создаваемый сплайн характеризуется также количеством сторон Sides (Количество сторон) и углом их расположения Angle (Угол). Минимальное количество сторон сплайна - 3 (такой сплайн имеет треугольное сечение). Свиток настроек Interpolation (Интерполяция) определяет количество шагов интерполяции сплайна (количество сегментов между вершинами объекта). Установленный флажок Optimize (Оптимизация) служит для оптимизации сплайна.

Редактирование сплайнов

Любой онлайновый примитив можно преобразовать в так называемый Editable Spline (Редактируемый сплайн), который позволяет изменять форму объектов.

Можно не преобразовывать сплайновую фигуру в Editable Spline (Редактируемый сплайн), а назначить объекту модификатор Edit Spline (Редактировать сплайн). В результате применения этого модификатора объект наделяется всеми свойствами редактируемого сплайна.

ВНИМАНИЕ

В отличие от всех онлайновых примитивов, объект Line (Линия) по умолчанию обладает всеми свойствами редактируемого сплайна, поэтому конвертировать его в редактируемый сплайн не имеет смысла.

Для преобразования сплайна в редактируемый щелкните на нем правой кнопкой мыши и в появившемся контекстном меню выберите команду Convert To > Convert to Editable Spline (Преобразовать > Преобразовать в редактируемый сплайн) (рис. 3.40). Форма сплайнового объекта, преобразованного в редактируемый сплайн, может быть откорректирована на следующих уровнях подобъектов: Vertex (Вершина), Segments (Сегменты) и Spline (Сплайн). Для перехода в один из этих режимов редактирования выделите объект, перейдите на вкладку Modify (Изменение) командной панели и, развернув список в стеке модификаторов, переключитесь в нужный режим редактирования.

Рис. 3.40. Открытие подменю Convert To (Преобразовать)

Переключаться между режимами редактирования можно при помощи кнопок в свитке Selection (Выделение), который присутствует в каждом режиме (рис. 3.41).

Рис. 3.41. Свиток настроек Selection (Выделение)

Редактируемый сплайн имеет большое количество настроек, которые позволяют вносить любые изменения в структуру объекта. Например, при помощи кнопки Attach (Присоединить) в свитке Geometry (Геометрия) настроек объекта вы можете присоединить к данному объекту любой другой имеющийся в сцене. В режиме редактирования подобъектов Vertex (Вершина) можно изменить характер поведения кривой в точках изломов. Точки излома - это участки, в которых кривая изгибается. Они могут выглядеть по-разному: в виде острых углов или закругленных участков. Чтобы изменить характер излома, в настройках режима редактирования Vertex (Вершина) установите переключатель New Vertex Type (Тип излома вершины) в одно из положений: Linear (Прямой), Bezier (Безье), Smooth (Сглаженный) или Bezier Corner (Угол Безье). Тип излома вершин можно также изменить при помощи контекстного меню. Для этого нужно выделить необходимые вершины, щелкнуть правой кнопкой мыши в окне проекции и выбрать характер излома.

В зависимости от характера излома выделенные вершины по-разному отображаются в окне проекции - вершины типов Bezier (Безье) и Bezier Corner (Угол Безье) имеют специальные маркеры, с помощью которых можно управлять формой искривления.

Создание трехмерных объектов на основе сплайнов

Как мы уже говорили выше, на основе сплайновых фигур можно создавать сложные геометрические трехмерные объекты. Для этого используются модификаторы Surface (Поверхность), Lathe (Вращение вокруг оси), Extrude (Выдавливание) и Bevel (Выдавливание со скосом). Рассмотрим наиболее часто используемые способы создания трехмерных объектов на основе сплайнов.

Создание поверхностей вращения

Если присмотреться к объектам, которые нас окружают, то можно заметить, что многие из них обладают осевой симметрией. Например, плафон люстры, тарелки, бокалы, кувшины, колонны и т. д. Все эти объекты в трехмерной графике создаются как поверхности вращения сплайнового профиля вокруг некоторой оси при помощи модификатора Lathe (Вращение вокруг оси). Этот модификатор назначается созданному сплайну, после чего в окне проекции появляется трехмерная поверхность, образованная вращением сплайна вокруг некоторой оси. Сплайновая кривая может быть разомкнутой или замкнутой. Настройки модификатора (рис. 3.42) позволяют установить тип поверхности, получившейся в результате вращения сплайнового профиля. Это может быть Editable Mesh (Редактируемая поверхность), NURBS Surface (NURBS-поверхность) или Editable Patch (Редактируемая патч-поверхность). Кроме этого, при создании объекта можно устанавливать угол вращения профиля в диапазоне от 0 до 360°.

Рис. 3.42. Настройки модификатора Lathe (Вращения вокруг оси)

ПРИМЕЧАНИЕ

Использование модификатора Lathe (Вращения вокруг оси) описано в разд «Урок 2. Моделирование глаз персонажа» данной главы.

Модификаторы Extrude (Выдавливание) и Bevel (Выдавливание со скосом)

При создании трехмерных моделей часто используются стандартные модификаторы Extrude (Выдавливание) и Bevel (Выдавливание со скосом), которые схожи по своему действию и применяются к любой сплайновой форме

Рис. 3.43. Настройки модификатора Bevel (Выдавливание со скосом)

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

Разница между этими модификаторами заключается в том, что при использовании Bevel (Выдавливание со скосом) можно дополнительно управлять величиной скоса выдавливаемых граней. Кроме того, модификатор Bevel (Выдавливание со скосом) позволяет применять трехуровневое выдавливание, с помощью которого можно придавать красивую форму краям выдавленной фигуры. На рис. 3.43 показаны настройки модификатора Bevel (Выдавливание со скосом).

Особенно удобно использовать модификаторы Extrude (Выдавливание) и Bevel (Выдавливание со скосом) при разработке логотипов и работе с объемным текстом. Если в окне проекции создать сплайновую форму Text (Текст), а затем применить к ней один из модификаторов выдавливания, получится объемная надпись. С ней можно работать, как и с любым другим трехмерным объектом (рис. 3.44). Если немного пофантазировать, то можно найти немало способов использования объемного текста в трехмерных сценах: от вывески при входе в магазин до елочных украшений.

Рис. 3.44. Объемный текст, созданный с помощью выдавливания

Главной настройкой модификаторов Extrude (Выдавливание) и Bevel (Выдавливание со скосом) является амплитуда выдавливания. Для модификатора Bevel (Выдавливание со скосом) - это параметр Height (Высота), а для Extrude (Выдавливание) - Amount (Величина). Величину скоса задает параметр Outline (Масштаб).

Еще один модификатор, применяющийся для выдавливания, - Bevel Profile (Выдавливание со скосом по заданному профилю). Он действует на сплайн аналогично Bevel (Выдавливание со скосом) с той лишь разницей, что в его настройках необходимо указывать трехмерную кривую, вдоль которой будет выдавливаться сплайн (рис. 3.45). Модификатор Extrude (Выдавливание) имеет несколько меньшие возможности по сравнению с Bevel Profile (Выдавливание со скосом по заданному профилю), однако разработчики трехмерной графики очень часто используют Extrude (Выдавливание). В частности, с его помощью удобно создавать геометрию помещений, моделируя сложные коридоры.

Рис. 3.45. Настройки модификатора Bevel Profile (Выдавливание со скосом по заданному профилю)

ПРИМЕЧАНИЕ

Моделирование с использованием трехмерных кривых подробно рассмотрено в разд. «Урок 3. Моделирование консервного ножа» данной главы.

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

Для создания сплайна переключитесь в раздел Shapes командной панели (рис. 3.1). Щелкнув по кнопке с названием нужной плоской фигуры, напри­мер Circle (Окружность), вы включите режим построения. В любом видовом окне нажмите левую кнопку мыши и, удерживая нажатой, растяните фигуру. Щелчком правой кнопкой мыши выключитесь из режима построения. По­добным образом строится большинство плоских фигур. Исключение состав­ляет Line (Линия). Линия строится щелчками мыши. Каждый щелчок создает опорную точку сплайна.

Рис . 3.1. Панель Shapes

Типы сплайнов:

    Line - линия;

    Circle - окружность;

    Arc - дуга;

    NGon - многоугольник, можно настроить количество углов;

    Text - текст;

    Section - создает срез любого имеющегося трехмерного объекта;

    Rectangle - прямоугольник, можно настроить скругление углов;

    Ellipse - эллипс;

    Donut - кольцо, две окружности из одного центра;

    Star - звезда, можно настроить количество и скругление лучей;

    Helix - спираль.

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

Типы опорных точек:

    Corner - угловая;

    Smooth - гладкая;

    Bezier - гладкая точка с направляющими векторами, угол между кото­рыми всегда 180°;

    Bezier Corner - угловая точка с направляющими векторами, угол между которыми можно изменять.

Редактирование сплайнов

Edit Spline - основной модификатор, предназначенный для редактирования сплайнов. Особенностью этого модификатора является использование подобъектов (Sub - Object ).

Подобъектами называются составляющие объекта (вершины, ребра, плоско­сти и т. д.). Только включением уровня подобъектов становится доступным большинство специальных команд модификатора Edit Spline .

Основные команды модификатора Edit Spline

Модификатор имеет три уровня подобъектов (три уровня редактирования):

    Vertex (Вершина) - опорная точка.

    Segment (Сегмент) - отрезок между двумя вершинами.

    Spline (Линия целиком) - используется в составных сплайнах.

Каждая команда данного модификатора становится доступной, только если включен подходящий уровень подобъектов. В табл. 3.1 перечислены все команды модификатора Edit Spline .

Таблица 3.1. Команды модификатора Edit Spline

Команда

Уровень подобъектов

Назначение команды

Создание сплайна, изначально входящего в состав с основным (составная фигура)

Удаление различных подобъектов

Присоединение другого сплайна к данному для создания составной фигуры (объекты или мо­дификаторы не должны быть Instance или Reference)

Присоединение других объектов в режиме име­нованного списка; используется, когда необхо­димо присоединить сразу много объектов

Отсоединение выбранных подобъектов (сег­ментов или сплайнов, возможно отсоединение их копий)

Создание новых вершин на имеющемся сплай­не

Разбиение вершины на две самостоятельные. Сплайн при этом разрывается. Нельзя приме­нить к крайней вершине сплайна

Создание новых вершин, одновременно изме­няя их положение на сплайне

Определение первой точки сплайна. Сначала выделить точку, а потом щелкнуть по кнопке с командой. Первая вершина сплайна выделяет­ся квадратиком. Это важно для Loft и Cross Section

Фаска точки. Создает правильно срезанный угол

Скругление угла, создает плавно закругленные углы

Спаивание заранее выделенных вершин, сдви­гая их навстречу друг другу. Имеет настройку чувствительности к расстоянию между верши­нами

Соединение вершин новым отрезком, не сдви­гая их

Разделение сегмента на равные отрезки. Имеет настройку количества отрезков

Обведение сплайна другим сплайном, большим или меньшим по размеру

Логическая операция между сплайнами: Сло­жение/Вычитание/Пересечение

Зеркальная копия, изначально соединена с ори­гиналом

Отсечение сплайна до пересечения с другим сплайном.

Продление сплайна до пересечения с другим сплайном

Замыкание разорванного сплайна

Все команды, соединяющие вершины (Weld , Connect ) подразумевают, что сплайны сначала будут соединены командой Attach в одну фигуру.

В этой части из курса вы узнаете, что такое сплайны в 3D Max , для чего они используются и как с ними работать.

Сплайн это кривая (линия) в трехмерном пространстве, которая используется для создания любого 3D объекта или 2D фигуры. У каждого сплайна, как и у трехмерного примитива, имеются свои уникальные настройки на панели Command, с которыми мы познакомимся далее. Так же они используются в качестве создания объектов в NURBS моделировании и незаменимы в использовании траектории движения, для какой либо анимации.

Все сплайны расположены на панели Command в категории Shapes вкладки Create:

Помните, что сплайновая фигура двухмерна (есть исключения). Поэтому при создании она привязывается к одной из плоскостей. Что бы понять, о чем идет речь попробуйте выбрать фигуру Line и создать ее в любом окне проекции. Вы заметите, что линия привязалась к сетке. Если создать линию в окне Left, то она будет привязана к плоскости YZ, если в окне Top, то к координатам YX. Создав линию в окне Perspective вы заметите, как она привязалась к основной сетке:

Line – Линия

Circle — Окружность

Arc — Дуга

NGon — Многоугольник

Text – Текст

Section — Сечение

Rectangle – Прямоугольник

Ellips – Эллипс

Donut – Кольцо

Star — Звезда

Helix – Трехмерная спираль

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

Давайте пройдемся по общим вкладкам с настройками, которые используются для большинства сплайнов. В самой верхней части панели, поставив галочку напротив параметра AutoGrid, создаваемый сплайн привяжется к сетке. (Подробнее о привязках и сетках вы можете узнать в уроке: Сетки и привязки). Если хотите что бы новая создаваемая фигура была отдельным объектом поставьте галочку напротив параметра Start New Shape, если же хотите что бы при создании новой фигуры она была частью предыдущей, то снимите флажок напротив этого параметра.

Панель с настройками Rendering

Любой сплайн можно превратить в трехмерный визуальный объект . Для этого предусмотрены несколько настроек в разворачивающейся вкладке Rendering панели Command:

1. Enable in Renderer . Если включить этот параметр то, фигура будет визуализирована (просчитана)в окне визуализации.

2. Enable in Viewport. Если включить этот параметр, то сплайн будет отображен как трехмерный визуализируемый объект:

Для визуализируемой фигуры можно выбрать два разных типа объекта: Radial (Радиальный) и Rectangular (Прямоугольный)

3. Radial Для радиального объекта можно указать такие параметры как Thickness (толщина), Sides (количество сторон) и Angle (угол).

4.Rectangular. Для прямоугольного объекта можно изменить такие настройки как: Length (длину), Width (ширину), Angle (угол) и Aspect (аспект).