Создаем ложку в виде NURBS-тела лофтинга
Ложка нам понадобится для сервировки столов «МАХ-кафе». Если вдуматься, то создать трехмерное тело в форме обычной ложки не так-то просто. Ложка не является ни телом вращения, ни телом экструзии, да и обычный лофтинг не дает желаемых результатов — ложка выходит довольно корявая (попробуйте сами!). Тут-то и приходит на помощь лофтинг NURBS-поверхности. Кстати, при выполнении этого упражнения мы рассмотрим еще один полезный практический прием, часто применяемый разработчиками трехмерных моделей, — использование опорных контуров-проекций. Такие контуры не участвуют непосредственно в формировании поверхности, а служат только опорными линиями, демонстрирующими будущие границы проекций поверхности создаваемого тела. Опорные проекции используются для визуальной ориентировки с целью правильного размещения и масштабирования сечений.
Итак, чтобы усвоить все особенности построения NURBS-поверхностей методом лофтинга, внимательно повторяйте за мной следующие действия:
1. Подготовьте программу к работе обычным порядком. Запустите или перезагрузите max 7.5, выберите в качестве единиц измерения сантиметры и установите шаг сетки равным 1 см. Установите в окне проекции Тор (Вид сверху) масштаб, при котором вертикальный размер видимой части сетки составляет примерно 25 см. Разверните окно проекции на весь экран. Сохраните созданную пустую сцену под именем Lozhka.max.
2. Нарисуйте в окне проекции Тор (Вид сверху) зеркальную половину опорного контура проекции будущей ложки, показанную на рис. 7.14. Этот контур не будет непосредственно использоваться при создании трехмерного тела, но в порядке тренировки создайте его в виде NURBS-кривой типа CV, выбрав для этого на командной панели Create (Создать) инструмент CV Curve (CV-кри-вая). Первую (крайнюю слева) опорную вершину поместите в точку (-15,5; 0; 0), последнюю — в точку (14; 0; 0). Остальные опорные вершины разместите так, чтобы по возможности воспроизвести контур, приведенный на рисунке.
Рис. 7.14. Нарисована зеркальная половина опорного контура проекции будущей ложки
3. Нарисовав линию половины контура, выделите ее и создайте зеркальную копию кривой. Для этого перейдите на командную панель Modify (Изменить) и раскройте палитру инструментов для работы с NURBS-объектами, щелкнув на кнопке NURBS Creation Toolbox (Инструменты создания NURBS-объектов) в свитке General (Общие параметры). Выберите инструмент Create Mirror Curve (Создать зеркальную кривую). Курсор примет вид стрелки со значком, изображенным на кнопке. Установите курсор на линию контура. Она при этом должна окраситься в синий цвет, а курсор — принять вид крестика. Щелкните кнопкой мыши, создав зеркальную копию кривой. Установите переключатель Mirror Axis (Ось отражения) в положение Y. Настройте значение в счетчике Offset (Смещение) так, чтобы крайние вершины исходной кривой и ее копии совпали, как показано на рис. 7.15.
Рис. 7.15. Зеркальная копия и оригинал составили полный контур проекции ложки в окне Тор
4. Перейдите в окно проекции Front (Вид спереди) и, снова выбрав инструмент CV Curve (CV-кривая), нарисуйте опорный контур проекции будущей ложки при взгляде на нее сбоку, как показано на рис. 7.16. Горизонтальный размер контура должен быть таким же, как и предыдущего, подготовленного в окне проекции Тор (Вид сверху). На этом подготовительная часть работы заканчивается.
Рис. 7.16. В окне проекции Front нарисуйте опорный контур проекции ложки при взгляде сбоку
5. Переходим к главному — подготовке сечений для лофтинга. Активизируйте окно проекции Left (Вид слева). Выделите обе линии контуров и щелкните на кнопке Zoom Extents Selected (Выделенные объекты целиком), чтобы установить в окне нужный масштаб. Выберите инструмент Ellipse (Эллипс) и постройте в центре окна сильно вытянутый эллипс с горизонтальной осью размером порядка 3-3,5 см, как показано на рис. 7.17. Назовите объект Sechenie01. Щелкните на выделенном эллипсе правой кнопкой мыши и выберите в появившемся четвертном меню цепочку команд Convert To > Convert to NURBS (Превратить в > Превратить в NURBS-поверхность). Эллипс будет преобразован в NURBS-поверхность, представленную пока только одним сечением.
Рис. 7.17. Сечения для лофтинга будем создавать на основе стандартного сплайна Ellipse, преобразованного в NURBS-поверхность
6. Теперь нужно создать достаточное количество копий сечения и разместить их в нужных местах вдоль контура будущей ложки. Активизируйте окно проекции Тор (Вид сверху). Ориентируясь по линии контура проекции, переместите эллипс на левый край контура. Щелкните на квадратике со знаком «плюс» слева от надписи NURBS Surface (NURBS-поверхность) в окне стека модификаторов командной панели Modify (Изменить) и выберите в раскрывшемся дереве подобъектов строку Curve (Кривая). Это нужно для того, чтобы все создаваемые сечения оказались подобъектами одной NURBS-поверх-ности. Нажав и удерживая клавишу Shift, щелкните на эллипсе и слегка переместите его вправо, установив курсор на ось X контейнера преобразования. В появившемся окне диалога Sub-Object Clone Options (Параметры дублирования подобъектов) просто щелкните на кнопке ОК, оставив переключатель в положении Independent Copy (Независимая копия). Создайте таким образом в общей сложности 14 сечений, располагая их более часто в тех местах, где форма опорного контура резко меняется. Там, где форма опорного контура изменяется плавно, можно располагать сечения с большими интервалами, как показано на рис. 7.18.
Рис. 7.18. Все 14 сечений размещены вдоль контура проекции ложки
7. Далее необходимо придать изгиб контурам сечений, по которым будет строиться вогнутая часть «резервуара» ложки. Для этого воспользуемся модификатором изгиба, с которым вы познакомились в главе 6. Выделите сечения 10-14 на уровне подобъекта Curve (Кривая). Выделенные сечения окрашиваются в красный цвет. Раскройте список Modifier List (Список модификаторов) командной панели Modify (Изменить) и щелкните на строке Bend (Изгиб). В свитке Parameters (Параметры) с элементами настройки изгиба установите переключатель Bend Axis (Ось изгиба) в положение X. Укажите в счетчике Angle (Угол) раздела Bend (Изгиб) величину -185°, а в счетчике Direction (Направление) задайте 90, чтобы изгиб происходил в вертикальной плоскости. В итоге вы должны получить результат, показанный на рис. 7.19.
Рис. 7.19. Изгиб сечений хорошо виден в окне проекции Left
8. Для продолжения работы над телом лофтинга необходимо свернуть модификатор изгиба в стеке модификаторов. Что такое стек модификаторов, как и зачем его «сворачивать», вы узнаете подробнее в главе 8, а пока просто щелкните на строке Bend (Изгиб) в окне стека модификаторов правой кнопкой мыши и выберите в появившемся контекстном меню стека команду Collapse All (Свернуть все), как показано на рис. 7.20. В окне предупреждения о критическом характере операции сворачивания модификаторов щелкните на кнопке Yes (Да).
Рис. 7.20. В контекстном меню стека модификаторов выбрана команда Collapse All
9. Теперь выполните необходимое масштабирование сечений, подгоняя их размер по видимой линии опорного контура проекции ложки. Для этого снова выберите строку Curve (Кривая) в развернутом ранее дереве подобъектов объекта NURBS Surface (NURBS-поверхность). Выберите инструмент Select and Uniform Scale (Выделить и равномерно масштабировать). Поочередно выделяйте сечения одно за другим в окне проекции Тор (Вид сверху) и изменяйте их масштаб только вдоль оси Y, ориентируясь на линию контура, как показано на рис. 7.21. Как вы помните, в max 7.5 инструмент Select and Uniform Scale (Выделить и равномерно масштабировать) позволяет выполнять операцию неравномерного масштабирования. С этой целью курсор следует устанавливать не в пределы треугольной области у центра контейнера преобразования и не на трапециевидную полоску, а именно на ось У, следя за тем, чтобы она приобрела желтую окраску. Сечение на правом краю черпака будущей ложки нужно стянуть практически в точку. С этой целью удобно использовать окно численного ввода значений коэффициентов масштаба. Выделив сечение, щелкните на кнопке инструмента Select and Uniform Scale (Выделить и равномерно масштабировать) правой кнопкой мыши. Введите в поле счетчика Offset: Screen (Приращения: экранные) значение 1, чтобы уменьшить размер сечения до 1 % от текущей величины. Уменьшать масштаб до 0 % не следует, такая операция не является корректной.
Рис. 7.21. В результате масштабирования сечения приобрели нужный размер
10. Переместите сечения в нужные положения по вертикали. Для этого перейдите в окно проекции Front (Вид спереди) и, ограничивая перемещение осью Y, передвиньте сечения по вертикали, разместив их в пределах контура сечения ложки. Чередуя работу с инструментами Select and Move (Выделить и переместить) и Select and Uniform Scale (Выделить и равномерно масштабировать) в окнах проекций Тор (Вид сверху) и Front (Вид спереди), выполните подгонку размеров сечений по опорным контурам проекций ложки, как показано на рис. 7.22. Это удобно делать, развернув окно проекции во весь экран. Как вы помните, для этого достаточно нажать клавиши Alt+w. Для переключения проекций в окне также используйте клавиатурные комбинации: нажатие клавиши Т в латинском регистре включает проекцию Тор (Вид сверху), клавиши F — проекцию Front (Вид спереди).
Рис. 7.22. После перемещения по вертикали и подгонки размеров сечения заняли нужные положения в пространстве
11. Настала пора создать поверхность методом лофтинга. Выключите режим выделения подобъектов, щелкнув в окне стека модификаторов на строке NURBS Surface (NURBS-поверхность). Чтобы опорные контуры не мешали процедуре построения поверхности, скройте их от просмотра. Раскройте палитру инструментов для работы с NURBS-объектами, щелкнув на кнопке NURBS Creation Toolbox (Инструменты создания NURBS-объектов) в свитке General (Общие параметры) командной панели Modify (Изменить).
Выберите инструмент Create U Loft Surface (Создать поверхность методом U-лофтинга). Переместите курсор в окно проекции Тор (Вид сверху), где он примет вид стрелки со значком, указанным на кнопке инструмента. Установите курсор на первое слева сечение и, когда линия сечения окрасится в синий цвет, а курсор примет вид крестика, щелкните кнопкой мыши. Сечение будет помечено синим кружком, что указывает на его включение в поверхность. Переместите курсор к следующему сечению (за курсором потянется пунктирная линия) и снова щелкните кнопкой мыши. Продолжайте щелкать последовательно на остальных сечениях. Если в окне проекции включен режим тонированного отображения, вы будете наблюдать постепенное формирование поверхности тела лофтинга, как показано на рис. 7.23. Щелкнув па последнем сечении, щелкните правой кнопкой мыши для завершения процесса лофтинга. Назовите сформированный объект Lozhka.
Рис. 7.23. Для построения поверхности просто последовательно щелкайте на сечениях
12. При необходимости коррекции формы ложки включите режим выделения подобъектов, выбрав строку Curve (Кривая) в развернутом дереве подобъектов. Снова восстановите видимость опорных контуров. Выделяйте отдельные кривые сечений и перемещайте или масштабируйте их, добиваясь нужного результата, показанного на рис. 7.24. Закончив корректировку модели, удалите кривые опорных контуров. Сохраните файл под заданным в начале работы именем Lozhka.max. Сопоставьте получившийся у вас результат с объектом из файла с таким же именем Lozhka.max, который располагается в папке Scenes\G!ava_07 компакт-диска, прилагающегося к книге.
Рис. 7.24. Окончательный вид ложки, сформированной как NURBS-поверхность методом лофтинга