Формируем елочное украшение «Грибок»
В ходе данного упражнения мы превратим две стандартные сферы в сетки кусков Безье, а затем, манипулируя касательными векторами вершин кусков, быстренько сформируем из одной сферы шляпку, а из другой — ножку грибка, подобного тому, какой был показан на рис. 2.22 главы 2.
Практическая польза, которую можно извлечь из такой модели, будет состоять в том, чтобы украсить с ее помощью новогоднюю елку нашего кафе «МАХ».
Повторяйте за мной следующие действия:
1. Перезагрузите программу и сохраните пустую сцену под именем Gribok.max.
2. Создайте в окне проекции вида сверху два примитива типа Sphere (Сфера), один радиусом 13-15 см, а другой — 7-8 см. Выделите обе сферы, щелкните правой кнопкой мыши и выберите в подменю Convert To (Превратить в) четвертного меню команду Convert to Editable Patch (Превратить в редактируемый кусок).
3. Скройте от просмотра сферу меньшего радиуса, чтобы она пока не мешала работе. Выделите оставшуюся сферу, преобразованную в сетку кусков Безье. Перейдите на командную панель Modify (Изменить) и разверните список подобъектов, щелкнув в поле стека модификаторов на квадратике со знаком «плюс» слева от надписи Editable Patch (Редактируемый кусок). Сферическая сетка состоит из восьми идентичных треугольных кусков Безье, каждые четыре из которых образуют верхнюю и нижнюю половины сферы. Один из этих кусков выделен на рис. 9.60 на уровне подобъекта Patch (Кусок). Соответственно, сферическая сетка имеет шесть вершин: четыре по экватору сферы и две на полюсах. Каждая из этих вершин принадлежит сразу четырем примыкающим к ней кускам. По этой причине из каждой управляющей вершины исходит сразу по четыре касательных вектора. Любые два соседних вектора из этих четырех управляют формой соответствующего куска Безье. Останавливаюсь столь подробно на топологии сферической сетки кусков Безье, потому что она напрямую определяет возможности редактирования формы такой сетки.
Рис. 9.60. На виде сверху выделен один из восьми кусков Безье, образующих сетку сферы
4. Переключитесь на уровень выделения подобъекта Vertex (Вершина). Вы увидите на поверхности сферы шесть угловых вершин кусков Безье в виде точек синего цвета, а вокруг сферы — «облако» управляющих вершин решетки деформации в виде желтых квадратиков, как показано на рис. 9.61. Как указывалось в главе 5, эти управляющие вершины достались в наследство от предыдущих версий программы. Мы не будем их использовать, так что постарайтесь не обращать на них внимания. Выделите нижнюю вершину сферы, щелкнув на ней или растянув вокруг нее выделяющую рамку. Вершина приобретет красный цвет и вокруг нее появятся четыре касательных вектора с маркерами зеленого цвета на концах.
Рис. 9.61. Нижняя из показанных стрелками угловых вершин кусков Безье сферической сетки выделена и снабжена касательными векторами с маркерами на концах
5. В окне вида спереди переместите выделенную нижнюю вершину вверх, одним движением превратив сферическую сетку в шляпку гриба, как показано на рис. 9.62.
Рис. 9.62. Нижняя угловая вершина сферической сетки поднята вверх, в результате нижняя полусфера «втиснута» в верхнюю
6. Перейдите в окно вида сверху и немного поработайте с касательными векторами четырех вершин, расположенных по экватору сферы, стремясь сделать шляпку не столь неестественно геометрически правильной и симметричной. Вершины кусков бывают двух типов: Coplanar (Компланарная) и Corner (С изломом). Если вершина имеет тип Coplanar (Компланарная), то при перемещении маркера одного из управляющих векторов остальные будут перемещаться так, чтобы сохранить компланарность (то есть параллельность одной и той же плоскости) с перемещаемым вектором. Вершина типа Corner (С изломом) дает возможность перемещать любой из зеленых маркеров управляющих векторов независимо от остальных, создавая при этом излом поверхности. По умолчанию все вершины сетки кусков Безье, полученной методом преобразования из примитива-сферы, получают тип Coplanar (Компланарная). Для смены типа вершины или группы вершин необходимо выделить их и, указав на одну из вершин курсором, щелкнуть правой кнопкой мыши. В появившемся четвертном меню следует выбрать команду, соответствующую нужному типу вершины. В данном случае выберем команду Corner (С изломом), как показано на рис. 9.63.
Рис. 9.63. Изменим тип четырех вершин по экватору сферической сетки с Coplanar на Comer
7. Для редактирования формы сферы выделите одну из четырех вершин на экваторе и свободно двигайте маркеры ее касательных векторов, которые теперь будут перемещаться независимо друг от друга. Затем выделите другую вершину и поработайте с ее касательными векторами. Манипулируя векторами по своему усмотрению, придайте шляпке грибка более живой, не столь геометрически правильный вид, примерно так, как показано на рис. 9.64. Не забывайте также о возможности перемещать не только касательные векторы угловых вершин кусков, но и сами эти вершины.
Рис. 9.64. Форма шляпки немного отредактирована за счет независимого перемещения касательных векторов угловых вершин кусков Безье
ЗАМЕЧАНИЕ Когда дело доходит до необходимости двигать маркеры касательных векторов, может оказаться, что этому мешает контейнер преобразования, ограничивающий перемещение какой-то одной из осей координат. Дело в том, что контейнер в виде тройки координатных векторов всегда остается в точке выделенной вершины куска, даже если вы пытаетесь переместить не вершину, а маркер касательного вектора. Когда перемещаешь саму вершину, пользоваться этими векторами для ограничения осей перемещения удобно. Но этот же контейнер преобразования определяет и ограничения на перемещение маркеров касательных векторов вершины, расположенных в стороне от нее. Часто маркер не удается переместить в нужном направлении только из-за того, что в габаритном контейнере активен не тот вектор координатной оси, а активизировать нужный вектор, одновременно манипулируя маркером, никак не получается. Чтобы преодолеть это затруднение и обеспечить возможность перемещения маркера в плоскости экрана в произвольном направлении, следует щелкнуть на квадратике вблизи центра контейнера преобразования, который должен приобрести полупрозрачную заливку желтого цвета. Однако часто после щелчка на маркере происходит сброс выделения этого квадратика из-за того, что оси контейнера слишком длинные и щелчок на маркере воспринимается компьютером как щелчок на одной из осей контейнера. В этом случае рекомендую уменьшить длину векторов контейнера, нажимая клавишу «минус» в основной части клавиатуры. Если и это не помогает, то можно отменить показ контейнера, выбрав команду меню Views > Show Transform Gizmo (Проекции > Показывать контейнер преобразования). В этом случае для циклического выбора ограничений осей, вдоль которых можно будет перемещать маркеры касательных векторов в плоскости окна проекции, по формуле Y-X-XY, следует нажимать клавишу F8. |
8. Теперь восстановите видимость второй сферы, преобразованной в сетку кусков Безье. Выделите ее, переключитесь на уровень выделения подобъектов-вершин и, действуя аналогичным образом, превратите ее в ножку грибка, подобную той, что показана на рис. 9.65. Для этого может потребоваться самое минимальное число действий с вершинами и их касательными векторами.
Рис. 9.65. За счет двух-трех перемещений угловых вершин кусков Безье и их касательных векторов малая сфера превращена в ножку гриба
9. На этом можно было бы и остановиться. Однако в учебных целях рассмотрим еще пару инструментов для работы с подобъектами сетки кусков Безье, пытаясь сформировать выступ на шляпке. Ведь мы делаем не просто гриб, а елочное украшение, и этот выступ будет изображать крепление для нити, на которой висит игрушка. Как указывалось в главе 8, к кускам Безье можно применять операции простого выдавливания и выдавливания со скосом боковых граней. Попробуем сформировать выступ на вершине шляпки методом выдавливания со скосом. Однако для этого вначале потребуется увеличить сегментацию сетки, ведь сейчас вся верхняя полусфера шляпки состоит из четырех больших треугольных кусков Безье. Выделите сетку шляпки и переключитесь на уровень выделения подобъекта Patch (Кусок). В окне вида сверху аккуратно выделите все четыре куска, составляющие верхнюю полусферу шляпки. В свитке Geometry (Геометрия) командной панели Modify (Изменить) щелкните на кнопке Subdivide (Подразделить). Каждый кусок будет дополнительно разбит на четыре треугольных куска меньшего размера. Теперь выделите четыре новых куска, примыкающих к верхнему полюсу сетки, и еще раз щелкните на кнопке Subdivide (Подразделить). Теперь вблизи полюса имеются куски достаточно малого размера, которые можно выдавить со скосом боковых граней.
10. Снова выделите в окне вида сверху четыре совсем уже небольших куска, примыкающих к вершине на верхнем полюсе шляпки. Щелкните в свитке Geometry (Геометрия) на кнопке Bevel (Скос). Переместите курсор в окно проекции Front (Вид спереди) и укажите им на выделенные куски. Когда курсор примет вид значка режима выдавливания, щелкните кнопкой мыши и перетаскивайте курсор, выдавливая выделенные куски в интерактивном режиме, как показано на рис. 9.66. Эта стадия операции в принципе не отличается от выдавливания граней обычной сетки, которое вы делали уже не раз. Выдавив куски на нужную высоту, отпустите кнопку мыши и дополнительно переместите курсор, обеспечив скос боковых сторон выдавленного фрагмента на нужный угол. Для завершения выдавливания со скосом боковых сторон щелкните левой кнопкой мыши, а для выхода из режима выдавливания — правой кнопкой.
Рис. 9.66. Выступ на верху шляпки создается выдавливанием четырех кусков Безье вблизи верхнего полюса сферы. Виден курсор режима выдавливания со скосом
11. Чтобы впоследствии иметь возможность применить к шляпке и ее выступу различные материалы, перейдите к свитку Surface Properties (Свойства поверхности). Выделите в окне вида спереди куски, образующие выступ, сформированный методом выдавливания со скосом. По умолчанию все куски сферы имеют одинаковые значения идентификатора материала, равные 1. Введите число 2 в счетчик Set ID (Установить идентификатор) раздела Material (Материал). Сохраните файл под заданным в начале работы именем Gribok.max.
ЗАМЕЧАНИЕ Итоговую модель грибка можно найти в файле Gribok.max, хранящемся в папке Scenes\ Glava_09 компакт-диска, прилагающегося к книге. |