Первые три свитка параметров...
Рис. 9.56. Первые три свитка параметров модификатора MeshSmooth
12. Проследите за тем, чтобы в раскрывающемся списке Subdivision Method (Метод разбиения) свитка с тем же названием был выбран вариант NURMS (Non-Uniform Rational MeshSmooth — Неоднородная рациональная сглаженная сетка). Изначально в счетчике Iterations (Итераций) свитка Subdivision Amount (Степень разбиения) значится величина 0, обозначающая отсутствие сглаживания. Измените это значение на 1, а затем на 2. Чем больше число итераций, тем более гладкой становится сетка. Наблюдайте в окнах проекций, как полигональная сетка будет приобретать все более сглаженные формы, что иллюстрируется на рис. 9.57. Установите в свитке Local Control (Локальное управление) флажок Display Control Mesh (Показывать управляющую сетку). При этом в окнах проекций наряду со сглаженной сеткой будет демонстрироваться линиями светло-коричневого цвета наружный контур исходной сетки в том виде, какой она имела до применения сглаживания.
Рыбка приобрела округлые...
Рис. 9.57. Рыбка приобрела округлые формы после двух итераций действия модификатора сглаживания. Вокруг сглаженного объекта изображается контур исходной сетки
13. Щелкните в свитке Local Control (Локальное управление) на кнопке Vertex (Вершина) или выберите строку Vertex (Вершина) в дереве подобъектов модификатора MeshSmooth (Сглаживание сетки) в окне стека модификаторов. При этом в узлах управляющей сетки появятся синие точки, обозначающие вершины. Вы имеете возможность применять к этим вершинам любые допустимые преобразования, наблюдая в окнах проекций, какое влияние оказывают эти преобразования на сглаженный вариант сетки. Попробуйте перемещать вершины управляющей сетки в районе верхнего или хвостового плавника, чтобы ощутить, насколько плавно изменяется при этом форма сглаженной сетки. Есть еще один удобный способ управления сглаженной сеткой — изменение весов управляющих вершин. Выделите, к примеру, управляющие вершины на концах и посередине хвоста. Измените их веса в счетчике Weight (Вес) с принятого по умолчанию значения 1 на, скажем, 3 или 4. Вы заметите, как сглаженная сетка подтянется к вершинам с увеличенным весом. Манипулируя подобным образом управляющими вершинами вокруг грудных плавников, сделайте их более тонкими у основания и более широкими на концах. Примерный результат настройки формы нашей NURMS-рыбки показан на рис. 9.58. Сохраните файл, который после инкрементирования должен иметь имя Zolotaia ribka01.max.
Форма верхнего, хвостового...
Рис. 9.58. Форма верхнего, хвостового и грудных плавников рыбки настроена за счет перемещения и изменения весов вершин управляющей сетки
Можете самостоятельно поэкспериментировать с управляющими вершинами в районе краев жаберных крышек, перемещая эти вершины и меняя их веса. В заключение остается только сделать рыбке глаза из двух стандартных сфер, и она приобретет вид, показанный ранее на рис. 9.46.
Округлые формы, приобретенные...
Рис. 9.59. Округлые формы, приобретенные объектом типа Editable Poly, после двух итераций действия встроенных средств сглаживания; виден контур исходной сетки, играющей роль управляющей решетки
На виде сверху выделен...
Рис. 9.60. На виде сверху выделен один из восьми кусков Безье, образующих сетку сферы
4. Переключитесь на уровень выделения подобъекта Vertex (Вершина). Вы увидите на поверхности сферы шесть угловых вершин кусков Безье в виде точек синего цвета, а вокруг сферы — «облако» управляющих вершин решетки деформации в виде желтых квадратиков, как показано на рис. 9.61. Как указывалось в главе 5, эти управляющие вершины достались в наследство от предыдущих версий программы. Мы не будем их использовать, так что постарайтесь не обращать на них внимания. Выделите нижнюю вершину сферы, щелкнув на ней или растянув вокруг нее выделяющую рамку. Вершина приобретет красный цвет и вокруг нее появятся четыре касательных вектора с маркерами зеленого цвета на концах.
Нижняя из показанных...
Рис. 9.61. Нижняя из показанных стрелками угловых вершин кусков Безье сферической сетки выделена и снабжена касательными векторами с маркерами на концах
5. В окне вида спереди переместите выделенную нижнюю вершину вверх, одним движением превратив сферическую сетку в шляпку гриба, как показано на рис. 9.62.
Изменим тип четырех...
Рис. 9.63. Изменим тип четырех вершин по экватору сферической сетки с Coplanar на Comer
7. Для редактирования формы сферы выделите одну из четырех вершин на экваторе и свободно двигайте маркеры ее касательных векторов, которые теперь будут перемещаться независимо друг от друга. Затем выделите другую вершину и поработайте с ее касательными векторами. Манипулируя векторами по своему усмотрению, придайте шляпке грибка более живой, не столь геометрически правильный вид, примерно так, как показано на рис. 9.64. Не забывайте также о возможности перемещать не только касательные векторы угловых вершин кусков, но и сами эти вершины.
Форма шляпки немного...
Рис. 9.64. Форма шляпки немного отредактирована за счет независимого перемещения касательных векторов угловых вершин кусков Безье
За счет двух-трех перемещений...
Рис. 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.
Звездочка, вылепленная...
Рис. 9.67. Звездочка, вылепленная из треугольных кусков Безье, машет вам лучом-«рукой»
Наша звезда имеет вертикальную плоскость зеркальной симметрии, разделяющую ее на фронтальную и тыльную половины. Применим в связи с этим уже опробованный нами прием: будем создавать только одну зеркальную половинку звезды, затем выполним ее копирование и соединим половинки вместе.
Выполняйте вместе со мной следующие действия:
1. Как обычно, выполните перезагрузку mах 7.5 и сохраните пустую сцену под именем Zvezda.max.
2. Создайте в окне проекции Front (Вид спереди) вблизи от начала глобальной системы координат стандартный объект типа Tri Patch (Треугольный кусок) размером приблизительно 12x12 см. Вы, конечно, помните о том, что этот примитив на самом деле представляет собой два треугольных куска Безье, соединяющихся вдоль общей диагонали. Преобразуйте объект к типу Editable Patch (Редактируемый кусок) и поверните сетку на 45°, чтобы диагональ, разделяющая куски, разместилась вертикально. Убедитесь в этом, переключившись на командной панели Modify (Изменить) на уровень выделения подобъектов Patch (Кусок) и выделив один из двух кусков Безье, из которых состоит прямоугольная сетка. Переключитесь на уровень выделения подобъектов-вершин, выделите все четыре угловые вершины двух кусков и преобразуйте их к типу Corner (С изломом), используя четвертное меню. Перемещая вершины и манипулируя маркерами касательных векторов, придайте сетке кусков форму, подобную показанной на рис. 9.68. Это будет заготовка лицевой половины верхнего из пяти лучей звезды. Обратите внимание на то, что верхняя и нижняя вершины, лежащие на концах диагонали, разделяющей два треугольных куска Безье, имеют по три касательных вектора. Это поможет нам на следующем шаге упражнения придать выпуклость заготовке луча.
Форма стандартной сетки...
Рис. 9.68. Форма стандартной сетки из двух треугольных кусков Безье, повернутой на 45°, настроена за счет перемещения угловых вершин и их касательных векторов
3. На виде спереди сетка приняла нужные формы, но она пока остается совершенно плоской, в чем легко убедиться, заглянув, скажем, в окно проекции Тор (Вид сверху). Чтобы придать сетке нужную выпуклость, придется работать сразу с несколькими окнами проекций. Выделите верхнюю вершину сетки в окне вида спереди. Перейдите в окно проекции вида справа или слева. Пусть для определенности это будет вид справа. Плоская сетка в таком окне будет, естественно, выглядеть как отрезок вертикальной линии. Найдите маркер касательного вектора, исходящего из верхней вершины вниз, вдоль диагонали сетки, и переместите его влево. Контролируйте результат, глядя не только в окно вида справа, но и в окно вида сверху. Затем выделите нижнюю вершину сетки и также переместите ее влево. Теперь поработайте с маркерами касательных векторов двух боковых вершин, придав сетке примерно такую форму, какая показана на рис. 9.69. Ориентировочные направления перемещения вершины и маркеров показаны на рисунке стрелками.
Сетке верхнего луча...
Рис. 9.69. Сетке верхнего луча придана выпуклость за счет перемещения нижней вершины и маркеров нескольких касательных векторов в направлениях, показанных стрелками
4. Для дальнейшего наращивания сетки можно использовать две альтернативы. Один способ состоит в том, чтобы выделить нужное боковое ребро куска Безье и присоединить к нему новый кусок, используя в нашем случае инструмент Add Tri (Добавить треугольный). Вторая возможность заключается в копировании обоих кусков, из которых состоит верхний луч, перемещении их в нужную позицию и присоединении к исходной сетке. Испытаем в учебных целях оба варианта действий. Сначала попробуем присоединять кусок за куском. Переключитесь на уровень выделения подобъектов Edge (Ребро). Выделите в окне проекции вида спереди правое нижнее ребро сетки и щелкните на кнопке Add Tri (Добавить треугольный) в свитке Geometry (Геометрия). К выделенному ребру автоматически присоединится новый треугольный кусок Безье. Этот кусок размещается программой так, чтобы без перегибов наследовать форму исходной сетки, как показано на рис. 9.70. В нашем случае, однако, это не совсем то, что нам нужно. Форму нового куска требуется подправить.
К правому нижнему ребру...
Рис. 9.70. К правому нижнему ребру сетки присоединен новый треугольный кусок, наследующий ее форму
5. Переключитесь на уровень выделения подобъектов-вершин. Перемещая на виде спереди крайнюю вершину нового куска и манипулируя маркерами касательных векторов этой и двух других его вершин, придайте сетке форму, похожую на изображенную на рис. 9.71. Не забывайте, что мы создаем пока сетку только одной зеркальной половины звезды, так что на краю сетки, вдоль которого пойдет сшивка зеркальных половинок, вершины кусков должны лежать приблизительно в одной плоскости. Этого следует добиться, настраивая положение крайней вершины и ее векторов в окне вида сверху. На рис. 9.64 видно ориентировочное расположение маркеров касательных векторов угловых вершин добавленного куска Безье.
Вид сетки после редактирования...
Рис. 9.71. Вид сетки после редактирования формы нового куска. На виде сверху крайняя вершина нового куска должна лежать на линии симметрии звезды
6. Переключившись на уровень работы с ребрами, выделите нижнее из свободных ребер только что добавленного куска и снова щелкните на кнопке Add Tri (Добавить треугольный). Произойдет дальнейшее наращивание площади сетки за счет добавления еще одного треугольного куска Безье. Вернувшись на уровень выделения вершин, настройте форму добавленного куска за счет перемещения маркеров касательных векторов. Не забудьте переместить нижнюю угловую вершину нового куска в окне вида сверху на линию зеркальной симметрии половинок создаваемой звезды. В итоге сетка должна принять вид, похожий на рис. 9.72. Можно продолжать дальнейшее наращивание сетки аналогичным способом, начав с ребра, указанного на рисунке стрелкой. Мы, однако, перейдем к освоению второго обозначенного выше способа моделирования сетки из кусков Безье за счет присоединения готовых элементов.
Второй луч звезды сформирован...
Рис. 9.72. Второй луч звезды сформирован из двух новых треугольных кусков Безье. Стрелка указывает на ребро, с которого следует продолжать наращивание сетки
7. Чтобы присоединить к сетке целый готовый фрагмент, переключитесь на уровень выделения подобъекта Patch (Кусок). Выделите оба куска, составляющих первый луч звезды. Нажав и удерживая клавишу Shift, переместите копию пары кусков в сторону, а затем поверните и расположите их примерно так, как показано на рис. 9.73. Теперь можно произвести прикрепление нового фрагмента из двух кусков к остальной части сетки. Переключитесь на уровень выделения подобъекта Vertex (Вершина). Выделите две пары вершин на концах тех двух ребер, вдоль которых должно произойти слияние основной сетки и нового фрагмента. Убедитесь, что в нижней части свитка Selection (Выделение) имеется сообщение 4 Vertices Selected (Выделены 4 вершины).
Два куска Безье, образующие...
Рис. 9.73. Два куска Безье, образующие верхний луч звезды, скопированы и размещены в нужной позиции для прикрепления. Стрелками показаны вершины, которые нужно слить
8. В разделе Weld (Слить) свитка Geometry (Геометрия) установите в счетчике справа от кнопки Selected (Выделенные) величину порогового расстояния между вершинами, которые будут слиты в одну после щелчка на упомянутой кнопке. В нашем случае достаточно будет задать пороговое расстояние равным 1 см. Щелкните на кнопке Selected (Выделенные). Вершины попарно сольются, а сообщение в нижней части свитка Selection (Выделение) будет читаться как 2 Vertices Selected (Выделены 2 вершины). Слияние вершин ведет к органичному прикреплению нового фрагмента к основной сетке с заменой двух соединявших пары вершин ребер на одно новое. Остается только настроить форму вновь созданного луча примерно так, как показано на рис. 9.74, перемещая вершины кусков и манипулируя маркерами касательных векторов. При таком способе наращивания сетки не нарушается выравнивание вершин вдоль плоскости симметрии звезды. В этом легко убедиться, заглянув в окно вида сверху. В нашем конкретном случае это, несомненно, удобно, так как сокращает усилия по настройке формы сетки.
Создан еще один луч звезды
Рис. 9.74. Создан еще один луч звезды
9. Продолжите наращивание сетки, добавляя новые куски любым из возможных способов, показавшимся вам более простым и подходящим. В итоге фронтальная половинка звезды будет выглядеть так, как показано на рис. 9.75.
Сетка фронтальной половинки...
Рис. 9.75. Сетка фронтальной половинки звезды построена полностью
Сегментация одного...
Рис. 9.76. Сегментация одного из лучей увеличена, что позволило звезде помахать нам этим лучом как рукой
11. Теперь остается только создать зеркальную копию сформированной половинки звезды и соединить обе половины вместе. Переключитесь на уровень выделения объекта Editable Patch (Редактируемый кусок) в целом. Убедитесь, что вся сетка кусков выделена. Активизируйте окно вида справа. Щелкните на кнопке Mirror Selected Objects (Отразить выделенные объекты) главной панели инструментов. В появившемся окне диалога установите переключатель Clone Selection (Тип отражения) в положение Сору (Копия) и щелкните на кнопке ОК. Будет создана зеркальная копия половники звезды. Чтобы слить вершины новой сетки кусков с вершинами первой половины звезды, требуется предварительно включить новую половину в состав исходной сетки. Щелкните на кнопке Attach (Прикрепить) свитка Geometry (Геометрия), а затем — на исходной половинке звезды.
12. Перейдя на уровень выделения подобъектов-вершин, выделите с помощью рамки в окне вида справа, слева или сверху все вершины кусков, лежащие вдоль линии стыка двух половин звезды. Последите за числом выделенных вершин по сообщению в нижней части свитка Selection (Выделение). У меня оказались выделенными 24 вершины. Щелкните на кнопке Selected (Выделенные) в разделе Weld (Слить) свитка Geometry (Геометрия). Убедитесь в том, что число вершин после слияния уменьшилось ровно в два раза. Если этого не произошло, то проверьте, достаточно ли плотно сдвинуты половинки перед слиянием вершин, или увеличьте пороговое расстояние слияния. В итоге трехмерная звездочка должна получиться похожей на ту, которая была показана ранее на рис. 9.67. Впрочем, допускаю, что ваше произведение будет выглядеть гораздо лучше и интереснее.
Елочное украшение «Спящий...
Рис. 9.77. Елочное украшение «Спящий месяц» построено методом натягивания сетки кусков Безье на сплайновый каркас
1. После обычной перезагрузки max 7.5 сохраните пустую сцену под именем Mesiac.max.
2. Разверните окно проекции Front (Вид спереди) во весь экран. Выберите на командной панели Create (Создать) категорию объектов Shapes (Формы) и с помощью инструмента Arc (Дуга) нарисуйте в окне проекции дугу радиусом примерно 20-25 см. Чтобы получить доступ к средствам редактирования формы дуги на уровне подобъектов, примените к ней модификатор Edit Spline (Правка сплайна). Стандартная дуга имеет всего четыре вершины (рис. 9.78). Разумеется, подобную дугообразную кривую можно было нарисовать и вручную. Однако в ряде случаев, подобных нашему, бывает удобно начать построение с использования стандартного сплайна.
В качестве основы сплайнового...
Рис. 9.78. В качестве основы сплайнового каркаса выбран стандартный сплайн-дуга
3. Продолжите построение каркаса, дорисовывая сплайны вручную. Чтобы вновь создаваемые сплайны оказывались подобъектами исходной дуги, что является необходимым условием применимости модификатора Surface (Поверхность), будем строить их с помощью инструмента Create Line (Создать линию). Кнопка этого инструмента находится в свитке Geometry (Геометрия) командной панели Modify (Изменить) и доступна на уровне выделения любого подобъ-екта сплайна. Переключитесь на уровень выделения подобъекта Vertex (Вершина), чтобы видеть метки вершин. Установите флажок Automatic Welding (Автоматическое слияние) в разделе End Point Auto-Welding (Автослияние крайних вершин) этого же свитка Geometry (Геометрия). Это обеспечит слияние концевых вершин двух копий сплайна при их сближении на расстояние, меньшее указанного в счетчике Threshold Dist (Пороговое расстояние).
4.
laquo;Профиль лица»...
Рис. 9.79. «Профиль лица» месяца дорисован вручную так, чтобы замкнуть дугу, затем с помощью того же инструмента нарисован контур глаза
5. Поработайте над формой кривой, выделяя отдельные вершины и манипулируя их касательными векторами. Теперь добавьте с помощью инструмента Refine (Уточнить) несколько вершин на линии тыльной стороны контура «головы» месяца — той линии, которая еще недавно была простой дугой. При добавлении вершин руководствуйтесь следующими соображениями. Нарисованный нами контур будет служить как бы рамкой сплайнового каркаса. Для создания сетки, на которую будет натягиваться поверхность, нам потребуется добавлять сплайны поперек этой рамки. Для такой цели нужно иметь пары вершин на лицевой и тыльной сторонах контура головы, располагающиеся примерно напротив друг друга. Постарайтесь добавить такие парные вершины примерно так, как показано на рис. 9.80. Впрочем, не забывайте о том, что если при работе над каркасом потребуются новые вершины, создать их в любом требуемом количестве с помощью инструмента Refine (Уточнить) никогда не поздно.
Добавлены новые вершины...
Рис. 9.80. Добавлены новые вершины, которые позволят продолжить построение сплайнового каркаса
6. Для продолжения работы над снлайновым каркасом необходимо активизировать режим трехмерной привязки. Если вы забыли, как это делается, обратитесь к главе 3. Щелкните на кнопке 3D Snap (Трехмерная привязка), расположенной на главной панели инструментов шах 7.5, чтобы зафиксировать ее в нажатом состоянии. При этом активизируется режим, позволяющий точно выравнивать новые объекты по заданным элементам геометрии сцены во всех трех измерениях одновременно. Чтобы выбрать нужный тип привязки, щелкните на кнопке 3D Snap (Трехмерная привязка) правой кнопкой мыши. Появится окно диалога Grid and Snap Settings (Настройка сетки и привязок). На вкладке Snaps (Привязки) этого окна обязательно сбросьте установленный по умолчанию флажок Grid Points (Узлы сетки), обеспечивающий трехмерную привязку к узлам координатной сетки, и установите флажок Endpoint (Концевые точки) (рис. 9.81). Этот тип привязки обеспечит фиксацию курсора только на вершинах сплайнового каркаса.
В окне диалога Grid...
Рис. 9.81. В окне диалога Grid and Snap Settings выбран тип привязки, используемый при построении сплайновых каркасов
7. Приступим к созданию поперечных ребер внутри контурной рамки каркаса. Убедитесь, что активен режим выделения подобъектов-вершин. Щелкните на кнопке инструмента Create Line (Создать линию) и установите курсор на одну из вершин рамки каркаса, скажем, вблизи верхнего рожка месяца. При этом вокруг выбранной вершины должен появиться квадрат голубого цвета — значок привязки. Также в голубой цвет должен окраситься и прилегающий к выбранной вершине сегмент сплайна, как можно видеть на рис. 9.82. Начинайте создание нового сплайна, только когда увидите оба эти сигнала готовности к точной привязке вершины нового сплайна к имеющейся вершине. Если начать создание нового сплайна, не видя сигналов точной привязки, новая вершина может оказаться сколь угодно близко от имеющейся, но не в одной точке с ней, а этого недостаточно для успешного применения к такому каркасу модификатора Surface (Поверхность).
Появление значка привязки...
Рис. 9.82. Появление значка привязки в виде голубого квадрата и окрашивание прилегающего к вершине сегмента кривой (показаны стрелками) в голубой цвет — сигналы точной привязки
Построен первый поперечный...
Рис. 9.83. Построен первый поперечный сплайн каркаса, концевые вершины которого за счет трехмерной привязки точно совмещены с вершинами рамки
9. Продолжите построение новых поперечных сплайнов, соединяя между собой противолежащие вершины рамки, а также вершины рамки — с вершинами контура глаза. Создайте сплайн, который обрисовывает контуры губ, как показано на рис. 9.84. Щелкните правой кнопкой мыши для завершения рисования сплайна и еще раз — для выключения режима создания линий.
Построен ряд поперечных...
Рис. 9.84. Построен ряд поперечных сплайнов, постепенно выявляющих структуру каркаса
10. До сих пор мы проводили все построения в окне вида спереди, так что пока наш каркас является совершенно плоским. В этом легко убедиться, заглянув в окно вида сверху. Сейчас наступает самый важный момент: пора придать каркасу требуемую объемность. Сделать это не так легко, так как придется перемещать маркеры касательных векторов вершин сплайнов в трехмерном пространстве. Перед началом настройки векторов обязательно выключите режим трехмерной привязки, щелкнув на кнопке 3D Snap (Трехмерная привязка) и приведя ее в исходное положение. Попытка перемещать векторы при включенной трехмерной привязке может приводить к непредсказуемым последствиям. Задача состоит в том, чтобы придать выпуклость поперечным сплайнам каркаса, не затрагивая рамку, которая должна остаться плоской. Для придания сплайнам требуемой выпуклости используйте следующий прием. Выделяйте нужную вершину в окне вида спереди, а перемещайте ее в окне вида сверху. Те вершины, в которых пересекаются два или более сплайнов, выделяйте обязательно с помощью рамки. Чтобы выделенные вершины имели касательные векторы, изменяйте их тип на Bezier (Безье) или, где необходимо, на Bezier Corner (Безье с изломом). Начните, скажем, со средней вершины сплайна вблизи верхнего рожка месяца. Выделите ее на виде спереди, преобразуйте к типу вершины Безье, затем в окне вида сверху переместите вершину в сторону от рамки каркаса. Настройте положения ее касательных векторов, чтобы придать сплайну требуемое закругление. Затем поочередно выделите рамкой каждую из концевых вершин этого сплайна, преобразуйте их к типу Безье и настройте касательные векторы концевых вершин. На рис. 9.85 можно видеть, как приблизительно должны выглядеть первые два поперечных сплайна на видах спереди и сверху. Следите за тем, чтобы в ходе настройки не сместить сами концевые вершины. Если такое случится, отмените ошибочные действия.
Первым двум поперечным...
Рис. 9.85. Первым двум поперечным сплайнам придана выпуклость за счет перемещения их средних вершин в сторону от плоскости каркаса в направлении стрелок
Вид на каркас сверху...
Рис. 9.86. Вид на каркас сверху и в произвольной проекции показывает, что поперечным сплайнам придана выпуклость
12. На данном этапе уже можно применить к каркасу модификатор Surface (Поверхность). При этом куски Безье образуются только на тех ячейках каркаса, которые имеют по три или четыре вершины. Пока таких ячеек немного: вблизи верхнего рожка месяца, справа и слева от глаза и в пределах контура губ, так что поверхность и впрямь будет состоять из отдельных кусков. Тем не менее многие мастера советуют применять модификатор уже на ранней стадии работы над каркасом, чтобы видеть, в нужном ли направлении идет его правка. Попробуйте отыскать на каркасе «правильные» ячейки и применить модификатор, чтобы убедиться в том, что понимаете его действие. Разверните список Modifier List (Список модификаторов) и щелкните на строке Surface (Поверхность) в разделе Patch/Spline Editing (Правка кусков/сплайнов). Обратите внимание на счетчик Threshold (Порог) в свитке параметров модификатора, который появится на панели Modify (Изменить). Если расстояние между какими-то вершинами сплайнового каркаса оказывается меньше величины Threshold (Порог), эти вершины сливаются в одну. В связи с этим величина данного параметра существенным образом влияет на вид поверхности, получающейся после «натягивания» сетки кусков на сплайновый каркас. В нашем примере установленное но умолчанию значение порога в 2,54 см (один дюйм) оказывается великовато, и часть вершин в районе губ месяца сливается, искажая форму сетки (рис. 9.87, слева). Чтобы устранить эти искажения, уменьшите пороговое расстояние слияния, для чего достаточно один раз щелкнуть на нижней стрелке счетчика Threshold (Порог). Параметр принимает значение 1,27 см, и в итоге изображение в окне вида спереди должно выглядеть примерно так, как показано на рис. 9.87, справа. Рассмотрите сформировавшиеся куски под разными углами, чтобы убедиться в том, что они имеют нужную выпуклость.
В результате применения...
Рис. 9.87. В результате применения модификатора Surface из ячеек с четырьмя вершинами образовались куски Безье, форма которых искажена (слева), что устраняется уменьшением величины Threshold (справа)
Чтобы продолжить работу над каркасом, не нужно удалять модификатор из стека. Достаточно активизировать в окне стека модификаторов строку любого из подобъектов модификатора Edit Spline (Правка сплайна), и каркас снова будет доступен для редактирования. По мере появления новых «правильных» ячеек на них будут «натягиваться» куски Безье. Увидеть эти новые куски можно будет, просто снова щелкнув в окне стека на строке модификатора Surface (Поверхность) для его активизации.
13. Снова включите режим трехмерной привязки и продолжите добавление новых сплайнов в окне вида спереди, тщательно следя за сигналами привязки вершин новых сплайнов к уже имеющимся вершинам каркаса. Постройте продольный сплайн, соединив сначала две противолежащие вершины в районе нижнего рожка месяца, а затем перемещаясь вверх и щелкая на средних вершинах поперечных сплайнов. Завершите этот продольный сплайн в правом углу глаза. Далее постройте сплайны, обозначающие дополнительную сегментацию каркаса в области губ. В частности, соедините кривыми вершины в серединах губ с уголком рта. Эти кривые позволят придать губам требуемую выпуклость. Соедините угол рта также и с основанием носа, чтобы ячейка каркаса над верхней губой имела допустимое число вершин. В качестве наглядного руководства используйте изображение, показанное на рис. 9.88. Добавив новые сплайны, настройте их выпуклость и кривизну, как было описано выше.
Добавлены сплайны для...
Рис. 9.88. Добавлены сплайны для придания выпуклости губам и разбиения каркаса на треугольные и четырехугольные ячейки
14. Если вы все делали как нужно, то теперь уже должно было образоваться гораздо больше «правильных» ячеек каркаса. Активизировав в стеке строку модификатора Surface (Поверхность), вы сможете увидеть нечто, подобное изображению на рис. 9.89. Не знаю, как для вас, а для меня этот процесс появления «из ничего» предмета, который кажется вполне осязаемым, представляется основным привлекательным моментом данной техники моделирования. Если получившаяся у вас поверхность не выглядит достаточно гладкой, имеет выступы или впадины, следует снова вернуться к правке формы сплайнов каркаса, разглядывая их под разными углами.
Поверхность вылепливаемого...
Рис. 9.89. Поверхность вылепливаемого объекта нарастает кусок за куском
Новые сплайны, завершающие...
Рис. 9.90. Новые сплайны, завершающие конструкцию каркаса, проходят через вершины, пронумерованные в порядке упоминания в тексте
Сглаживание сетки и NURMS-объекты
Сглаживание сетки и NURMS-объекты
Вид фигурки шахматного коня уже в меньшей степени вызывает в воображении образ породившего ее параллелепипеда. Тем не менее ее стилизованная угловатость напоминает об искусственном геометрическом характере объекта. В предлагаемом ниже упражнении вам предстоит познакомиться с инструментом сглаживания угловатой геометрии моделей, созданных на базе параллелепипеда, за счет превращения их в объекты типа NURMS. Таким инструментом является модификатор MeshSmooth (Сглаживание сетки). NURMS-объекты недаром сходны по названию с NURBS-объектами. Сглаженная сетка типа NURMS строится в пределах каркаса с набором управляющих вершин, повторяющего внешние контуры исходной полигональной сетки, к которой применялось сглаживание. Плавные обводы NURMS-объекта как бы обтекают вершины и ребра каркаса, подобно тому, как NURBS-поверхность обтекает узлы решетки управляющих вершин. Перемещая вершины и ребра каркаса, можно управлять формой сглаженной поверхности NURMS-объекта.
с подобъектами сеток, постоянно приходится
СОВЕТ
Работая с подобъектами сеток, постоянно приходится разглядывать объект с разных сторон, менять масштаб изображения, перетаскивать изображение в окне проекции, чтобы лучше видеть те или иные участки сетки. Редактировать сетку лучше в окне проекции, развернутом во весь экран. Не забывайте, что, как указывалось в главе 3, разворачивание и восстановление нормального размера окна проекции достигается простым нажатием клавиш Alt+w. Переходить от каркасного режима отображения к тонированному и обратно можно, нажимая клавишу F3, а включать и выключать показ ребер каркаса вместе с тонированной оболочкой можно клавишей F4. Быстро переключаться с одной проекции на другую лучше также с помощью клавиатуры, нажимая клавишу, соответствующую первой букве английского названия проекции: t (Top) — вид сверху, l (Left) — вид слева, f (Forward) — вид спереди, р (Perspective) — вид в перспективе и т. п. Исключение составляют только вид справа и вид сзади, для которых в исходном наборе клавиатурных комбинаций max 7.5 не предусмотрено «горячих» клавиш. В главе 3 для этих целей рекомендовалось назначить комбинации клавиш Alt+r и Alt+k и объяснялось, как произвести назначение клавиатурных комбинаций. Менять масштаб изображения и перетаскивать его в окне проекции лучше всего с помощью мыши, имеющей колесико вместо средней кнопки. Если у вас нет такой мыши, запомните простые комбинации: нажатие клавиш Alt+z включает режим изменения масштаба изображения в окне проекции, клавиши Ctrl+p включают режим прокрутки изображения. Для отмены изменений состояния окна проекции нажимают клавиши Shift+z.
Поначалу трудно даже вообразить, какое многообразие трехмерных тел можно построить, манипулируя различными подобъектами простого параллелепипеда.
в окнах проекций красным цветом,
СОВЕТ
Чтобы выделяемые полигоны окрашивались в окнах проекций красным цветом, нужно установить флажок Shade Selected Faces (Тонировать выделенные грани) на вкладке Rendering Method (Метод визуализации) окна диалога Viewport Configuration (Метод визуализации). Вызвать это окно диалога можно, например, как было описано в главе 3, щелкнув на имени любого окна проекции правой кнопкой мыши и выбрав в меню окна команду Configure (Конфигурировать).
10. Теперь применим метод экструзии граней для формирования углубления топки камина. Заодно познакомимся с еще одним приемом, широко используемым при моделировании на базе параллелепипедов. Предположим, что мы хотим сделать так, чтобы пространство топки внутри раздавалось вширь, превышая размеры отверстия на передней стенке камина. Чтобы добиться этого,нужно сначала выдавить внутрь сетки грани передней стенки камина, а затем дополнительно выдавить в стороны боковые грани образовавшегося углубления. Однако если выполнить выдавливание граней передней стенки за один прием, то боковые поверхности выдавленной части сетки не будут иметь сегментации в направлении выдавливания. Взгляните на сформированный выше дымоход. По координате направления выдавливания в его поверхности представлено всего по одному полигону. Если бы мы захотели, скажем, создать утолщение в верхней части дымохода, нужна была бы дополнительная сегментация в виде ряда поперечных ребер. Наличие такой сегментации позволило бы выдавить грани в верхней части дымохода в стороны, сформировав нужное утолщение. Чтобы создать нужную сегментацию по координате направления выдавливания, эту операцию проводят в несколько приемов. При использовании счетчика экструзии для этого вводят значение глубины выдавливания, на которой должен располагаться первый ряд поперечных ребер, затем нажимают клавишу Enter, вводят новое значение глубины и снова нажимают клавишу Enter. Так можно делать многократно, добиваясь требуемой сегментации боковой поверхности. При выдавливании с помощью мыши перетаскивают курсор первый раз, выдавив грани до уровня первого ряда поперечных ребер, отпускают кнопку мыши, снова устанавливают курсор на выделенные грани, нажимают кнопку мыши и продолжают выдавливание. Итак, выделите 12 полигонов в центре передней стенки камина. Если соберетесь делать это рамкой в окне вида слева, не забудьте предварительно установить флажок Ignore Backfacing (Игнорировать изнаночные). Щелкните на кнопке Extrude (Выдавить), установите курсор на выделенные полигоны, щелкните кнопкой мыши и начинайте перетаскивать курсор, вдавливая грани внутрь объема сетки в интерактивном режиме. Следите за счетчиком глубины экструзии. Сделайте остановку, отпустив кнопку мыши при глубине выдавливания примерно -15 см. Затем продолжите выдавливание и завершите операцию, выдавив грани еще примерно на -65 см, как показано на рис. 9.9.
Чтобы видеть на обратной стороне
СОВЕТ
Чтобы видеть на обратной стороне камина выступ, грани которого обращены к зрителю оборотными сторонами, нужно сбросить флажок Backface Cull (Отбрасывание граней) в окне диалога Object Properties (Свойства объекта). Это окно вызывается по команде Properties (Свойства) контекстного меню объекта, как было описано в главе 3.
11. Теперь можно выполнить выдавливание боковых сторон углубления в стороны, чтобы увеличить внутреннее пространство топки. Поверните объект так, чтобы видеть верх внутренности топки, и выделите три дальних полигона, как показано на рис. 9.11. Выдавите их внутрь сетки примерно на -(15-20) см, чтобы «потолок» топки оказался выше края отверстия на передней стенке. Попробуйте самостоятельно выдавить в стороны полигоны боковых поверхностей топки, дополнительно увеличив ее внутренний объем. Таких полигонов должно быть по пять с каждой стороны — четыре было изначально, пятый образовался после вдавливания «потолка» топки. В итоге камин должен принять вид, показанный ранее на рис. 9.1, слева. Сохраните файл под заданным в начале работы именем Kamin.max, чтобы можно было вернуться к объекту в том состоянии, какое он имеет на данный момент. Затем для продолжения работы сохраните файл с инкрементированием имени.
Всегда используйте рамку для выделения
СОВЕТ
Всегда используйте рамку для выделения вершин, которые в окне проекции расположены строго одна за другой вдоль линии взгляда и видны как одна точка. Если пытаться выделить такие вершины, щелкая на них кнопкой мыши, то выделится только одна из группы вершин.
13. Выполните слияние двух близко расположенных друг от друга рядов вершин, выделив вершины обоих рядов. Обратите внимание, что в нижней части свитка Selection (Выделение) сообщается: 58 Vertices Selected (Выделено 58 вершин). Почему 58, а не 2x26 = 52? Вспомните о шести вершинах на краю отверстия топки камина — они не имеют парных вершин в перемещенном ряду, как показано на рис. 9.13. Чуть ниже вам станет ясно, почему мы фиксируем внимание на этой мелочи. А пока в разделе Weld (Слить) свитка Edit Geometry (Правка геометрии) увеличьте значение, указанное в счетчике, расположенном справа от кнопки Selected (Выделенные), скажем, до величины 5,0 см. Эта величина задает предельное расстояние между выделенными вершинами, которые будут слиты программой в одну вершину. Щелкните на кнопке Selected (Выделенные). В свитке Selection (Выделение) вы прочтете, что теперь выделена только 31 вершина. Следовательно, слияние произошло. Внимательное рассмотрение показывает, что слились 24 пары и одна четверка вершин в нижней части топки, находящихся друг от друга на расстоянии менее 5 см. В итоге получилось 25 новых вершин плюс 6 непарных, не попавших под слияние, — вот почему их осталось 31.
Сетка оболочки объекта не обязана
СОВЕТ
Сетка оболочки объекта не обязана быть равномерной. Там, где необходимо «вылепить» мелкие детали формы объекта, сегментация сетки должна быть повышенной, то есть линии рядов вершин должны проходить ближе друг к другу. В областях плавного изменения формы можно обойтись крупными сегментами, когда линии сетки находятся далеко друг от друга. Уплотнение сегментации за счет перемещения целых рядов вершин — еще одна хитрость, к которой постоянно приходится прибегать при моделировании на базе параллелепипедов.
7. Придадим нужную форму гриве и морде, перемещая группы из трех вершин все в том же окне проекции Front (Вид спереди) примерно так, как показано на рис. 9.24. Обратите внимание на отверстие рта, которое оформлено смещением вправо группы вершин, указанных стрелкой.
Чтобы сформировать на ровной поверхности
СОВЕТ
Чтобы сформировать на ровной поверхности отдельной грани сетки выступ или углубление, нужно сегментировать эту грань, разбив ее как минимум на три новых. Для этого можно использовать операцию разрезания ребер, как это сделано выше. Другая возможность состоит в том, чтобы выделить грань и щелкнуть на кнопке инструмента Tessellate (Разбить), которая становится доступной в свитке Edit Geometry (Правка геометрии) на уровне выделения подобъекта Face (Грань). Если при этом заранее установить переключатель под кнопкой в положение Face-Center (От центра), то max 7.5 поместит новую вершину в центр грани и соединит ее ребрами с существующими тремя вершинами, разбивая грань на три новых.
20. Теперь снова вернитесь на уровень выделения подобъектов-вершин. Выделите центральную вершину треугольной глазницы и, немного повернув плоскость проекции, сместите ее в глубь модели, по координате Y. Затем немного опустите вниз вершину, расположенную посередине ребра, обозначающего нижнюю границу глазницы. Короче, творчески поработайте над формой глаза, чтобы он хорошо выделялся на тонированном изображении.
21. Перед зеркальным копированием половины фигуры необходимо удалить все полигоны на той стороне, вдоль которой пойдет стык двух половин. Проще всего выполнить такое выделение не в окне проекции вида сзади, где пришлось бы последовательно «общелкивать» каждый полигон при удерживаемой клавише Ctrl, а в окне вида слева, где половинка фигуры коня видна со стороны морды. Переключитесь на уровень выделения подобъектов Polygon (Полигон). На виде слева все полигоны той стороны модели, вдоль которой пойдет стык, проецируются в одну линию вдоль левого края. Воспользуемся уже знакомым по предыдущей главе приемом. Сначала охватите рамкой левую часть фигуры. При этом выделятся все подлежащие удалению полигоны, но заодно с ними выделятся и лишние, расположенные на боковом торце модели. Чтобы сбросить выделение лишних полигонов, нажав и удерживая клавишу Alt, охватите объект рамкой с правой стороны, не затрагивая левого края, как показано на рис. 9.37. Как только вы отпустите кнопку мыши, выделенными останутся только полигоны, подлежащие удалению. Для их удаления нажмите клавишу Delete и щелкните на кнопке Yes (Да) в ответ на запрос Delete Isolated Vertices? (Удалить изолированные вершины?). Разглядывая модель с разных сторон в режиме тонированного отображения, убедитесь в том, что не удалили лишних вершин. Если такое случилось, отмените операцию удаления и повторите все заново. Сохраните файл под заданным ранее именем ShahmKon01 .max. Затем сохраните файл еще раз, но с инкрементированием имени.
Если вы недовольны результатом сглаживания
СОВЕТ
Если вы недовольны результатом сглаживания с помощью инструмента MeshSmooth (Сглаживание сетки), можете еще раз повторить операцию, описанную выше. При этом помните, что каждый раз, когда вы используете этот инструмент, полигональная структура объекта усложняется и, соответственно, возрастает нагрузка на аппаратную часть компьютера.
6. Применим теперь к объекту модификатор Taper (Заострение), чтобы сузить его посередине. Щелкните на строке Taper (Заострение) в раскрывающемся списке Modifier List (Список модификаторов). В свитке Parameters (Параметры) модификатора счетчик Curve (Кривизна) установите равным -2. Как вы помните из предыдущей главы, при отрицательном значении этого параметра модель будет выгнута внутрь.
7. Теперь отобразите модель камина и водрузите вазу на каминную полку. Сделать это будет не очень просто, так как камин имеет сложную форму, и полка не является ни краем объекта по осям, ни центром. Для решения этой проблемы воспользуемся инструментом Detach (Отделить). Выделите камин и переключитесь на уровень выделения подобъекта Polygon (Полигон), после чего выделите полигон, на котором будет стоят ваза. Щелкните на кнопке Detach (Отделить) в свитке Edit Geometry (Правка геометрии). В появившемся окне Detach (Отделить) необходимо ввести имя нового объекта. Назовите его «полигон для выравнивания». Проверьте, чтобы были сброшены флажки напротив параметров Detach To Element (Отделить как элемент) и Detach As Clone (Отделить как копию), и нажмите кнопку ОК. Теперь полигон станет отдельным объектом сцены, в чем вы можете легко убедиться, вызвав окно Select Objects (Выделение объектов). Название нового объекта будет присутствовать в этом списке. Теперь выровнять вазу относительно каминной полки проще простого. Выберите вазу в списке окна Select Objects (Выделение объектов) и вызовите окно Align Selection (Выделение объектов для выравнивания). Укажите в сцене объект, относительно которого будет производиться выравнивание, то есть отделенный полигон. Выровняйте объекты по центру относительно осей X и Y, а относительно оси Z — по минимальным значениям координат объектов. Ваза займет свое место на каминной полке (рис. 9.44). Сохраните полученный файл под названием Vaza01.max.
Всегда используйте инструмент неравномерного масштабирования
СОВЕТ
Всегда используйте инструмент неравномерного масштабирования с ограничением его действия одной из осей координат, если требуется сблизить или раздвинуть вершины сетки в определенном направлении. Использование операции масштабирования позволяет обеспечить полную симметрию перемещения вершин относительно геометрического центра выделенного набора, чего очень трудно добиться, применяя инструмент перемещения к каждой отдельной вершине.
7. Снова переключившись на проекцию Front (Вид спереди), поработайте над ртом. Во-первых, выделите группу вершин посередине рта и сильно сместите их вправо, сформировав углубление рта и губы. Затем слегка поправьте на виде спереди вершины краев губ, показанные стрелками на рис. 9.52, сместив их в направлении этих стрелок. На виде сверху придайте губам закругленную форму и раздвиньте в стороны уголки рта.
Часто после перемещения вершин сплайнов
СОВЕТ
Часто после перемещения вершин сплайнов каркаса или их касательных векторов появляется сообщение Weld Coincident Vertices? (Слить совпадающие вершины?). Как правило, на него следует отвечать щелчком на кнопке No (Нет).
11. Продолжите придавать выпуклость остальным элементам каркаса, включая контуры глаза. Старайтесь при этом мысленно представить, что на создаваемый вами каркас уже «натянута» поверхность. Это помогает понять, как именно следует изогнуть тот или иной элемент каркаса. Меняйте плоскость проекции, рассматривая каркас под разными углами. В итоге у вас должно получиться нечто, напоминающее изображение на рис. 9.86.
Обязательно рассматривайте сплайны, образующие каркас,
СОВЕТ
Обязательно рассматривайте сплайны, образующие каркас, под разными углами зрения. Проекции — такая обманчивая штука! Кажется, все выровнял, но чуть изменишь ракурс, и оказывается, что на самом деле все кривые расположены наперекосяк. Значит, нужно снова манипулировать касательными векторами — а что делать? Кстати, иногда кусок поверхности бывает не виден не из-за неточного совмещения вершин ограничивающих его сплайнов, а из-за того, что его нормаль оказалась перевернутой и он обращен к вам оборотной стороной. Для проверки установите флажок Flip Normals (Перевернуть нормали) в свитке параметров модификатора Surface (Поверхность). Если кусок после этого появится (при этом все остальные куски исчезнут из вида, но это не беда), нужно сбросить этот флажок, вернуться на уровень правки подобъектов Spline (Сплайн), выделить сплайн каркаса, ограничивающий ячейку, и щелкнуть на кнопке Reverse (Обратить). Это приведет к изменению порядка следования вершин сплайна на обратный. Обычно после этого кусок становится виден.
15. Настал черед заняться глазом и носом. Не забыв включить режим трехмерной привязки, постройте в окне вида спереди сплайн, изображающий нижнее веко и проходящий снизу от глаза от одного его угла (вершина 1 на рис. 9.90) к другому (вершина 3). Создайте на этом сплайне одну промежуточную вершину в точке 2. Затем нарисуйте сплайн, тянущийся от кончика носа (вершина 4) к точке на щеке (вершина 5) и имеющий одну промежуточную вершину в точке 6. Соедините точку 6 одним сплайном с передним уголком глаза (вершина 3), а другим — с вершиной 7 на рамке каркаса. Из точки 8 на кончике верхнего рожка месяца протяните сплайн через средние точки двух поперечных сплайнов рожка (вершины 9 и 10), точку 11 на верхнем краю верхнего века, точку 12 на нижнем краю верхнего века, среднюю точку нижнего века (вершина 2), завершив этот сплайн в точке 5 у основания носа. Остается только создать еще два сплайна: один, соединяющий две противолежащие вершины на верхнем веке (точки 13 и 14), и другой, тянущийся от основания носа (точка 5) вверх, к переднему уголку глаза (вершина 3). Теперь выключите режим привязки и настройте выпуклость и кривизну только что созданных сплайнов, изменяя тип их вершин на Bezier (Безье) или Bezier Corner (Безье с изломом). Проверяйте правильность построения, периодически активизируя модификатор Surface (Поверхность). В итоге половинка «Месяца» должна принять вид, показанный ранее на рис. 9.70. Сохраните файл под заданным в начале работы именем Mesiac.max, а затем сохраните файл еще раз, но с инкрементированием имени.
Строим объекты из примитивов
Строим объекты из примитивов
Те из вас, кто имеет опыт работы с каким-нибудь пакетом двумерной векторной графики, наподобие CorelDraw, возможно, знакомы с эффективным методом рисования объектов произвольной формы путем перемещения и настройки свойств вершин стандартного примитива, такого как круг или эллипс. Такой подход удобен тем, что работа сразу ведется с готовым контуром, имеющим определенное начальное число вершин и сегментов, которыми можно с легкостью манипулировать, добавляя при необходимости новые вершины. При этом всего несколькими умелыми движениями можно преобразовать простейший примитив в изображения предметов или животных, в которых трудно угадать форму контура-предка.
В трехмерной графике широко применяется аналогичный подход. Одним из наиболее удобных трехмерных примитивов, предоставляющих в ваше распоряжение готовую сетку с определенным числом вершин, ребер и граней, является примитив Box (Параллелепипед). Начальное число ячеек такой сетки можно регулировать, задавая требуемое число сегментов параллелепипеда по каждому из трех его измерений — длине, ширине и высоте. Естественно, чтобы получить возможность преобразовывать сетку параллелепипеда на уровнях различных подобъектов, его необходимо преобразовать в объект типа Editable Mesh (Редактируемая сетка) или Editable Poly (Редактируемая полисетка) либо применить к нему модификатор Edit Mesh (Правка сетки).
Применяя стандартные преобразования перемещения, поворота и масштабирования к отдельным вершинам и ребрам сетки или их группам, выдавливая грани, а также используя целый ряд специальных инструментов для работы с подобъекта-ми сетки, можно сравнительно быстро и просто превратить прямоугольный блок в нужный вам объект. Если создаваемый объект должен состоять в основном из прямых или наклонных плоскостей, результатов манипулирования с вершинами и гранями уже может оказаться достаточно. Если же моделируемый объект должен иметь округлую форму, то на завершающей стадии к нему следует применить модификатор MeshSmooth (Сглаживание сетки). В результате такой операции можно получить объект нового класса, с которым мы еще не знакомились: NURMS, или Non-Uniform Rational Mesh Smooth (Неоднородная рациональная сглаженная сетка). Ниже мы рассмотрим подробнее некоторые приемы работы с NURMS-объекта-ми. Если велось редактирование полисетки, то на завершающей стадии можно включить встроенные средства сглаживания, имеющиеся у объектов этого типа.
Превращаем параллелепипед в камин
Упражнение 1. Превращаем параллелепипед в камин
Цель первого упражнения заключается в том, чтобы превратить прямоугольную «коробку» в камин для нашего кафе «МАХ». Выполните для этого следующие действия:
1. Выполните перезагрузку программы max 7.5 и сохраните пустую сцену под именем Kamin.max.
2. Создайте в окне проекции Perspective (Перспектива) примитив Box (Параллелепипед) примерно с такими размерами: длина — 160 см, ширина — 65 см и высота — 120 см, установив число сегментов по длине равным пяти, по ширине — четырем и по высоте — пяти. Ну, откуда взялись такие размеры, несложно попять: из тех соображений, чтобы будущий камин хорошо вписался в отведенное ему место у стены кафе. Но вдумчивый читатель, конечно, может заинтересоваться, как ему заранее определить, сколько именно сегментов по каждой из координат необходимо устанавливать? На этот счет есть только одно общее правило: число сегментов должно определяться формой будущего объекта. Нарисуйте эскиз, прикиньте, какие вершины будете перемещать и какие грани выдавливать. Если с первого раза не получится, удалите примитив и создайте новый, с иным числом сегментов. В данном случае мы собираемся создать конструкцию, показанную на рис. 9.1, слева. Четыре сегмента по ширине позволят сформировать наклонную часть основания дымохода, оставляя место для каминной полки. Пять сегментов по длине и по высоте позволят вдавить часть граней передней стенки и сформировать топку камина. Очевидно, что предлагаемая сегментация является избыточной. В конце упражнения мы рассмотрим, как можно избавляться от лишних сегментов.
Создаем из параллелепипеда фигуру
Упражнение 2. Создаем из параллелепипеда фигуру
Сформированная модель камина в целом все же сохранила черты, присущие ее «предку» — стандартному параллелепипеду. Это выражается в том, что ее основными элементами остались фрагменты плоскостей, располагающиеся под прямым углом друг к другу.
Следующее упражнение познакомит вас с рядом новых приемов моделирования на основе параллелепипеда, позволяющих создать объект, уже в гораздо меньшей степени напоминающий своего «прямоугольного предка». Будем осваивать эти приемы, работая над моделью фигуры шахматного коня (рис. 9.18). Разумеется, речь идет только о верхней части фигуры, нижняя часть которой — это просто тело вращения.
Создаем вазу из цилиндра
Упражнение 3. Создаем вазу из цилиндра
Откройте сохраненный вами ранее файл Kamin01.max или загрузите его из папки Scenes/Glava9. Наша задача — создать вазу и разместить ее на каминной полке. Для начала скройте камин — пока что он нам не нужен. Создайте в окне проекции вида в перспективе примитив Cylinder (Цилиндр) примерно следующих размеров: радиус 7 единиц и высота — 28, установив число сегментов по высоте равным восьми.
1. Превратите объект в полисетку любым из уже известных вам способов. Для того чтобы превратить сплошной цилиндр в полую вазу, «утопим» верхний полигон вовнутрь объекта. Разверните дерево подобъектов редактируемой полисетки в окне стека модификаторов и выберите строку Polygon (Полигон). Выделите полигон в верхнем основании цилиндра. Если «утопить» полигон на этом этапе создания модели, ваза не будет иметь толщины. Поэтому прежде необходимо воспользоваться инструментом Inset (Врезка), чтобы создать дополнительный набор полигонов, благодаря которым будет образована толщина стенок. Щелкните по квадратной кнопке со значком, символизирующим окно системы Windows, расположенной рядом с кнопкой Inset (Врезка) в свитке Edit Polygons (Правка полигонов). На экране появится окно Inset Polygons (Врезка полигонов). Введите в счетчик Inset Amount (Величина врезки) значение 0,4 и нажмите кнопку ОК.
2. Теперь можно перейти к операции выдавливания полигонов. Эту операцию произведем с использованием окна диалога точной настройки параметров, вызываемого щелчком на маленькой квадратной кнопке со значком окна справа от кнопки Extrude (Выдавить) свитка Edit Polygons (Правка полигонов). В окне диалога Extrude Polygons (Выдавливание полигонов) введите в счетчик Extrusion Height (Высота выдавливания) значение -26 (рис. 9.39), наблюдая за тем, как полигон «утонет» в цилиндре, и щелкните на кнопке ОК. Поверните цилиндр, чтобы убедиться в том, что теперь он полый.
Превращаем вазу в кубок
Упражнение 4. Превращаем вазу в кубок
Используя средства редактирования полигональных сеток, можно легко превратить вазу в кубок, вручаемый победителям в соревнованиях. Предположим, что этот кубок кафе «МАХ» получило на конкурсе среди заведений общепита за лучшее обслуживание посетителей. Теперь кубок стоит на видном месте. От вазы он отличается наличием двух ручек с обеих сторон, а также литой надписью в виде цифры 1, которая символизирует первое место.
1. Откройте файл Vaza.max, сохраненный вами на этапе, когда у вазы появилась ручка. Вы можете открыть этот файл с компакт-диска. Он находится в папке Scenes\Glava09. Использовать уже готовую вазу, которую мы сохранили под именем Vaza01.max, не имеет смысла, поскольку в результате использования инструмента MeshSmooth (Сглаживание сетки) полигональная структура объекта была изменена, и сделать симметричную ручку средствами редактирования полигональных сеток практически невозможно.
2. Итак, вам придется проделать все те же самые действия, которые вы производили, создавая первую ручку, но уже с другой стороны объекта. Повторите шаги 3-4 предыдущего упражнения. После того как вы замкнете вторую ручку инструментом Bridge (Мост), как и в предыдущем примере (см. шаг 5), нужно будет сгладить модель. Но в этом случае нужно будет использовать инструмент MeshSmooth (Сглаживание сетки) трижды, поскольку для создания отлитой надписи на кубке необходимо, чтобы модель была высокополигональной. Чтобы придать кубку положенную форму, сузим его (как ранее мы это делали с вазой) модификатором Taper (Заострение). В настройках модификатора счетчик Curve (Кривизна) установите равным -1,8.
3. Теперь, наконец, можно переходить к формированию надписи. Для этого нужно снова превратить объект в полисетку любым удобным для вас способом. Перейдя на уровень выделения подобъекта Polygon (Полигон), раскройте свиток Paint Deformation (Деформация кистью) и нажмите кнопку Push/Pull (Вдавливание/Вытягивание). Параметр Push/Pull Value (Сила вдавливания/вытягивания), обозначающий силу воздействия виртуальной кисти на объект, установите равным 1. Размер кисти, определяемый параметром Brush Size (Размер кисти), установите равным 1,3. Поднесите курсор к модели, и вы увидите виртуальную кисть, которая представляет собой касательную плоскость с нормалью в точке наведения курсора на объект. Нажмите кнопку мыши и переместите курсор по поверхности объекта, наблюдая за ее деформацией. Изобразите на кубке цифру 1. Несмотря на то что форма у единички несложная, почти наверняка с первого раза вы не получите деформацию нужной формы, поэтому выполняйте отмену и пробуйте снова. В конце концов, вы получите вот такой кубок (рис. 9.45), который предлагаю вам сохранить иод названием Kubok.max.
Преобразуем параллелепипед в «Зол
Упражнение 5. Преобразуем параллелепипед в «Зол
Для опробования инструмента MeshSmooth (Сглаживание сетки) выберем объект в виде золотой рыбки, показанной на рис. 9.46, которая украсит нашу новогоднюю елку в «МАХ-кафе».
Формируем елочное украшение «Гриб
Упражнение 6. Формируем елочное украшение «Гриб
В ходе данного упражнения мы превратим две стандартные сферы в сетки кусков Безье, а затем, манипулируя касательными векторами вершин кусков, быстренько сформируем из одной сферы шляпку, а из другой — ножку грибка, подобного тому, какой был показан на рис. 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 (Кусок). Соответственно, сферическая сетка имеет шесть вершин: четыре по экватору сферы и две на полюсах. Каждая из этих вершин принадлежит сразу четырем примыкающим к ней кускам. По этой причине из каждой управляющей вершины исходит сразу по четыре касательных вектора. Любые два соседних вектора из этих четырех управляют формой соответствующего куска Безье. Останавливаюсь столь подробно на топологии сферической сетки кусков Безье, потому что она напрямую определяет возможности редактирования формы такой сетки.
Елочное украшение «Звезда»
Упражнение 7. Елочное украшение «Звезда»
Поддерживая начатую новогоднюю тему, выберем в качестве объекта для экспериментов очередное елочное украшение — звезду. Однако будем стараться сделать не геометрически строгую и потому холодную в своей правильности звезду, а как бы мягкую, живую звездочку (рис. 9.67), пять лучей которой можно рассматривать как руки, ноги и голову некоего простейшего трехмерного персонажа. Куски Безье прекрасно подходят для моделирования именно такого типа объектов, относящихся к разряду «органики».
Елочное украшение «Спящий месяц»
Упражнение 8. Елочное украшение «Спящий месяц»
Займемся освоением метода сплайновых каркасов на примере очередного украшения для нашей новогодней елки, представляющего собой сказочный месяц, несколько загадочно, на мой взгляд, дремлющий с полузакрытыми глазами, как показано на рис. 9.77.
к созданию моделей трехмерных объектов
ЗАМЕЧАНИЕ
Всегда нужно стремиться к созданию моделей трехмерных объектов с минимально необходимым числом граней. Когда такие модели объединяются в достаточно насыщенную объектами сцену, каждая лишняя грань ведет к усложнению процесса и увеличению времени визуализации.
3. Превратите объект в редактируемую сетку (Editable Mesh) любым из уже известных вам способов. Включите режим показа невидимых ребер сетки. Для этого, как объяснялось в главе 3, щелкните на выделенном объекте правой кнопкой мыши, выберите в контекстном четвертном меню команду Properties (Свойства) и сбросьте в окне свойств объекта флажок Edges only (Только края). Зачем это нужно, станет понятно чуть ниже.
4. Перейдите на уровень подобъекта Vertex (Вершина) и выделите восемь вершин сетки на верхней стороне параллелепипеда, как показано на рис. 9.2.
что грани, которым следует назначить
ЗАМЕЧАНИЕ
Очевидно, что грани, которым следует назначить ту или иную группу сглаживания, можно выделять и традиционным способом, щелкая на них или растягивая вокруг них выделяющую рамку. Прием выделения по группам сглаживания был рассмотрен в учебных целях, хотя, как вы могли видеть, он иногда очень удобен.
9. Чтобы сформировать трубу дымохода, применим экструзию, или выдавливание, граней. Переключитесь на уровень выделения подобъекта Polygon (Полигон) и выделите три полигона в верхней части выступа сетки. Щелкните на кнопке Extrude (Выдавить) в свитке Edit Geometry (Правка геометрии). Дальше можно действовать двумя способами. Можно переместить курсор к выделенным полигонам и, когда он примет вид, показанный на рис. 9.7, щелкнуть кнопкой мыши и перетаскивать курсор вверх или вниз по экрану, следя за выдавливанием граней. Такой прием интерактивного выдавливания был опробован нами в предыдущей главе. Но мы поступим другим способом. После щелчка на кнопке Extrude (Выдавить) укажите в счетчике справа от кнопки высоту выдавливания, скажем, 135 см. Окна проекций отобразят сформированный дымоход, показанный на рис. 9.8. Снова щелкните на кнопке Extrude (Выдавить), чтобы выключить режим выдавливания.
Столь поразительный на первый взгляд
ЗАМЕЧАНИЕ
Столь поразительный на первый взгляд успех автоматической оптимизации сетки объясняется в данном случае довольно просто. Наш объект состоит в основном из прямоугольных участков плоскостей, а каждый такой участок легко представить как состоящий всего из двух треугольных граней. К сожалению, данный модификатор далеко не всегда дает столь хорошие результаты, если объект имеет сложную форму.
4. Если оптимизация при исходных значениях параметров модификатора оказывается не вполне удовлетворительной, можете попробовать настроить следующие элементы управления:
Face Thresh (Порог граней) — задает пороговое значение угла между нормалями граней, которые будут объединяться в ходе оптимизации. Малые значения угла ведут к низкому уровню оптимизации, при котором объединяется мало граней, а большие значения — к большому числу объединенных граней;
Edge Thresh (Порог ребер) — задает пороговое значение угла между открытыми ребрами, каждое из которых принадлежит только одной грани. Низкие значения этого порога предохраняют ребра, ограничивающие отверстия в сетчатой оболочке, от исчезновения;
Bias (Смещение) — значение из диапазона от 0 до 1, снижающее вероятность появления вырожденных треугольных граней в ходе оптимизации. Такие грани при визуализации вызывают появление на изображении ложных деталей. Чем выше значение параметра Bias (Смещение), тем меньше упомянутая вероятность;
Max Edge Len (Макс. длина ребра) — если это значение отлично от нуля, оно задает максимальную длину ребер сетки, формируемых при оптимизации;
Auto Edge (Авторебра) — установка этого флажка обеспечивает автоматическое формирование открытых ребер и исключает формирование ребер между гранями, углы между нормалями которых лежат в пределах порогового угла.
5. Убедившись, что выполненная автоматическая оптимизация не испортила вид модели, что, повторюсь, бывает, к сожалению, далеко не всегда, можно свернуть стек модификаторов объекта, который снова превратится в стандартную редактируемую сетку, пригодную для дальнейшей правки. Можете при желании сохранить полученный объект в виде файла, однако, мы в дальнейшем будем работать с тем объектом, оптимизация которого выполнена вручную и который хранится в файле Kamin01.max.
Разумеется, работу над моделью можно еще продолжать и продолжать. Например, перемещая вершины, можно оформить верх отверстия топки в виде арки, с помощью экструзии украсить конструкцию дополнительными выступами вдоль вертикальных краев камина и т. п. Попробуйте проделать что-то подобное самостоятельно в качестве домашнего задания, а пока продолжим наши упражнения.
Модель одной зеркальной половины шахматного
ЗАМЕЧАНИЕ
Модель одной зеркальной половины шахматного коня, отредактированную до уровня шага 9 текущего упражнения, можно найти в файле ShahmKon.max, хранящемся в папке Scenes\Glava_09 компакт-диска, прилагающегося к книге. Загрузите этот файл и хорошенько рассмотрите его под разными углами, а также сравните с тем, что получилось у вас.
11. Поработаем над ухом и гривой коня. Повернув плоскость проекции окна Front (Вид спереди) примерно так, как показано на рис. 9.28, выделите наружную вершину на кончике уха, показанную стрелкой, и немного переместите по оси Y, то есть по координате толщины фигуры, в сторону плоскости зеркальной симметрии. По толщине фигуры сетку ограничивают ряды ребер, в каждом из которых имеются по три вершины. Чтобы закруглить гриву, сначала выделите ближнюю из трех вершин в каждом ряду обвода гривы (нужные вершины показаны стрелками на рис. 9.28), последовательно щелкая на них кнопкой мыши при удерживаемой клавише Ctrl. Выделение вершин лучше выполнять в окне с повернутой плоскостью проекции, а для перемещения вершин вернуться к проекции Front (Вид спереди). Слегка переместите выделенные вершины влево, к середине фигуры, то есть в отрицательном направлении оси X. Чтобы сделать гриву несколько тоньше, не отменяя выделения вершин, переключитесь на проекцию Тор (Вид сверху) и дополнительно переместите вершины по координате толщины фигуры в направлении оси Y. Затем нужно подобным образом переместить, но на меньшее расстояние, средние из каждых трех вершин обвода гривы.
Как видите, при разрезании стандартной
ЗАМЕЧАНИЕ
Как видите, при разрезании стандартной сетки перед курсором не появляется «резиновых» ребер, как это было при разрезании полисетки, опробованном нами в предыдущей главе. Дело в том, что у стандартных редактируемых сеток при разрезании нельзя завершить создание нового ребра посреди грани или полигона, что допустимо для полисеток. Нужно обязательно закончить новое ребро на одном из уже существующих ребер сетки.
15. Переключитесь на уровень выделения подобъектов Vertex (Вершина). В окне проекции Front (Вид спереди) выделите рамкой обе вершины одного из вновь добавленных ребер и переместите их вниз и вправо, примерно так, как показано на рис. 9.32. Затем выделите обе вершины второго добавленного ребра и тоже переместите их, сформировав выступ лба.
Подобную модель можно было бы
ЗАМЕЧАНИЕ
Подобную модель можно было бы создать, превратив параллелепипед не в сетку, а в полисетку (Editable Poly), у которой имеются встроенные средства сглаживания. Однако наша задача состоит в том, чтобы освоить работу с модификатором MeshSmooth (Сглаживание сетки). Научившись сглаживать стандартную сетку с помощью этого модификатора, вы без труда сумеете самостоятельно освоить встроенные средства сглаживания полисеток.
3. Выделяя в окне вида спереди с помощью рамки сразу по четыре вершины, расположенных одна за другой по координате толщины объекта и проецирующихся в этом окне в одну точку, и перемещая эти вершины, придайте параллелепипеду форму, в первом приближении соответствующую форме тела рыбки, пока без хвоста и плавников, как показано на рис. 9.48. Обратите внимание на то, как второй слева вертикальный ряд вершин оформлен в виде плавно изогнутой вправо дуги. Ребра, соединяющие эти вершины, в дальнейшем помогут нам оформить жаберную щель рыбки.
с появлением новых типов контейнеров
ЗАМЕЧАНИЕ
Хочу напомнить, что в max 7.5 с появлением новых типов контейнеров преобразований неравномерное масштабирование можно выполнять и при помощи инструмента Select and Uniform Scale (Выделить и равномерно масштабировать).
5. Как вы, вероятно, уже догадались, все плавники — спинной, два грудных, брюшной и хвостовой — сформированы методом экструзии соответствующих полигонов с последующим редактированием формы за счет перемещения групп вершин. Разумеется, не следует забывать переключаться на уровень выделения соответствующих подобъектов — вершин или полигонов. Поворачивая плоскость проекции так, чтобы хорошо видеть грани, подлежащие выдавливанию, выделите эти грани (полигоны) и примените к ним инструмент Extrude (Выдавливание). На торце фигуры имеются три ряда граней. Я выдавливал брюшной, хвостовой и спинной плавники только из граней среднего ряда. Грудные плавники, напротив, выдавлены из граней двух крайних рядов. Завершив выдавливание, переключитесь на проекцию вида спереди и переместите группы вершин или примените к ним неравномерное масштабирование, окончательно оформив плавники. Поработав над плавниками, выделите шесть граней на переднем торце фигурки (там, где у рыбки должен быть рот), и тоже слегка выдавите их, как показано на рис. 9.50. Тем самым вы создадите дополнительную сегментацию, необходимую для последующего оформления утолщенных губ рыбки.
Вы можете найти модель рыбки
ЗАМЕЧАНИЕ
Вы можете найти модель рыбки в том виде, какой она имеет на данный момент, в файле Zolotaia ribka.max, хранящемся в папке Scenes\Glava_09 компакт-диска, прилагающегося к книге.
11. Выделив модель рыбки на верхнем уровне редактируемой сетки в целом, раскройте список Modifier List (Список модификаторов) на командной панели Modify (Изменить) и выберите в нем модификатор MeshSmooth (Сглаживание сетки). С сеткой, казалось бы, ничего не произойдет, но на командной панели появятся свитки параметров модификатора. Этих свитков достаточно много, поэтому на рис. 9.56 показаны только те, с которыми мы будем иметь дело.
к ней модификатором сглаживания можно
ЗАМЕЧАНИЕ
Итоговую модель рыбки с примененным к ней модификатором сглаживания можно найти в файле Zolotaia ribka01.max, хранящемся в папке Scenes\Urok_09 компакт-диска, прилагающегося к книге.
Разумеется, модификатор MeshSmooth (Сглаживание сетки) можно применять не только к объектам, полученным на основе параллелепипеда, а к любым полигональным сеткам, имеющим угловатые формы из-за малого числа полигонов.
Использование модификатора MeshSmooth (Сглаживание сетки) для сглаживания сеток исторически появилось в программе 3ds max раньше, чем редактируемые полисетки с их встроенными возможностями сглаживания. Попробуйте самостоятельно построить модель такой же рыбки или какую-то другую, на начальном этапе преобразовав параллелепипед не в стандартную редактируемую сетку, а в полисетку. Закончив моделирование формы объекта, установите флажок Use NURMS Subdivision (Разбиение типа NURMS) в свитке Subdivision Surface (Разбиение поверхности) и задайте нужное число итераций разбиения полисетки в счетчике Iterations (Итераций).
В качестве примера на рис. 9.59 показан результат двух итераций сглаживания полисетки, изображающей нашу рыбку. Эта полисетка была получена простым преобразованием готового объекта, загруженного из файла Zolotaia ribka.max, в объект типа Editable Poly (Редактируемая полисетка). Решетка управляющих вершин полисетки становится видна после переключения на уровень работы с подобъектами типа Vertex (Вершина). Счетчик Weight (Вес), позволяющий настраивать веса вершин этой решетки, у полисеток находится в свитке Edit Vertices (Правка вершин).
Когда дело доходит до необходимости
ЗАМЕЧАНИЕ
Когда дело доходит до необходимости двигать маркеры касательных векторов, может оказаться, что этому мешает контейнер преобразования, ограничивающий перемещение какой-то одной из осей координат. Дело в том, что контейнер в виде тройки координатных векторов всегда остается в точке выделенной вершины куска, даже если вы пытаетесь переместить не вершину, а маркер касательного вектора. Когда перемещаешь саму вершину, пользоваться этими векторами для ограничения осей перемещения удобно. Но этот же контейнер преобразования определяет и ограничения на перемещение маркеров касательных векторов вершины, расположенных в стороне от нее. Часто маркер не удается переместить в нужном направлении только из-за того, что в габаритном контейнере активен не тот вектор координатной оси, а активизировать нужный вектор, одновременно манипулируя маркером, никак не получается. Чтобы преодолеть это затруднение и обеспечить возможность перемещения маркера в плоскости экрана в произвольном направлении, следует щелкнуть на квадратике вблизи центра контейнера преобразования, который должен приобрести полупрозрачную заливку желтого цвета. Однако часто после щелчка на маркере происходит сброс выделения этого квадратика из-за того, что оси контейнера слишком длинные и щелчок на маркере воспринимается компьютером как щелчок на одной из осей контейнера. В этом случае рекомендую уменьшить длину векторов контейнера, нажимая клавишу «минус» в основной части клавиатуры. Если и это не помогает, то можно отменить показ контейнера, выбрав команду меню Views > Show Transform Gizmo (Проекции > Показывать контейнер преобразования). В этом случае для циклического выбора ограничений осей, вдоль которых можно будет перемещать маркеры касательных векторов в плоскости окна проекции, по формуле Y-X-XY, следует нажимать клавишу F8.
8. Теперь восстановите видимость второй сферы, преобразованной в сетку кусков Безье. Выделите ее, переключитесь на уровень выделения подобъектов-вершин и, действуя аналогичным образом, превратите ее в ножку грибка, подобную той, что показана на рис. 9.65. Для этого может потребоваться самое минимальное число действий с вершинами и их касательными векторами.
Итоговую модель грибка можно найти
ЗАМЕЧАНИЕ
Итоговую модель грибка можно найти в файле Gribok.max, хранящемся в папке Scenes\ Glava_09 компакт-диска, прилагающегося к книге.
Хочу напомнить, что мы задавались
ЗАМЕЧАНИЕ
Хочу напомнить, что мы задавались целью построить звездочку, напоминающую некий прообраз простейшего компьютерного персонажа. В связи с этим нет никакой необходимости стараться обеспечивать строгую геометрическую правильность конструкции объекта. Очевидно, если бы требовалось сформировать геометрически правильную звезду, нам следовало бы выбрать иной метод моделирования, например выдавливание сплайнового пятиконечного примитива Star (Звезда) с последующей правкой полученной сетки на уровне вершин и граней.
10. Чтобы еще чуть оживить модель, настройте форму одного из лучей-«рук» звезды так, как будто она приветливо помахивает зрителям. Что-то подобное показано ранее на рис. 9.60. Для этого имеет смысл увеличить сегментацию кусков, составляющих этот луч. Выделите нужные куски па уровне подобъекта Patch (Кусок) и щелкните на кнопке Subdivide (Подразделить), расположенной в свитке Geometry (Геометрия) и уже опробованной нами в предыдущем упражнении. Получив в свое распоряжение дополнительные вершины и касательные векторы, настройте форму луча, проявив творческую фантазию (рис. 9.76).
Итоговую модель звезды можно найти
ЗАМЕЧАНИЕ
Итоговую модель звезды можно найти в файле Zvezda.max, хранящемся в папке Scenes\ Glava_09 компакт-диска, прилагающегося к книге.
Итак, попытка построить объект методом «лепки» из стандартных кусков успешно завершена. Надеюсь, что у творческих натур уже рождаются в голове идеи насчет того, как применить рассмотренный метод для «лепки» более сложных объектов, например, таких, как голова некоего компьютерного существа. Попробуйте самостоятельно поэкспериментировать в данном направлении, используя уже не треугольные, а четырехугольные куски Безье.
Ну а пока мы переходим к освоению следующего продвинутого метода моделирования — метода «натягивания» оболочки в виде сетки кусков Безье на трехмерный сплайновый каркас.
Неточное совпадение вершин пересекающихся сплайнов,
ЗАМЕЧАНИЕ
Неточное совпадение вершин пересекающихся сплайнов, образующих каркас, — одна из возможных причин появления «дыр» в поверхности, создаваемой на основе такого каркаса модификатором Surface (Поверхность). Если после применения модификатора вы обнаруживаете, что те ячейки, которые имеют, как положено, по три или четыре вершины, вдруг оказались не покрытыми поверхностью, проверьте совпадение вершин сплайнов, ограничивающих эти ячейки. Иногда для этого достаточно слегка повернуть плоскость проекции. Может статься, что вершины, которые казались на виде спереди точно совпадающими по координатам Z и X, окажутся совершенно не совпадающими по координате глубины сцены Y.
8. Увидев сигналы привязки, щелкните кнопкой мыши и начинайте строить сплайн между двумя противолежащими вершинами рамки каркаса. Создайте у этого сплайна одну промежуточную вершину. Третью вершину нового сплайна точно совместите с вершиной на рамке, как показано на рис. 9.83. Щелкните правой кнопкой мыши для завершения рисования сплайна.
что никакие двумерные изображения не
ЗАМЕЧАНИЕ
Понимая, что никакие двумерные изображения не дают полного представления о трехмерной модели, хочу посоветовать загрузить готовую модель половинки месяца и хорошенько рассмотреть ее с разных сторон. Такую модель можно найти в файле Mesiac.max, хранящемся в папке Scenes\Glava_09 компакт-диска, прилагающегося к книге. Готовая модель «Месяца» имеется в файле Mesiac01.max в той же папке.
16. В заключение создайте зеркальную копию половинки «Месяца» и переместите ее на нужное место. Присоедините половинку-копию к оригиналу. Выделите в окне вида сверху, справа или слева все вершины вдоль линии стыка и примените к ним инструмент Selected (Выделенные) из раздела Weld (Слить) свитка Geometry (Геометрия). Сохраните файл под заданным в начале работы именем Mesiac.max, а затем сохраните файл еще раз, но с инкрементированием имени.
Надеюсь, что сумел объяснить основные хитрости создания трехмерных тел на основе сплайновых каркасов, и вы сможете использовать полученные навыки при моделировании собственных проектов.
Обратите внимание на то, что при создании каркаса мы старались свести к минимуму число треугольных ячеек, создавая в основном четырехугольные. Как уже говорилось, такой подход обеспечивает получение более ровной и гладкой сетки. Правда, его реализация требует от модельера дополнительных усилий, хорошего пространственного воображения и... умения считать до четырех.
Чтобы придать поверхности нужную форму и одновременно обеспечить ее требуемую гладкость, часто приходится удалять одни вершины сплайнов каркаса и создавать новые. В ходе предыдущего упражнения у вас могло сложиться впечатление, что я заранее знал, где расставлять вершины сплайнов. Это не так, здесь использована маленькая хитрость: вся работа по поиску оптимальной расстановки вершин была проделана заранее методом проб и ошибок и осталась за кадром. В работе над реальным проектом некому будет подсказать вам, сколько промежуточных вершин нужно создать у того или иного сплайна, так что не забывайте о существовании инструмента Refine (Уточнить) и клавиши Delete. Кстати, перед добавлением новых вершин с помощью инструмента Refine (Уточнить) не забывайте выключать режим трехмерной привязки!