ГЛАВА 9

ГЛАВА 9

Моделирование при помощи форм

Инструменты формы в 3D Studio MAX включают в себя такие объекты, как Lines (линии), Circles (окружности) и Rectangles (прямоугольники). Их названия говорят о том, что они скорее принадлежат к рисованию, чем к трехмерному моделированию и анимационным продуктам. Как же формы погружаются в схему трехмерного моделирования ? В 3DS МАХ объекты форм создаются в качестве исходной геометрии для построения других объектов. Можно создавать формы, образующие основу других объектов, во многом подобно тому, как художник натягивает холст на раму или как скульптор создает проволочную арматуру для удержания глины. Поскольку 3DS МАХ также является инструментом анимации, можно создавать формы, управляющие движением.

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

  • Что такое формы и термины, используемые для их описания
  • Исследование того, как принятые при создании форм решения могут повлиять на сложность и эффективность сцены
  • Создание и редактирование объектов форм
  • Применение модификаторов к объектам форм
  • Специальные методы для использования объектов форм в качестве инструментов обеспечения точности

Конечно, начинать следует с создания объектов форм.

Создание объектов форм

Создавайте объекты форм путем щелчка на категории Shapes (формы) в панели Create и последующего щелчка на кнопке формы в свитке Object Type (см. рис. 9.1). Для завершения формы выполните перетаскивание в видовом окне и установите параметры формы. В последующих разделах поясняются способы создания форм и что означают параметры формы.

Перед созданием и редактированием форм полезно иметь основные понятия о терминологии, применяемой для форм. Ниже приведен список терминологии для форм, используемой в 3DS МАХ. Рисунок 9.2 демонстрирует эти термины.

  • Вершины. Точки на любом из концов сегментов сплайна. Свойства вершины определяют, является ли вершина углом, гладкой вершиной или имеет тип Безье. Вершины являются подобъектами формы.
  • Касательные ручки. Вершины формы с установленным типом вершины Безье отображают касательные ручки. Перетаскивайте касательные ручки для управления кривизной сегмента сплайна по мере того, как он входит в вершину и покидает ее. Касательные ручки являются свойствами вершины.
  • сегменты. Часть сплайна между двумя вершинами. Кривизна сегментов сплайна управляется за счет изменения свойств вершины на любом конце сегмента или изменения свойств самого сегмента. Свойства сегмента устанавливаются для определения того, является ли сегмент линией или кривой. Сегменты являются подобъектами формы.
  • шаги. Количество делений сегмента, используемое для представления кривой. Если формы применяются для создания геометрии, кривые в форме необходимо преобразовать в треугольные грани. Установка шага определяет количество генерируемых формой ребер грани или элементов. Большие значения шага определяют гладкие кривые, генерирующие много граней. Шаги являются параметром формы.
  • сплайны. Совокупность соединенных сегментов. Сплайны являются типом гладкой настраиваемой кривой, а в 3DS МАХ входят опции для вставки углов и определения линейных сегментов. Сплайны являются подобъектами формы.
  • формы. Совокупность сплайнов определяет объект формы. Ограничения на количество и тип сплайнов изменяются в зависимости от предполагаемого использования формы. Формы являются поименованными объектами.
  • пути. Термин, применяемый для описания формы. Путь неизменно определяет форму, содержащую одиночный сплайн, используемый как след чего-то. Примерами могут служить пути Loft (лофтинг), пути Path Controller (контроллер пути) и пути Path Deform (деформация пути). Помните, что когда бы 3DS МАХ не ссылался на путь, на самом деле описывается форма с одиночным сплайном.

Создание линий

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

  • Все сегменты, созданные по одной команде Line, являются частью одного и того же сплайна и одной и той же формы. Если необходимо создать отдельные сегменты линии, следует выполнить правый щелчок для завершения первой команды Line и щелкнуть в видовом окне для начала другой линии.
  • Можно создавать плоские линии на плоскости конструкции при помощи щелчка в видовом окне или в полном трехмерном пространстве. Если используется 3D Snap (3D-фиксация) или Keyboard Entry (ввод с клавиатуры) также можно изменять значение Z вершин сплайна.
  • Линии могут быть прямыми или искривленными в зависимости от выборов Creation Method (метод создания) и независимо от того, выполняется щелчок или перетаскивание при создании вершин.

Методы создания линий

Выборы, выполняемые в свитке Creation Method (метод создания), критичны для управления первоначальными свойствами линий. Выберите опции для управления типом вершины, которая получится посредством щелчка или перетаскивания при создании линий. На рисунке 9.3 показаны два типа Creation Method и поддерживаемые ими типы вершин.

  • Начальный тип (Initial Type). Эти опции фактически следует называть Click Type (тип щелчка), поскольку они устанавливают тип вершины при щелчке. Тип по умолчанию - это Corner (угол). Вершины угла создают сегменты, которые являются линейными по мере того, как они входят в вершину и покидают ее.
    Гладкие вершины (smooth vertices) создают кривую через вершину, в которой кривизна одинакова по обеим сторонам от вершины. Касательная к гладкой вершине всегда параллельна линии, нарисованной между двумя вершинами по обеим сторонам от гладкой вершины.
  • Тип перетаскивания (Drag Type). Эти опции устанавливают тип вершины, создаваемой при перетаскивании. В доступные варианты входят Corner, Smooth (очень похожие на находящиеся в Initial Type) и Bezier. Во всех случаях вершина помещается в то место, где первоначально нажимается мышь. Перетаскивание возбуждает выбранный для вершины тип перетаскивания. Направление и расстояние перетаскивания имеют значение только для случая, если тип перетаскивания установлен в Bezier.
    Направление перетаскивания определяет касательную к кривой, когда она проходит через вершину. Расстояние перетаскивания устанавливает значение кривой на вершине.

Интерактивное создание

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

  • Создание линии может выполняться только в одном видовом окне. После начала создания линии видовые окна переключать нельзя. Для завершения команды следует выполнить правый щелчок перед возможностью переключения на другое видовое окно.
  • Тип вершины устанавливается по опциям в свитке Creation Method. Соблюдайте осторожность при использовании типа перетаскивания Безье. Редко (если вообще когда-нибудь) необходимо перетаскивать первую вершину линии. Можно также обнаружить, что проще создать все вершины и затем использовать Edit Spline (отредактировать сплайн) для преобразования их в настраиваемые вершины Безье.
  • Линии лежат на текущей плоскости конструкции до тех пор, пока 3D Snap не будет активной. При активной 3D Snap вершины линии фиксируются на ребрах и вершинах других объектов в 3D-npo-странстве.
  • Независимо от того, как создается линия, локальная система координат помещается и выравнивается с текущей плоскостью конструкции.

Создание через клавиатуру

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

На создание линий с помощью Keyboard Entry распространяются следующие правила:

  • Все вершины используют опцию Initial Туре (щелчок) в свитке Creation Method.
  • Локальная система координат размещается на текущей плоскости конструкции и выравнивается с ней.
  • Все сегменты линии невидимы до тех пор, пока не будет произведен щелчок на Close или Finish.

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

Создание параметрических форм

Оставшиеся формы являются параметрическими объектами. Расположения вершин и типы устанавливаются параметрами в панели Create. Формы в дальнейшем могут различаться в соответствии с методами их создания. За двумя исключениями формы создаются при помощи определения либо их радиуса, либо прямоугольника. Упомянутыми исключениями являются дуги и текст.

Создавайте большинство вершин путем первоначального перетаскивания радиуса. К формам, использующим подобный метод, относятся пончик (тор), круг, спираль, NGon (N-угольник) и звезда. Для этих форм применяется следующая технология создания:

  1. Выберите Creation Method. Выберите либо Edge (ребро) для определения через диаметр, либо Center (центр) для определения посредством радиуса.
  2. Выполните перетаскивание в видовом окне для определения расположения формы и Radius 1.
  3. При необходимости щелкните в видовом окне для определения остальных параметров. Пончик (donut) и звезда (star): щелкните для установки Radius 2. Спираль (helix): щелкните для установки Height (высота). Щелкните еще раз для установки Radius 2.
  4. Установите остальные параметры в свитке Parameters (параметры).

Прямоугольники и эллипсы создаются путем перетаскивания диагонали прямоугольника. Для этих форм применяется следующая технология создания:

  1. Выберите Creation Method. Выберите либо Edge для определения от угла к углу, либо Center для определения от центра к углу.
  2. Выполните перетаскивание в видовом окне для определения расположения формы и диагонали прямоугольника, которая определяет Length и Width (длину и ширину).
  3. Установите любые остальные параметры в свитке Parameters.

Создание кругов и N-угольников

Создавайте круги и N-угольники при помощи перетаскивания одного радиуса. Круги для определения всегда используют четыре вершины.

Используйте параметры сторон для N-угольников для изменения количества вершин и сторон. Используйте NGons с отмеченной опцией Circular каждый раз, когда необходим круг с числом вершин более четырех, как показано на рисунке 9.5.

Создание пончиков и звезд

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

Параметр искажения (Distortion) для звезды вращает вершины с Radius 2 вокруг локальной оси Z звезды. Положительные значения вращают вершины против часовой стрелки, а отрицательные значения - по часовой стрелке (см. рис. 9.6).

Создание прямоугольников и эллипсов

Создавайте прямоугольники и эллипсы путем перетаскивания диагонали. Диагональ определяет параметры Length и Width, используемые прямоугольником или эллипсом.

Нажимая Ctrl во время перетаскивания при создании квадратного прямоугольника или кругового эллипса накладываются ограничения. Зачем необходимо создавать круговой эллипс, когда можно ограничиться созданием круга? Если необходимо выполнить анимацию из круга в эллипс, начинайте с эллипса, созданного при помощи клавиши Ctrl.

Создание дуг

Способ, в соответствие с которым создаются дуги, в значительной степени зависит от выбора Creation Method. Дугу можно определить с использованием двух методов:

  • Центр-конец-конец (Center-End-End). Это наиболее знакомый метод, применяемый когда необходимо попасть точно в центр и начальную точку. Расположение второй конечной точки точно предсказать нельзя, поскольку она является функцией радиуса дуги. Для создания дуги Center-End-End выполните перетаскивание для определения центра дуги (кнопка мыши нажата), радиуса и начальной точки (кнопка мыши отпущена). Щелкните для определения второй конечной точки.
  • Конец-конец-середина (End-End-Middle). Используйте такой метод, если необходимо, чтобы дуга попадала точно в две конечные точки. Для создания дуги End-End-Middle применяется следующий метод: Для создания дуги End-End-Middle выполните перетаскивание для определения первой конечной точки (кнопка мыши нажата) и второй конечной точки (кнопка мыши отпущена). Щелкните для определения радиуса дуги.

Какой бы метод не использовался, параметры дуги хранятся в виде радиуса, угла From (от) и угла То (до). Фиксируется только центральная точка дуги. Изменение любого из трех параметров вызывает перемещение конечных точек дуги.

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

Спираль (helix) создается путем перетаскивания сначала радиуса, затем щелчка для установки высоты спирали и второго щелчка для установки радиуса. После этого можно установить еще три других параметра - Turns (повороты), Bias (смещение) и направление поворота. Спираль весьма полезна в качестве пути лофтинга для создания объектов, подобных штопорам, искривленным лестничным перилам и нагревательным элементам. Для создания спирали используется следующий метод:

  1. Выполните перетаскивание для определения центра, радиуса и начальной точки. Начальная точка всегда расположена в положительном направлении Х от центра спирали на плоскости конструкции.
  2. Щелкните для установки расстояния по оси Z от плоскости конструкции для определения конечной точки спирали.
  3. Щелкните снова с целью определения радиуса для конечной точки спирали.

После создания основной спирали можно установить следующие параметры:

  • повороты. Устанавливает количество оборотов на 360°, которые требуется выполнить от начальной до конечной точки.
  • смещение. Устанавливает, где происходит поворот по отношению к высоте спирали. Значение по умолчанию 0.0 распределяет повороты равномерно от начала до конца. Положительные значения перемещают повороты ближе к конечной точке; отрицательные значения перемещают повороты ближе к начальной точке.
  • Опции CW/CCW. Устанавливают направление поворотов, когда последние покидают начальную точку. CW = по часовой стрелке; CCW = против часовой стрелки.

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

Создание текста

Текст является простейшей создаваемой формой. Щелкните в любом видовом окне и текст будет помещен на текущую плоскость конструкции. Чтобы увидеть текст, можно также выполнить перетаскивание при перемещении курсора в пределах видового окна; текст помещается каждый раз при отпускании кнопки мыши. После этого для изменения шрифта, стиля, размера и отображаемой строки текста необходимо установить параметры следующим образом:

  • шрифт. 3DS МАХ может использовать любой шрифт True Type, установленный в Windows NT, и любой шрифт Adobe Type I PostScript, который необходимо поместить в каталог 3dsmax\fonts. Щелкните на списке шрифтов для выбора любого имеющегося шрифта.
  • стиль. Щелчок на двух кнопках, расположенных ниже списка шрифтов, переключает использование курсива и подчеркнутого текста. Если необходим жирный шрифт, следует выбрать его.
  • размер. Устанавливает высоту текста. Установка высоты текста может показаться вначале несколько витиеватой, поскольку для вычисления высоты 3DS МАХ использует полную высоту шрифта из файла шрифтов. Большинство коммерческих шрифтов по умолчанию определяют высоту как расстояние от верхушки верхнего выносного элемента до низа нижнего выносного элемента плюс междустрочие (или заплечик литеры), как показано на рисунке 9.8.

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

Введите текст, который необходимо поместить в сцену 3DS МАХ. Хотя поле текста имеет по высоте множество строк, набрать можно только одну строку текста. Если вводимый текст оказывается длиннее ширины текстового поля, он прокручивается влево.

Можно также вставить текст из буфера обмена Windows с учетом следующих ограничений:

  • Шрифт, размер и стиль текста из буфера обмена игнорируются. 3DS МАХ использует текущий шрифт, стиль и размер из свитка Parameters.
  • Из буфера обмена считывается только первая полная строка текста; 3DS МАХ игнорирует весь текст, следующий после разрыва первой строки.

ПРЕДУПРЕЖДЕНИЕ

Можно создать текст с пустой строкой (в текстовом поле нет текста). При этом получается невидимая точка вращения, которую можно выбрать только в том случае, если она попадает внутрь выборки области или при выборе ее по имени. Перед выполнением щелчка в видовом окне следует убедиться в том, что текстовое поле что-то содержит.

Текст в 3DS МАХ обладает интересной двойственностью. Текст является параметрическим, поэтому можно вернуться назад и редактировать его как текст. Поскольку текст также является сплайном, его можно редактировать как геометрию. Подобная двойственность текстовых объектов предоставляет лучший из двух миров. Приведенный ниже пример показывает как редактировать и трансформировать текстовые объекты для создания выровненного параграфа.

Никто не ошибется в случае применения 3DS МАХ в качестве текстового процессора, но в некоторых задачах анимации может потребоваться создание нескольких строк текста с определенным выравниванием. Например, необходимо создать логотип или знак, содержащий несколько строк текста. Данный пример использует Array и Align для расположения трех строк выровненного влево текста для магазина с названием Cameron's Camera Shop:

  1. Создайте первую строку текста.
  2. Щелкните на Text в категории Shapes панели Create.
  3. Выберите шрифт, оставьте значение 100 для Height и в поле текста наберите Cameron's.
  4. Выполните перетаскивание в видовое окно Front для размещения текста. Требуется три строки текста, но вручную трудно разместить текст и получить равномерный интервал между строками. Для быстрого создания последующих строк используйте инструмент Array.
  5. Выберите текстовый объект и Local в качестве опорной системы координат.
  6. Щелкните на Array в линейке инструментов.
  7. Щелкните на Reset (сброс) в диалоге Array.
  8. Установите поле Move Y (переместить по Y) в значение -90.0 и установите Total In Array (итог массива) в значение 3.
  9. Щелкните на ОК.

Предыдущие шаги создают три строки текста с интервалом 90.0 единиц, как показано на рисунке 9.9. Размер текста обычно является хорошим начальным значением для интервала Array. От этого начального значения можно выполнять регулировку вверх и вниз. Для большинства шрифтов может потребоваться уменьшение интервала, в особенности, если текст имеет всего несколько нижних выносных элементов, как в случае с Cameron's Camera Shop.

Организация массива из первой строки текста является самым быстрым методом расположения множества строк текста. Затем следует отредактировать новые строки через панель Modify (модифицировать).

  1. Выберите среднюю строку текста.
  2. В панели Modify измените поле текста из Cameron's на Camera.
  3. Выберите нижнюю строку текста и измените ее на Shop.

Если необходимо выравнивание по центру, на этом можно завершить. 3DS МАХ помещает точку вращения текста в центр строки текста, что по умолчанию обеспечивает текст, выровненный по центру. Для выравнивания влево и вправо используйте команду Align.

  1. Выберите две нижние строки текста и Local в качестве опорной системы координат.
  2. Щелкните на Align в линейке инструментов и затем щелкните на верхней строке текста.
  3. Отметьте флажок Х Position (положение X).
  4. Выберите Minimum для объектов Current (текущий) и Target (целевой).
  5. Щелкните на ОК.

Теперь текст выровнен влево, а первая строка расположена так, как показано на рисунке 9.10. Комбинация параметрического текста. Array и Align позволяет легко расположить множество строк выровненного текста для ЗD-знаков и логотипов.

Создание множества сплайнов в одной и той же форме

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

Создавайте составные формы с помощью снятия отметки с флажка, находящегося за кнопкой Start New Shape (см. рис. 9.11).

  • Когда флажок отмечен, кнопка Start New Shape всегда включена, и все, что создается, становится отдельным объектом формы.
  • Когда флажок сброшен, кнопка Start New Shape исчезает, и все, что создается, становится сплайном в одной большой составной форме.
  • Новую форму можно запустить вручную путем щелчка на кнопке Start New Shape.

К любой форме всегда можно вернуться и произвести добавление к ней чего-либо в соответствие со следующими методами:

  • Выберите объект формы и затем сбросьте флажок Start New Shape. После этого любые создаваемые формы добавляются к выбранной форме в виде сплайнов.
  • Примените к форме модификатор Edit Spline (отредактировать сплайн) и используйте Attach (присоединить) для добавления к выбранной форме других форм. Edit Spline рассматривается в разделе "Использование Edit Spline".

Кнопка Start New Shape обеспечивает быстроту и удобство, но Edit Spline предоставляет большее управление расположением сплайнов. Кроме того, при использовании кнопки Start New Shape не следует возвращаться назад и выполнять доступ к любым параметрам формы после ее создания. Посредством Edit Spline в составной форме можно сохранить по крайней мере один сплайн.

Понимание интерполяции формы

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

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

Параметры интерполяции управляют количеством шагов в форме:

  • Steps (шаги). Введите в это поле значение для указания числа шагов для всех сплайновых сегментов в форме. Используйте параметр Steps для осуществления точного управления количеством генерируемых граней при использовании формы для создания трехмерной геометрии. Для использования поля Steps следует сбросить флажок Adaptive (адаптивный).
  • Optimize (оптимизировать). В случае отметки количество шагов уменьшается до 0 для всех линейных сплайновых сегментов в форме. Поскольку шаги используются для представления кривых, они не нужны для точного представления линейных сегментов, поэтому их можно удалить. Optimize следует оставить в качестве установки по умолчанию.
    Однако может потребоваться выключение Optimize, если планируется деформировать сплайн вдоль линейных сегментов. Теперь сегменты могут быть линейными, но если планируется их изгибание или скручивание, необходимо посредством оптимизации удалить дополнительные сегменты. Выключение Optimize может также потребоваться в случае планирования генерирования из формы целей Morf (морфинг). Все цели Morf должны иметь одинаковое количество вершин. Оптимизация удаляет сегменты формы, которые будут генерировать вершины каркаса для целей морфинга, что затрудняет генерацию целей морфинга из форм, содержащих плоские стороны, и других форм с искривленными сторонами.
    Для использования флажка Optimize флажок Adaptive необходимо сбросить.
  • adaptive. Автоматически вычисляет шаги для каждого сегмента сплайна в форме. Шаги устанавливаются так, что изменение угла от одного шага к другому не превышает 2 градусов. Линейные сегменты не принимают шагов. Используйте Adaptive, если необходимо видеть гладкие, точные сплайны, используемые в качестве путей движения или компонентов лофтинга. Adaptive не является хорошим выбором для сплайнов, используемых для генерации ЗО-геометрии с модификаторами, подобными Extrude или EditMesh. Гладкость адаптивного сплайна генерирует неэффективное количество граней.
    Отметка Adaptive запрещает параметры Steps и Optimize.

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

Буква слева на рисунке 9.13 использует интерполяцию Adaptive. С большим трудом можно сказать, что одна буква более гладкая по сравнению с другими. Применение EditMesh создает объект каркаса, использующий 141 грань.

Буква посредине рисунка 9.13 также использует установку Steps в значение 1 с отмеченным Optimize. Применение EditMesh создает объект каркаса, использующий 38 граней. Средняя буква имеет на 73% меньше граней, чем буква слева.

Буква справа на рисунке 9.13 использует установку Steps в значение 1 и неотмеченный Optimize. Применение EditMesh создает объект каркаса, использующий 32 грани. Буква справа имеет на 16% граней меньше, чем средняя буква, и на 77% граней меньше буквы слева.

Большее количество граней занимает большее дисковое пространство, больший объем памяти и, что самое важное, дольше визуализируется. Для создания заданного качества изображения всегда нужно использовать наименьшее необходимое количество граней. В предыдущем примере можно воспользоваться установкой Adaptive, если планируется перемещать камеру на букву и вокруг нее. Однако для большинства ситуаций использование установки Steps и Optimize является наилучшим выбором.

Использование Edit Spline

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

Для применения Edit Spline к форме следует выбрать объект формы. Затем щелкните на Edit Spline в панели Modify. В следующих четырех разделах описываются методы, общие для всех уровней редактирования сплайновых подобъектов.

Работа с подобъектами формы

Терминология для форм и определения подобъектов формы были представлены в начале этой главы. С помощью модификатора Edit Spline можно выбирать следующие подобъекты формы:

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

Выбирайте эти подобъекты формы путем щелчка на кнопке Sub-Object и выбора уровня подобъекта, на котором необходимо выполнить редактирование. После этого выберите подобъект посредством стандартных инструментов выборки.

Использование Undo в Edit Spline

Можно аннулировать любое действие, выполненное с помощью Edit Spline, до тех пор, пока не осуществляется доступ к другому модификатору. При выборе другого модификатора в Modifier Stack или в случае применения другого модификатора буфер Undo очищается. После этого единственный способ возврата к эффектам модификатора Edit Spline заключается в удалении модификатора из Modifier Stack.

Отсоединение подобъектов

Для создания новых объектов форм сегменты и сплайны можно отсоединять от форм. При отсоединении выбранных подобъектов расположение и ориентация точки вращения первоначальной формы копируется для новой формы. На рисунке 9.14 сравнивается расположение точки вращения для первоначальной формы и для новой формы, созданной путем отсоединения нескольких сегментов первоначальной формы.

В обеих свитках Edit Segment и Edit Spline имеется кнопка Detach (отсоединить) с двумя опциями: Сору (скопировать) и Reorient (переориентировать).

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

Если опция Copy не отмечается, выбранный сегмент или сплайн удаляется из формы для создания новой формы. Даже после отсоединения сегмента или сплайна модификатор Edit Spline сохраняет запись отсоединенных подобъектов. При использовании Undo удаляется новая форма, а первоначальная восстанавливается. Можно также восстановить вид первоначальной формы с помощью удаления модификатора Edit Spline из Modifier Stack. На новую форму, созданную путем отсоединения подобъектов, удаление модификатора Edit Spline влияния не оказывают.

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

Если опция Reorient не отмечена, новая форма с отсоединенными подобъектами сохраняет свое первоначальное расположение. Уловить различия между новой формой с отсоединенными подобъектами и первоначальной формой при отсутствии отметки переориентации может оказаться затруднительным. Намеком на отличия является то, что новая форма изменяет цвет и ее нельзя выбрать до тех пор, пока модификатор Edit Spline остается выбранным в Modifier Stack и режим Sub-Object является активным.

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

Удаление подобъектов

Любые подобъекты формы можно удалять путем их выбора и последующего щелчка на кнопке удаления или нажатия Del на клавиатуре. Кнопка удаления имеется в свитках Edit Vertex (отредактировать вершину), Edit Segment (отредактировать сегмент) и Edit Spline.

Аналогично отсоединению подобъектов модификатор Edit Spline хранит запись всех удаляемых подобъектов. Можно восстановить первоначальный вид формы при помощи удаления модификатора Edit Spline из Modifier Stack.

Трансформация подобъектов

Использование инструментов трансформации Move, Rotate и Scale такое же, как и использование их для полных объектов. Однако специализированные трансформации Mirror, Array и Align работают только на полных объектах.

Выбор центра трансформации под объекта и системы координат трансформации следует тем же правилам, что и при трансформации объектов, за исключением использования Pivot Point Center или локальной системы координат. Поведение подобъектов, использующих эти трансформации следующее:

  • Pivot Point Center Игнорируется для всех выборов систем координат подобъектов за исключением случая, когда трансформация вершин выполняется с локальной системой координат. Во всех остальных ситуациях Pivot Point Center - то же, что и центр Selection.
  • Локальная система координат Использует мировую систему координат и начало мировой системы координат в качестве центра трансформации за исключением случая трансформации вершин. По этой причине следует избегать использования локальной системы координат при трансформации сегментов и сплайнов подобъекта.

Минимизация системных накладных расходов, вызванных Edit Spline

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

Ниже перечислены общие методы применения Edit Spline:

  • Используйте Edit Spline только тогда, когда другие методы не работают. Если изменения собираются делать на уровне подобъекта сплайна, такой же результат часто можно достигнуть путем применения ко всей форме модификатора XForm или другого. При этом уменьшаются затраты памяти по сравнению с Edit Spline.
  • Каждый раз при изменении решения при редактировании посредством Edit Spline используйте Undo. Поскольку Edit Spline записывает каждое произведенное изменение, привычка сводить на нет незначительные изменения в окончательном результате занимает в памяти много места.
  • Разделяйте модификаторы Edit Spline, используемые для моделирования, и модификаторы Edit Spline, используемые для передачи выборок подобъектов вверх по стеку. Модификаторы Edit Spline, используемые для передачи выборок подобъектов вверх по стеку, используют меньший объем памяти и полезны при анимации форм.
  • Помещайте модификаторы Edit Spline, используемые для моделирования, вблизи от низа Modifier Stack и разрушайте их после завершения моделирования. Посредством Edit Spline нельзя выполнить анимацию сделанных изменений моделирования. После завершения моделирования статического вида формы с целью экономии памяти разрушайте модификаторы Edit Spline.

Приведенный ниже пример показывает сколько памяти используется при перемещении одной вершины несколько раз и демонстрирует возможности сохранения памяти посредством Undo:

  1. Примените к форме Edit Spline и сделайте три копии файла.
  2. Оставьте один файл таким, чтобы Edit Spline не содержал результатов редактирования.
  3. Откройте второй файл, выберите вершину, несколько раз переместите ее и несколько раз перетащите ручки вершины. Сохраните файл.
  4. Откройте третий файл, выполните такое же редактирование и между каждым изменением используйте Undo. Последнее перемещение должно поместить вершину примерно в такое же место, что и последнее перемещение в предыдущем файле. Сохраните файл.
  5. Проанализируйте размеры файлов и отметьте различия. В одном случае третий файл (с использованием Undo) был больше неотредактированного файла всего на 1.5 KB в то время, как второй файл (без Undo) был больше на 9.7 KB. А это увеличение на 546 процентов!

Edit Spline является мощным инструментом, но его следует применять с осторожностью. Планируйте шаги, в которых будет использоваться Edit Spline. Регулярно используйте Undo. Разрушайте модификатор по завершению моделирования. Использование такой методики может значительно сэкономить память и улучшить общую производительность 3DS МАХ.

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

Если выключить режим Sub-Object модификатора Edit Spline, две его характеристики можно использовать на уровне объекта. Эти характеристики находятся в свитке Edit Object, как показано на рисунке 9.16. Использование Attach Attach (присоединить) используется для добавления к выбранной форме других форм посредством модификатора Edit Spline. При использовании Attach запомните следующие важные моменты:

  • Присоединенную форму нельзя рассматривать как отдельный объект. Это означает, что присоединенная форма разрушается в простой сплайн Безье.
  • Больше нельзя выполнять доступ к базовым параметрам присоединенной формы или к любым моди-фикаторам, которые находились в Modifier Stack присоединенной формы.
  • Если флажок Reorient не отмечен, присоединенная форма остается там, где она находится, но становится частью выбранной формы.
  • Если флажок Reorient отмечен, присоединенная форма перемещается и вращается так, чтобы предыдущая точка вращения и локальная система координат совпали с положением и ориентацией точки вращения выбранной формы.

Использование Create Line

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

Основным отличием между обычным инструментом Line и Create Line в Edit Shape является то, что при использовании Create Line управление над типом вершины создания отсутствует. При перетаскивании всегда создается вершина Безье, а при щелчке - вершина типа Corner.

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

Первым уровнем Sub-Object в списке подобъектов Edit Spline является Vertex (вершина). Выбор уровня подобъекта Vertex отображает свиток Edit Vertex (отредактировать вершину) модификатора Edit Spline (см. рис. 9.17).

Работа со свойствами вершины

За счет установки свойств вершины можно управлять кривизной форм. Выберите несколько вершин и выполните правый щелчок на выборке для получения меню свойств Vertex. Существует четыре выбора - Comer, Smooth, Bezier и Bezier Comer (угол Безье) - для установки типа кривой вершины; три первых выбора можно считать опциями Creation Method инструмента Line. Существующие выборы описаны в списке далее и показаны на рисунке 9.18.

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

СОВЕТ

Тип вершины можно легко преобразовывать. При преобразовании вершины Bezier Comer в вершину Bezier одна ручка перемещается для выравнивания с другой. Обычно необходимо обеспечить такое перемещение обеих ручек, при котором они будут находиться посредине между вершинами по обеим сторонам. Это является определением вершины Smooth. Если требуется выполнить преобразование из Bezier Corner в Bezier, сначала нужно выполнить преобразование в Smooth, а затем в Bezier. В результате обычно получается полезная вершина.

Как сделать вершину первой вершиной

Каждый сплайн внутри формы содержит первую вершину. Первая вершина используется для множества целей и в некоторых ситуациях может играть исключительно важную роль. Первую вершину можно использовать в качестве:

  • Начальной точки для сплайнов, используемых как пути, т.е. для путей Loft, контроллеров Path, Motion Trajectories (траектории движения) и исказителей пространства Path Deform (деформировать путь). Первоначальное состояние или начальная точка для этих характеристик устанавливается при помощи первой вершины.
  • Точки упорядочивания вершин для геометрии. Она имеет особенно важное значение для геометрии, генерируемой из множества форм или форм со множеством сплайнов. Первая вершина каждого сплайна используется в качестве начальной точки для конструирования каркаса. Интервал и регулярность сгенерированного каркаса часто можно улучшить путем выравнивания первых точек.

Для указания первой вершины сплайна выберите в нем одиночную вершину. Если сплайн замкнут, на нем можно выбрать любую вершину; если открыт (разомкнут), необходимо выбрать одну из конечных точек. Щелкните на Make First (сделать первой).

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

Соединение вершин

Используйте кнопку Connect (соединить) для выполнения перетаскивания от одной вершины к другой, чтобы соединить их посредством сегмента. Обе вершины должны быть расположены на концах разомкнутого сплайна. Новый сегмент всегда оказывается линейным. Чтобы сегмент выглядел искривленным, необходимо изменить свойства вершины.

Добавление вершин

Добавление вершин к сплайну осуществляется по одному из трех методов:

  • Insert (вставить). Insert применяется для создания деталей или расширений существующего сплайна. Щелкните на Insert и затем на любом месте сегмента сплайна для вставки вершины в этот сегмент. При щелчке новая вершина остается присоединенной к курсору и ее можно перемещать в любое положение. Здесь доступны три опции. Первой опцией является щелчок для помещение вершины corner в ее текущее положение и вставки другой вершины после новой вершины. Для выполнения второй опции перетащите вершину Безье для помещения ее в текущее положение и вставьте другую вершину после новой вершины. Последняя опция заключается в выполнении правого щелчка (или нажатии Esc) для отмены текущей вставки вершины и выхода из операции вставки. В отличие от других режимов в 3DS МАХ из Insert нельзя выйти посредством нажатия другой кнопки. Для выхода из Insert необходимо выполнить правый щелчок или нажать Esc.
  • efine (уточнить). Используйте Refine для добавления дополнительных вершин к сплайну без изменения его формы. Щелкните на Refine, а затем в любом месте на сегменте сплайна для вставки в это место вершины Безье. Направление и размеры ручек Безье автоматически перенастраиваются с целью сохранения первоначальной формы кривой.
  • Break (разорвать). Используйте разрыв для разделения сегментов сплайна путем замены одной вершины двумя несоединенными в том же месте. Выберите вначале вершины и затем щелкните на Break. Каждая выбранная вершина заменяется двумя несоединенными вершинами того же типа.

Объединение вершин

Хотя свиток Edit Vertex содержит только одну кнопку Weld (объединить), для объединения вершин можно применять один из двух методов.

  • Щелкните на Move и перетащите одну конечную вершину на расстояние приблизительно пять пикселов от другой конечной вершины. По окончании перетаскивания всплывает диалог, запрашивающий о необходимости объединения совпадающих вершин. Подобный метод работает только при перетаскивании одних конечных вершин к другим. Результирующая вершина всегда является вершиной Ве-zier Corner за исключением случая, когда обе вершины первоначально имели тип Smooth; в этом случае результатом будет вершина с типом Smooth.
  • Выберите группу вершин, установите расстояние Weld Threshold (порог объединения) и щелкните на Weld. Выбранные вершины в пределах порога объединения, удовлетворяющие прочим ограничениям объединения, объединяются в одной усредненной точке.

При объединении вершин применяются следующие ограничения:

  • Конечные вершины можно объединять только с другими конечными вершинами.
  • Вершины в середине сплайна можно объединять только с другими вершинами в этом же сплайне.
  • Объединенные вершины в середине сплайна нельзя "перебросить" через вершину. Например, нельзя объединить каждую вторую вершину сплайна.

Трансформация вершин

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

Как упоминалось ранее в этой главе, центры Pivot Point не работают при трансформации вершин ни в какой системе координат, кроме локальной. При других центрах координат центры Pivot Point ведут себя как центр Selection. При выборе локальной системы координат можно использовать только центры Pivot Point (можно выбрать другой тип центра, но тип ведет себя так, как центр Pivot Point). Трансформация вершин посредством локального центра координат трансформации весьма удобна при работе с касательными ручками вершин Безье.

ПРИМЕЧАНИЕ

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

Трансформация ручек вершин Безье

При выборе вершин с типами Bezier или Bezier Corner видны касательные ручки Безье. Можно предположить, что путем манипуляций касательными ручками достигается полное управление направлением и кривизной сегмента.

  • Касательное направление Каждый сегмент является касательным к своей ручке в точке расположения вершины. Если обе ручки параллельны и образуют прямую линию, кривая гладко проходит через вершину. Если ни одна из двух ручек не образует прямой линии, кривая в месте расположения вершины содержит перегиб, или острую точку. На рисунке 9.20 показаны касательные ручки для гладкой кривой и для кривой с перегибами. Вершины Безье всегда гладкие, а касательные ручки образуют прямую линию. Вершины, в которых касательные ручки образуют перегиб, всегда являются вершинами типа Bezier Comer.
  • Степень кривизны Длина касательной ручки устанавливает размер (степень кривизны) соответствующего ей сегмента. Чем длиннее ручка, тем больше кривизна сегмента. На рисунке 9.20 показаны сегменты с длинными и короткими касательными ручками.
    Хотя это технически неверно, иногда полезно считать, что касательная ручка является радиусом дуги. Длинная касательная ручка создает дугу большого радиуса, когда сегмент покидает вершину. Экстремальное значение кривизны необходимо для изгиба сегмента назад вокруг направления на следующую вершину.

Наиболее общепринятый способ трансформации ручек вершин заключается в использовании инструмента Move. Для трансформации касательной ручки выполните перетаскивание зеленой рамки на конце ручки, а не перетаскивание самой вершины. Даже если выбрано множество вершин, каждый раз можно перетаскивать только одну касательную ручку. Перетаскивание касательной ручки работает следующим образом:

  • Для вершины типа Bezier перетаскивание одной ручки оказывает влияние на обе ручки.
  • Для вершины типа "Bezier Corner" каждую ручку можно перетаскивать по отдельности.
  • Перетаскивание параллельно направлению ручки изменяет степень кривизны ручки.
  • Перетаскивание перпендикулярно ручке вращает ручку вокруг вершины, изменяя направление каса тельной.
  • Нажатие Shift при перетаскивании преобразует вершину Bezier в вершину "Bezier Corner" так, что можно перетаскивать одну ручку.

Можно также перетаскивать ручки выборки вершин или блокировать вместе ручки "Bezier Corner" с помощью опций Lock Handles (заблокировать ручки) (см. рис. 9.21). Опции Lock Handles основаны на понятии порядка вершины. Каждый сплайн сохраняет вершины в порядке, начиная с назначенной первой вершины и завершая последней вершиной. Касательная ручка тогда идентифицируется как входная для ручки, указывающей назад на предыдущую вершину, и как выходная для ручки, указывающей вперед на следующую вершину. Посмотрев на них, трудно определить их различия, однако последние проявляются при использовании опции Alike в Lock Handles.

Опции блокировки Alike (одинаково) и All (все) ведут себя по разному в зависимости от того, выполняется ли работа с выборкой, состоящей из одной или множества вершин.

  • Lock Handles All (заблокировать все ручки) для одной вершины вызывает влияние на обе ручки вершины типа "Bezier Comer" при перетаскивании любой из них.
  • Lock Handles All для множества вершин вызывает то, что перетаскивание одной ручки оказывает влияние на все выбранные вершины.
  • Lock Handles Alike для одной вершины не имеет эффекта, поскольку у одной вершины есть две различных ручки - одна входящая, а другая выходящая.
  • Lock Handles Alike для множества вершин создает эффект, заключающийся в том, что перетаскивание входящей или выходящей ручки влияет на соответствующую ручку всех выбранных вершин. Это отличие заметно только в том случае, если выбранные вершины являются вершинами типа "Bezier Corner". Для вершин типа Безье перетаскивание любой ручки влияет на обе ручки.
  • Нажмите Shift при перетаскивании с опцией Lock Handles Alike для преобразования всех выбранных вершин в вершины типа "Bezier Corner".

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

  • Вращение вершины при использовании локальной системы координат трансформации поворачивает касательные ручки, оказывая влияния на степень кривизны кривой.
  • Масштабирование вершины при использовании локальной системы координат трансформации изменяет степень кривизны кривой, не изменяя направления касательной.

Анимация трансформаций вершины

Анимация недоступна непосредственно ни для одной характеристики модификатора Edit Spline. Однако анимацию эффекта трансформации вершин можно выполнить посредством передачи в Modifier Stack выбранных вершин модификаторам XForm или Linked XForm (связанный XForm). Выполнение анимации с трансформациями вершин производится по следующим шагам:

  1. Выберите вершины с помощью Edit Spline.
  2. Оставьте активной Sub-Object Vertex (вершина подобъекта) и щелкните на кнопке More в панели Modify.
  3. Выберите XForm из диалога Modifiers. Вокруг выбранных вершин появляется желтый прямоугольник. Это гизмо XForm.
  4. При активизированном Sub-Object Gizmo (гизмо подобъекта) для модификатора XForm включите кнопку Animate (выполнить анимацию) и перемещайте, вращайте или масштабируйте гизмо XForm.

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

  1. Выберите посредством Edit Spline одну вершину. Если необходимо выполнить анимацию с касательными ручками нескольких вершин, повторяйте этот процесс для каждой вершины.
  2. Оставьте активной Sub-Object Vertex и щелкните на кнопке More в панели Modify.
  3. Выберите XForm из диалога Modifiers. Желтое гизмо XForm помещается вокруг одной вершины, что делает ее практически невидимой.
  4. При активном Sub-Object Gizmo для модификатора XForm щелкните на Lock Selection Set (заблокировать набор выборок) в середине Status Line (строка состояния) в нижней части окна 3DS МАХ. Эта выборка позволяет выполнять перетаскивание в любое место на экране для трансформации гизмо, а не перетаскивать само невероятно маленькое гизмо.
  5. Включите кнопку Animate и поворачивайте гизмо для выполнения анимации с направлением касательных ручек. Масштабируйте гизмо для выполнения анимации со степенью кривизны касательных ручек.

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

Следующим уровнем редактирования подобъекта в модификаторе Edit Spline является Segment (сегмент). Выбор Segment в уровне Sub-Object отображает свиток Edit Segment модификатора Edit Spline (см. рис. 9.22). Свиток Edit Segment содержит несколько больше опций, нежели свиток Edit Vertex.

Detach и Delete уже были описаны для всех уровней подобъекта в начале обсуждения Edit Spline. Остальные опции описываются в последующих разделах.

Разрыв сегментов

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

Работа со свойствами сегмента

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

  • Curve (кривая). Выбор Curve необязательно вызывает искривление сегмента. Это свойство скорее заставляет сегмент следовать набору свойств для вершин на любом из концов сегмента. Если вершины являются угловыми, сегмент выглядит линейным; если гладкими или имеют тип Безье, сегмент выглядит искривленным. '
  • Line (линия). Выбор Line заставляет сегмент игнорировать свойства вершин и создавать прямую линию. Когда сегмент использует свойство Line, касательные ручки для вершин Безье на обоих концах отображают X, а не рамку. Х указывает на то, что касательная ручка сегментом игнорируется (рис. 9.23).

Использование свойства Line сегмента является удобным способом уплощения сегмента, не влияя на его кривизну на обеих концах. Подобный результат можно получить за счет преобразования вершин в вершины типа "Bezier Corner" и последующей настройки касательных ручек так, чтобы сделать сегмент линейным, однако такой процесс является достаточно трудоемким.

Трансформация сегментов

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

Если требуется выполнить анимацию с эффектом трансформации сегмента, можно применить метод XForm, описанный ранее для вершин.

Как упоминалось ранее в этой главе, при трансформации сегментов в любой системе координат центры Pivot Point не работают. При выборе локальной системы координат происходит блокировка на мировую систему координат с центром в мировом начале координат.

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

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

Detach и Delete уже были описаны для всех уровней подобъекта в начале обсуждения Edit Spline.

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

Эта простая команда рисует сегмент от последней вершины разомкнутого (открытого) сплайна обратно к первой. Выберите сплайн и щелкните на Close (закрыть).

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

Создание контуров для сплайна является быстрым и удобным методом получения множества концентрических копий закрытого сплайна или получения версии с двойной линией открытого сплайна. Такие копии удобны, при создании контурного текста, полого логотипа или аналогичным форм. Характеристика Outline (контур) сначала может показаться мудреной, но после овладения ею можно заметить, что она обладает большой гибкостью.

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

Флажок Center определяет то, как генерируется контур с расстояния контура.

  • Если этот флажок не отмечен, первоначальный сплайн остается, а контур помещается на расстояние Outline Width (ширина контура) от оригинала.
  • В случае отметки этого флажка первоначальный сплайн удаляется и два контура помещаются по обеим сторонам оригинала на половине расстояния Outline Width. После выбора сплайна для создания контура продолжайте работу в соответствии с одним из следующих методов:
  • Перетащите выбранный сплайн для определения места расположения контура. Контур появляется при перетаскивании. После завершения перетаскивания набросок помещается в требуемое место. При перетаскивании сплайна можно определить только положительную ширину контура - контур может перемещаться только в одном направлении, которое определяется порядком вершин в сплайне. Контуры для сплайнов, построенных по часовой стрелке, всегда перетаскиваются наружу от центра сплайна; контуры для сплайнов, построенных против часовой стрелки, всегда перемещаются внутрь к центру сплайна. Если направление перетаскивания контура не является желаемым, отмените операцию за счет выполнения правого щелчка и примените другой метод .
  • Перетаскивайте счетчик в поле Outline Width. Счетчик можно перетаскивать для определения как положительной, так и отрицательной ширины контура. При отпускании кнопки мыши контур помещается на это место, а значение счетчика сбрасывается в 0.0. При каждом щелчке на счетчике создается новый сплайн-контур.
  • Введите значение в поле Outline Width. После нажатия Enter создается контур и счетчик сбрасывается в 0.0.

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

  1. Выберите сплайн, образующий букву.
  2. Щелкните на Outline.
  3. Снимите отметку с флажка Center.
  4. В поле Outline Width наберите 5, нажмите Enter, наберите 10, нажмите Enter, наберите 15, нажмите Enter.

Каждый раз после нажатие Enter создается контур, а поле Outline Width сбрасывается. Предыдущие шаги создают множество контуров с интервалом 5 единиц между каждой копией (см. рис. 9.25).

Булевы операции

Команда Boolean объединяет два исходных сплайна и всегда их удаляет в процессе создания булевого сплайна.

Перед выполнением булевой операции на сплайнах исходные сплайны должны удовлетворять следующим требованиям:

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

За исключением этих ограничений команда Boolean является очень простым и стабильным инструментом. На рисунке 9.26 показаны действительные и недействительные сплайны для булевых операций. Для выполнения булевой операции с двумя сплайнами:

  1. Выберите один сплайн.
  2. Щелкните на Boolean.
  3. Щелкните на типе булевой операции Union (объединение), Substaction (вычитание) или Intersection (пересечение).
  4. Щелкните на втором сплайне.

Если выбрана операция Substaction, второй сплайн будет всегда вычитаться из первого.

Зеркальное отображение сплайнов

При зеркальном отображении сплайнов создаются такие же результаты, как и при использовании команды Mirror object (создать зеркальное отображение объекта) в линейке инструментов. В обеих случаях происходит переключение объекта по отношению к одной или двум осям, обеспечивая в это же время опцию копирования.

Рассмотрим важные отличия между созданием зеркальных отображений сплайнов и объектов:

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

Для зеркального отображения сплайна выполните следующие шаги:

  1. Выберите сплайн.
  2. По необходимости установите флажок Сору.
  3. Щелкните на кнопке оси Mirror для определения направления Mirror.
  4. Щелкните на Mirror.
    Каждый раз при щелчке на Mirror выбранные сплайны переключаются вокруг своих локальных центров.

Трансформация сплайнов

Сплайны можно трансформировать с помощью стандартных инструментов выборки и трансформации в линейке инструментов, включая метод Shift-Clone для создания копий сплайна. Эти типы трансформаций являются статическими и с ними нельзя выполнить анимацию.

Если требуется выполнение анимации трансформации сплайна, можно использовать метод XForm, описанный ранее для вершин.

Как упоминалось ранее в этой главе, центры Pivot Point не работают при трансформации сплайнов в любой системе координат. При выборе локальной системы координат происходит блокировка на мировую систему координат с центром в начале мировых координат.

Использование модификаторов форм

Подобно большинству объектов в 3DS МАХ к формам можно применять модификаторы. Конечно, все предыдущее обсуждение Edit Spline имело отношение к модификатору специального назначения, рассчитанного на работу исключительно с объектами форм, а в разделах об анимации трансформаций подобъекта применялся модификатор XForm.

Модификаторы, поставляемые с 3DS МАХ, в случае их применения к объекту формы обеспечивают, од но из двух: они модифицируют геометрию формы, оставляя форму формой, или преобразуют форму в каркас и модифицируют геометрию каркаса.

Применение к сплайнам геометрических модификаторов

Применение геометрических модификаторов к форме подобно применению модификатора к любому другому объекту. Примеры применения модификаторов к формам показаны на рисунке 9.27. Применение модификаторов к объектам форм и выполнение анимации с модификаторами открывает широкие возможности моделирования. Представьте себе только возможности анимации формы, используемые для создания поверхности кругового вращения или анимацию пути Loft.

Один важный момент, который следует помнить при применении модификаторов к формам, заключается в том, что большинство форм являются плоскими (или, по крайней мере, они начинаются плоско); форма не имеет размера вдоль локальной оси Z. По случайному стечению обстоятельств большинство модификаторов по умолчанию оказывают воздействие именно по локальной оси Z объекта.

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

Преобразование форм в плоские каркасы

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

Многие модификаторы преобразуют форму в объект каркаса, и наиболее очевидным модификатором для этого является EditMesh. Другими модификаторами, которые можно использовать для преобразования форм в каркасы, являются любые модификаторы поверхности, подобные Normal (нормальная). Smooth (гладкая) или Material (материал). Модификаторы поверхности просты и не несут в себе потенциал увеличения накладных расходов по памяти, как в случае модификатора EditMesh.

Вытягивание сплайнов

Используйте модификатор Extrude (вытянуть) каждый раз, когда речь идет о форме, которую необходимо вытянуть вдоль прямой линии. В следующей главе описывается создание объектов Loft, способных вытянуть любое количество форм вдоль сплайна практически любого вида. Но для вытягивания одной формы вдоль прямой линии Extrude является наилучшим выбором.

Можно виртуально вытянуть любую форму, включая формы с разомкнутыми сплайнами, образующими листы или поверхности, похожие на ленты. Однако, некоторые формы работают лучше других. Например, формы с перекрывающимися сплайнами или сплайны, которые пересекаются, могут давать странные результаты, если включена опция создания наконечников. Примеры вытянутых форм показаны на рисунке 9.28.

При вытягивании форм основными понятиями является величина вытягивания (Extrusion amount) и количество сегментов:

  • Величина (Amount). Установите длину вытягивания, которая измеряется вдоль локальной оси Z формы. Большинство форм плоско лежат на своих локальных плоскостях XY, создавая вытягивания с плоской верхушкой. Если вытягивается форма, содержащая сплайны, которые вращаются вне своей локальной плоскости XY, можно создать перекошенные или срезанные по диагонали вытягивания. На рисунке 9.29 показан результат вытягивания формы, если для вращения одного из сплайнов вне плоскости XY используется Edit Spline.
  • Сегменты (Segments). Установите количество делений вдоль длины вытягивания. Если планируется изгибать или как-то иначе деформировать результат вытягивания посредством другого модификатора, следует увеличить количество сегментов.

При вытягивании формы выбор можно делать из следующих опций:

  • Создание наконечников (Capping). Наконечник можно создать на любом или на обеих концах вытягивания, имея при этом возможность выбора между методами создания наконечников - Morph или Grid. Метод создания наконечников Morph использует меньшее количество граней, но не выполняет деформацию так хорошо, как это делает метод Grid. Метод Morph необходим в случае дальнейшего использования вытянутых объектов в качестве целей морфинга.
  • Генерация координат проецирования (Generation Mapping Coordinates). Отметка этого флажка применяет координаты проецирования к вытянутым сторонам для использования проецируемых материалов. Применение координат распределения к наконечникам объекта осуществляется вручную.
  • Вывод (Output). Выбор определяет результат вытягивания - каркасный объект или лоскутный объект. Правильный выбор существенно зависит от того, что планируется делать с объектом. Выбор по умолчанию Mesh подходит для большинства целей.

Вращение сплайнов

Для генерации поверхности кругового вращения к объекту формы применяется Lathe (вращать). Поверхность вращения является чем-то, что можно создать в виде Loft, но применяя Extrude, однако если круговое вращение вокруг дуги совершает одна форма, Lathe является лучшим выбором.

Как и в случае Extrude, можно виртуально вращать любую форму. На рисунке 9.30 показаны примеры форм вращения.

Наиболее важными решениями при вращении форм являются установка опций оси Lathe и установка поверхности кругового вращения.

Установка оси Lathe

По умолчанию расположение оси Lathe начинается с центра создания формы и выравнивается с локальной осью Y формы. Центр создания - это расположение по умолчанию точки вращения после создания формы.

ПРЕДУПРЕЖДЕНИЕ

Из-за ошибки, имеющейся в 3DS МАХ, кажется, что ось Lathe проходит через точку вращения формы, однако, фактический центр Lathe располагается в первоначальном центре создания формы. Расположение оси Lathe является корректным только в том случае, если перед применением Lathe точка вращения не перемещалась вручную. Не перемещайте точку вращения объекта формы, если планируете позже применить модификатор Lathe. В противном случае ось Lathe будет появляться в неправильном месте.

Если необходимо изменить положение сплайна по отношению к точке вращения формы, для перемещения сплайна лучше использовать Edit Spline, а не Adjust Pivot (отрегулировать точку вращения).

Если вместо положения оси по умолчанию требуется использовать что-то другое, доступны четыре выбора:

  • Min (минимум). Щелкните на Min для расположения оси на отрицательной границе оси Х формы.
  • Center (центр). Щелкните на Center для расположения оси в геометрическом центре формы. В зависимости от типа выполняемого на форме редактирования геометрический центр может либо совпадать, либо нет с центром создания по умолчанию.
  • Мах (максимум). Щелкните на Мах для расположения оси на максимальной границе оси Х формы.
  • Sub-Object (подобъект). Щелкните на Sub-object и вручную перемещайте или вращайте ось для помещения ее в требуемое место. К оси Lathe можно также применить неоднородное масштабирование для создания эллиптических поверхностей кругового вращения (см. рис. 9.31). Обычно масштабирование следует применять вдоль активной оси Lathe.

После использования любого из этих четырех методов для расположения оси Lathe нет гарантированного метода для сброса оси в место расположения по умолчанию. Чтобы вернуться к расположению оси по умолчанию следует удалить модификатор Lathe и затем повторно применить его.

Ориентацию оси Lathe можно установить посредством трех кнопок ориентирования. Щелкайте на кнопках X, Y или Z для выравнивания оси Lathe с локальной осью выбранной формы. При выборе оси Lathe необходимо учитывать следующие проблемы:

  • По умолчанию ориентация оси Lathe выравнивается с локальной осью Y формы.
  • Если выбрать выравнивание оси Lathe с локальной осью Х формы, кнопки Min, Center и Мах использовать нельзя. При выравнивании с осью Х ось Lathe необходимо перемещать вручную.
  • Большинство форм, которые вращаются, являются плоскими, что делает основными выборами оси Х и Y. Вращение вокруг оси Z используется только в том случае, если форма не лежит на локальной плоскости XY.

Управление поверхностью кругового вращения

Три опции поверхности кругового вращения управляют степенью кругового вращения и сложностью генерируемого каркаса:

  • Градусы (Degrees). Устанавливает количество градусов кругового вращения. В случае использования значений меньших 360° вероятно следует отметить Capping в начале и в конце формы вращения.
  • Сегменты (Segments). Устанавливает количество промежуточных копий формы, которые необходимо создать в процессе вращения. Большие значения для сигментов приводят к созданию более гладких вращении, тогда как малые значения порождают грубые поверхности или даже геометрические рамки Если необходима круглая форма, для кругового вращения на 360° обычно требуется 16 и более сегментов. Меньшие значения (от 4 до 8) используются для создания обычных геометрических рамок, как показано на рис. 9.32.
  • Объединить главные вершины (Weld Core). Главные вершины - это вершины формы, лежащие на оси Lathe. Каждая главная вершина формы дублируется для каждого сегмента вращения, что приводит к "накоплению" большого количества вершин у центра и может вызвать ошибки визуализации. Weld Core следует отмечать всякий раз, когда вершина формы лежит на оси Lathe. Снятие отметки Weld Core может потребоваться при создании целей морфинга и необходимости сохранения предсказуемого числа вершин.

Опции создания наконечников и выбор между типами вывода Mesh и Patch такие же, как и для Extrude. Lathe включает в себя флажок Generate UV Coordinates (генерировать UV-координаты) для применения координат распределения к сторонам объекта вращения. Если не используется полный оборот в 360°, к наконечникам координаты распределения применяются вручную.

Создание фасок на сплайнах

В 3DS МАХ R1.1 был введен новый модификатор Bevel (фаска), используемый для вытягивания и создания фаски на форме. Этот модификатор в основном применяется для классического текста с фаской и обработок логотипов (см. рис. 9.33).

Точно так же, как для Extrude и Lathe, объекты с фаской можно создавать как объекты лофтинга. Для большинства ситуаций, в которых необходима классическая фаска, Bevel представляет собой наилучший выбор. При выполнении фаски основное внимание следует уделить:

  • Установке значений Bevel.
  • Выбор ребра для обработки.
  • Ликвидация пересечений ребер.

Установка значений для Bevel

Создавайте объект с фаской путем установки для Bevel следующих значений:

  • Уровни (Levels). Для всех объектов с фасками требуется минимум два уровня - начальный и конечный. Поле Start Outline (начальный контур) является единственным параметром для начального уровня. Считайте начальный уровень уровнем Level 0. Level 1 по умолчанию является конечным уровнем для объекта с двумя уровнями. Можно разрешить еще два дополнительных уровня. Уровень с самым высоким номером всегда считается конечным уровнем.
    Обработка классической фаски использует все четыре уровня. Рисунок 9.34 показывает классическую фаску и идентифицирует одну из возможных организаций уровней.
  • Контур (Outline). Указывает насколько большим или меньшим является уровень по сравнению с предыдущей формой уровня. Значение представляет собой расстояние, выраженное в текущих единицах, от ребра предыдущей формы до ребра контурной копии формы. Начальный контур представляет отличие между начальной формой и формой оригинала.
    Ключевым моментом, который следует помнить при установке значений контура, является то, что значение всегда является изменением по отношению к предыдущей форме. Например, объект с классической фаской в 5.0 единиц использует следующие значения контура: Start Outline: 0.0 (нет отличий от формы оригинала) Уровень 1. Outline: 5.0 (фаска наружу 5.0 единиц) Уровень 2. Outline: 0.0 (сохраняет тот же размер, что и уровень 1) Уровень 3. Outline: -5.0 (фаска назад к форме оригинала).
    Если посмотреть на предыдущий список, то основными правилами для создания классических фасок с четырьмя уровнями являются: В поле Start Outline устанавливается основной размер фаски. Уровни 1 и 3 имеют одинаковые значения, но противоположные знаки. Если необходима фаска 45°, значение Height для уровней 1 и 3 положительны и равны значению Outline. Уровень 2 всегда равен 0.
    Понимая то, что начальный контур задает базовый размер объекта, можно устанавливать состояния фаски для уровней 1, 2 и 3 и затем экспериментировать с общим размером объекта путем изменения начального контура.
  • Высота (Height). Устанавливает расстояние от предыдущего уровня до текущего, которое измеряется вдоль локальной оси Z формы. Для классических фасок значения Height всегда положительны и обычно равны. Комбинируя наибольшие положительные и отрицательные значения, можно создавать интересные вариации фасок. На рисунке 9.35 показан объект со следующими значениями фаски: Start Outline: 3.0 Уровень 1. Outline: 0.0, Height: 20.0 (поднимается прямо вверх без фаски) Уровень 2. Outline: -5.0, Height: 0.0 (создает плоскую верхушку шириной 5.0 единиц) Уровень 3. Outline: 0.0, Height: -5.0 (погружается в форму на 5.0 единиц)

Выбор ребер для обработки

Опции области Surface (поверхность) в свитке Parameters устанавливают как обрабатываются поверхности ребер. В основном опции управляют тем, являются ли стороны плоскими, закругленными или гладкими круглыми сторонами:

  • Linear or Curved Sides (линейные или искривленные стороны). Выбирается необходимый тип интерполяции. Curved Sides использует кривую сплайна для интерполяции от одного уровня к следующему. Для просмотра эффекта выбора Curved Sides значение Segments должно быть установлено в значение больше 1.
  • Segments (сегменты). Увеличивайте количество сегментов, если используется Curved Sides или планируется выполнение деформации объекта посредством другого модификатора.
  • Smooth Across Levels (сглаживание через уровни). Применяет сглаживающие группы для сглаживания граней сторон объекта. Bevel никогда не пытается выполнить сглаживание от сторон в грань объекта. При использовании Curved Sides или множества сегментов следует отметить эту опцию.

Опции распределения UV-координат (Generate UV Coordinates) и создания наконечников типичны для всех объектов за небольшим исключением в том, что понимается под созданием наконечников Тор (верхний) и Bottom (нижний). Большинство объектов с наконечниками имеют метки Start (начало) и End (конец). Объекты не беспокоятся о пространственных взаимоотношениях наконечников. Bevel проверяет высоты по локальной оси Z для начального и конечного уровня. Отметка Тор покрывает уровень с наибольшим значением по локальной оси Z, а отметка Bottom покрывает уровень с наименьшим значением по локальной оси Z.

Ликвидация пересечений

Общие проблемы для текстовых форм с фасками возникают на засечках и там, где форма доходит до точки острее 90°. В случае применения фаски эти области стремятся "отскочить" на большие расстояния и пересечь другие части объекта, как показано на рисунке 9.36.

Для решения проблемы пересечений применяется один из двух методов. Используйте параметры Intersection (пересечение) модификатора Bevel или от редактируйте форму вручную.

Опции в области Intersection в свитке Parameters автоматически предотвращают пересечение уровней.

Отметьте флажок Keep lines from crossing (предохранять линии от пересечения) для включения проверки пересечений.

Введите значение в поле Separation (разделение) для установки минимального расстояния, которое следует поддерживать между ребрами. Это значение может быть установлено в 0.01 единицы, при котором создается фаска, переходящая в точку. Рисунок 9.37 показывает результат отметки Keep lines from crossing для предыдущего объекта с фаской, который содержит пересечения.

ПРИМЕЧАНИЕ.

Опции Keep lines from crossing может потребоваться значительное время для вычисления всех ограничений пересечения, в особенности для сложной буквы с засечками. После установки фаски посредством необходимого метода может потребоваться разрушение Modifier Stack для преобразования фаски в каркас и предотвращения повторных вычислений.

Многие проблемы пересечений решаются вручную при помощи Edit Spline. Большинство проблем пересечения вызваны ребрами формы, приходящими в острую точку. Если сделать точку более плоской, можно решить множество проблем, связанных с пересечением.

Для решения проблемы пересечений используется следующий метод:

  1. Примените к форме модификатор Bevel и идентифицируйте пересечения.
  2. Примените модификатор Edit Spline ниже модификатора Bevel.
  3. Используйте Refine для добавления вершины к углу, вызывающему проблемы.
  4. Удалите угловую вершину.
  5. По выбору для линеаризации установите сегмент между двумя новыми вершинами.
  6. Выберите модификатор Bevel из Modifier Stack и проверьте результаты.

На рисунке 9.38 показан объект из рисунка 9.37 после применения приведенного метода.

В Bevel также входит флажок Generate UV Coordinates для применения к сторонам объекта с фаской координат распределения. К наконечникам объекта координаты распределения необходимо применять вручную.