Трехмерная графика Maya для продвинутых

Сантехническая гидравлическая чистка труб канализации в Нижнем Новгороде, пригороде.


Упражнение. Создание трубы



Пришло время добавить к дому трубу. В процессе ее создания вы освоите несколько новых методов редактирования NURBS-примитивов.

  1. Сделайте видимыми все слои, кроме PorchL и RoofL.
  2. Создайте NURBS-примитив Cube (Куб) и присвойте ему имя Chimney.
  3. Чтобы переместить трубу за дом, введите в поля Translate X (Смещение по оси X) и Translate Y (Смещение по оси Y) окна каналов значения -100 и -89 соответственно.
  4. Придадим кубу нужные пропорции. Введите в поля Scale X (Масштабирование по оси X), Scale Y (Масштабирование по оси Y) и Scale Z (Масштабирование по оси Z) значения 40, 140 и 40 соответственно.
  5. Теперь нужно переместить опорную точку объекта в центр его основания. Убедитесь, что куб по-прежнему выделен, активизируйте инструмент Move (Переместить) и нажмите клавишу Insert для перехода в режим редактирования опорной точки. В окне проекции Front (Вид спереди) переместите опорную точку вниз, используя режим привязки к узлам сетки. Снова нажмите клавишу Insert, чтобы вернуться в режим редактирования объектов.
  6. Пока что труба не достигает крыши. Нужно вытянуть ее по оси Y. Вместо ввода требуемого значения в поле Scale Y (Масштабирование по оси Y) окна каналов, активизируйте инструмент Scale (Масштабировать), нажав клавишу г, и переместите зеленый управляющий вектор. Обратите внимание, что увеличение размера по оси Y теперь происходит, начиная с основания куба, так как именно там расположена опорная точка. Введите в поле Scale Y (Масштабирование по оси Y) значение 225, чтобы труба возвышалась над крышей приблизительно на два фута.
  7. Изменим форму трубы, чтобы придать ей более реалистичный вид. К сожалению, текущее количество узловых точек объекта не позволяет осуществить подобное редактирование. В контекстном меню, вызываемом нажатием комбинации клавиш Alt+z, щелкните на квадратике, расположенном справа от команды Rebuild (Перестройка). Введите в поля Number of Spans U (Число интервалов по U-координате) и Number of Spans V (Число интервалов по V-координате) значение 6. Убедитесь, что переключатели Degree U (Степень кривизны по (J) и Degree У,(Степень кривизны по V) стоят в положении 1 Linear (Линейная), как показано на рис. 6.10. Затем нажмите кнопку Rebiuld (Перестроить).

Рис. 6.10. Выбор параметров инструмента Rebuild Surface

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

  1. Выделите любую грань трубы и нажмите клавишу Т для выделения всего объекта. В окне каналов должно появиться имя Chimney. Перейдите в режим редактирования подобъектов, нажав клавишу F9. В окне проекции Side (Вид сбоку) рамкой выделите три нижних ряда узловых точек. Активизируйте инструмент Scale (Масштабирование) и переместите синий управляющий вектор, увеличивая масштаб. Величину преобразования можно увидеть в строке подсказки. Оптимальным в данном случае является значение, примерно равное двум.
  2. Теперь выделите четвертый снизу ряд узловых точек, как показано на рис. 6.11, и переместите его на один фут вниз (это 12 ячеек сетки), по направлению к основанию трубы.

Рис. 6.11. Редактирование узловых точек трубы для получения более пологого наклона

  1. В окне проекции Front (Вид спереди) выделите крайний слева столбец, содержащий три нижние узловые точки, и переместите их на восемь дюймов в отрицательном направлении оси X, как показано на рис. 6.12.

Рис. 6.12. Формирование задней стенки трубы

  1. Выделите самый верхний ряд узловых точек и примените к ним операцию равномерного масштабирования. Будет достаточно, если вы сделаете верхнее основание трубы уже на три или четыре дюйма. Выйдите из режима редактирования компонентов, нажав клавишу F8.
  2. Создайте новый слой с именем ChimneyL и поместите в него созданный объект.
  3. Переместите трубу таким образом, чтобы ее задняя грань оказалась на шесть дюймов вдавленной во внутреннюю стену. В поле Translate X (Смещение по оси X) окна каналов введите значение -82.
  4. Откройте окно диалога Outliner (Структура), выделите все объекты сцены и выберите команду Edit > Delete by Type > History (Правка > Удалить все объекты типа > История).

Упражнение. Пересечение трубы и задней стены дома
Используя несколько проекционных кривых, вырежем отверстие в стене, сквозь которую проходит дымовая труба.

  1. Нужно вырезать часть стены, которая перекрывается дымовой трубой. Для начала убедитесь, что слой RoofL находится в скрытом состоянии. Выделите наружную и внутреннюю стены, через которые проходит труба, а затем — одну из боковых сторон трубы.
  2. В контекстном меню, вызываемом с помощью клавиатурной комбинации Alt+z, щелкните на квадратике, расположенном справа от команды Intersect Surfaces (Пересечь поверхности). В окне диалога Intersect Surfaces Options (Параметры пересечения поверхностей) установите переключатель Create Curve For (Создать кривую для) в положение First Surface (Первой поверхности) и нажмите кнопку Intersect (Пересечь). Это приведет к появлению кривых на обеих стенах дома, расположенных в местах их пересечения с трубой, как показано на рис. 6.13. Выделите задние стены и противоположную первой стену трубы и повторите операцию пересечения.

Рис. 6.13. Две линии, созданные на внешней и внутренней стенах с помощью операции пересечения

  1. Выделите внешнюю заднюю стену и примените к ней операцию подрезки. В контекстном меню, вызываемом комбинацией клавиш Alt+z, выберите команду Trim Tool (Подрезка). Если в результате не появится белая сетка, щелкните на поверхности дальней стены. Эта сетка определяет области, которые будут вырезаны. При этом область расположения трубы ограничена жирными белыми линиями.
    ПРИМЕЧАНИЕ Инструмент Trim Tool (Подрезка) позволяет выделить поверхности, которые требуется сохранить, а после нажатия клавиши Enter удаляет области, оставшиеся невыделенными. Для работы с этим инструментом нужны кривые, делящие поверхность на совокупность отдельных частей.
  2. Щелчком выделите стену, расположенную слева от трубы. Появится желтый ромбик, отмечающий, что область, которую вы собираетесь сохранить, выделена. Щелчок на поверхности стены, расположенной справа от трубы, приведет к появлению второго ромбика. При этом первый ромбик изменит цвет на синий. Нажмите клавишу Enter для удаления центральной части плоскости, которая осталась невыделенной. Теперь аналогичную операцию нужно проделать с внутренней стеной, чтобы освободить пространство для каминного отверстия. Крыша и пол дома также прорезаются трубой, но эти места в готовой модели не будут видны.
  1. Теперь нужно избавиться от части фундамента, которая также пересекается с трубой. Выделите дальнюю стену фундамента и одну из поверхностей трубы и сформируйте линию на месте их пересечения. Потом проделайте то же самое с другой стороной трубы.
  2. Используйте инструмент Trim Tool (Подрезка) для удаления лишней части фундамента. Выделите две боковые стороны поверхности фундамента, и нажмите клавишу Enter для удаления центральной части.
  1. Сохраните сцену под именем ch06tut05a.mb. Создание набора резервных копий файла дает возможность при необходимости вернуться к редактированию произвольного этапа сцены.

Упражнение. Усовершенствование формы трубы
Итак, труба готова и даже помещена на предназначенное для нее место. Можно заняться моделированием различных деталей. Для начала создадим кромку вокруг жерла трубы, поместив вокруг него прямоугольник и применяя метод лофтинга для создания поверхностей между двумя кривыми. Эту операцию придется повторить четыре раза. Два квадрата используются для моделирования внешней поверхности кромки, а другие два — для внутренней.

  1. Оставьте видимым только слой Chimney!..
  2. В контекстном меню, вызываемом с помощью комбинации клавиш Ctrl+z, выберите команду Square (Квадрат). В поля Translate X (Смещение по оси X) и Translate Y (Смещение по оси Y) окна каналов введите значения -82 и 66 соответственно, чтобы положить квадрат на верхнюю плоскость трубы. Измените его размеры таким образом, чтобы он располагался на расстоянии около двух дюймов от ребер трубы. В нашем случае вполне удовлетворительные результаты получались при вводе в поля Scale X (Масштабирование по оси X) и Scale Z (Масштабирование по оси Z) числа 40.
  3. Продублируйте квадрат и переместите его на четыре дюйма в отрицательном направлении оси Y.

ПРИМЕЧАНИЕ
Подобно NURBS-примитиву Cube (Куб), который состоит из шести плоскостей, NURBS-примитив Square (Квадрат) составлен из четырех кривых. Поэтому, чтобы выделить его целиком, нужно щелкнуть на любой из граней, а затем нажать клавишу t.

  1. Снова выделите верхний квадрат, продублируйте его и уменьшите на десять дюймов, чтобы он оказался меньше дымового отверстия. Затем продублируйте его и переместите копию на четыре дюйма вниз. Итак, все необходимое для создания кромки готово.
  2. Для начала нужно выделить изопараметрическую кривую одной из поверхностей трубы. Выделите любую поверхность, щелкните на ней правой кнопкой мыши и выберите в появившемся контекстном меню вариант Isoparam (Изопараметрическая кривая). Теперь можно выделить верхнюю грань трубы, а затем, удерживая клавишу Shift, щелчком выделить каждую из линий, параллельных этой грани, в следующем порядке: нижняя внешняя, верхняя внешняя, верхняя внутренняя, нижняя внутренняя. На рис. 6.14 показана поверхность, полученная при данном порядке выделения. В контекстном меню, вызываемом клавиатурной комбинацией Ctrl+Alt+z, щелкните на квадратике, расположенном справа от команды Loft (Лофтинг). В окне диалога Loft Options (Параметры лофтинга) убедитесь, что переключатель Surface Degree (Кривизна поверхности) стоит в положении 1 Linear (Линейная), и нажмите кнопку Loft (Создать поверхность). Повторите этот процесс для каждого из ребер верхнего основания трубы.

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

  1. Теперь осталось соединить друг с другом все стороны кромки. Для первых двух эта операция проводится элементарно. Выделите пару расположенных рядом поверхностей, полученных методом лофтинга. В контекстном меню, вызываемом с помощью клавиатурной комбинации Alt+z, щелкните на квадратике, расположенном справа от команды Attach (Присоединение). В окне диалога Attach Options (Параметры присоединения) убедитесь, что переключатель Attach Method (Метод присоединения) стоит в положении Connect (Соединение), переключатель Multiple Knots (Повторяющиеся узловые точки) — в положении Keep (Сохранить), а флажок Keep Originals (Сохранять исходную поверхность) установлен. Нажмите кнопку Attach (Присоединить), и две поверхности соединятся в одну.
  2. Процесс соединения остальных поверхностей требует выделения изопараметрических кривых для каждой из соединяемых частей. Эти кривые должны располагаться на стыке двух поверхностей. Если вы сняли выделение с созданной на предыдущем шаге поверхности, выделите ее снова и щелкните на ней правой кнопкой мыши. В появившемся контекстном меню выберите команду Isoparam (Изопараметрическая кривая). Щелкните на соединительной кривой и, не отпуская кнопку мыши, слегка перетащите указатель. Затем, нажав клавишу Shift, щелчком выделите расположенную рядом поверхность, щелкните на ней правой кнопкой мыши и выберите в появившемся контекстном меню команду Isoparam (Изопараметрическая кривая). Нажмите и удерживайте клавишу Shift и повторите щелчок с перетаскиванием указателя примерно в том же месте, что и в первый раз, как показано на рис. 6.15. Так как операция выделения не включается в список последних применявшихся команд, последней в данном случае является команда Attach (Присоединение). Повторите ее, нажав клавишу д. Повторите описанную процедуру для соединения друг с другой остальных участков поверхности кромки, чтобы получить единый объект. Назовите его ChimneyLip.

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

  1. Создайте NURBS-примитив Cylinder (Цилиндр; и присвойте ему имя ChimneyPipe. Введите в поля Scale X (Масштабирование по оси X), Scale Y (Масштабирование по оси Y) и Scale Z (Масштабирование по оси Z) окна каналов значения 8,5, 14 и 8,5 соответственно. Разместите цилиндр поверх душевого отверстия трубы, как показано на рис. 6.16. Мы осуществили это преобразование, введя в поля Translate X (Смещение по оси X) и Translate Y (Смещение по оси Y) значения -82 и 80 соответственно.

Рис. 6.16. Цилиндр был помещен в центр дымового отверстия

  1. Выровняйте нижнюю плоскость цилиндра с нижней плоскостью кромки. Это проще сделать при включенном режиме привязки к узлам сетки.
  2. Теперь нужно создать плоскую поверхность между цилиндром и краями кромки. Убедитесь, что цилиндр выделен, и, щелкнув на нем правой кнопкой мыши, выберите в появившемся контекстном меню команду Isoparm (Изопара-метрическая кривая). Щелкните на кривой, ограничивающей нижнее основание цилиндра, и, не отпуская кнопку мыши, слегка переместите указатель. Затем, удерживая клавишу Shift, щелкните на нижней внутренней грани кромки, а затем нажмите клавишу Т. Впрочем, намного проще будет вызвать окно диалога Outliner (Структура), нажав комбинацию клавиш Shift+О, и выделить в нем строку nurbsSquare4. В контекстном меню, вызываемом с помощью комбинации клавиш Ctrl+Alt+z, щелкните на квадратике, расположенном справа от команды Planar (Плоскость). В окне диалога Planar Options (Параметры плоскости) выберите в меню Edit (Правка) команду Reset Settings (Сбросить настройки) и нажмите кнопку Planar Trim (Фрагмент плоскости). Так как при перемещении цилиндра вдоль оси Y использовался режим привязки, нижнее основание этого объекта должно быть выровнено с нижней плоскостью кромки, что приведет к созданию плоской поверхности, как показано на рис. 6.17.

ВНИМАНИЕ
Если операция не принесла желаемого результата, это, скорее всего, связано с тем, что два набора выделенных ребер не лежат в одной плоскости. Вам может казаться, что это так, но совпадение должно быть абсолютно точным. Переместите опорную точку цилиндра в его основание, используя режим привязки к кривой (то есть удерживая нажатой клавишу с), и затем переместите управляющий вектор вдоль кривой. Вы убедитесь, что привязка произошла в верном месте, когда увидите, что управляющий вектор перемещается исключительно по нижнему основанию цилиндра. Теперь остается только осуществить привязку основания цилиндра к тому же самому узлу сетки, что и у нижних ребер поверхности, полученной методом лофтинга. Если положение этих ребер не совпадает с узлами сетки, измените их положение.



Рис. 6.17. Контекстное меню, с помощью которого была создана плоская поверхность между основанием цилиндра и нижним краем кромки

  1. На этом моделирование трубы закончено. Нажмите клавишу а, чтобы все объекты сцены поместились в границах активного окна проекции, и выделите рамкой всю трубу. Нажмите клавишу Т, чтобы выделить весь объект, и выберите в меню оперативного доступа команду Edit > Delete by Type > History (Правка > Удалить все объекты типа > История). Поместите выделенные объекты в слой ChimneyL. Откройте окно диалога Outliner (Структура), выделите имена объектов, созданных вами в этом упражнении, и, нажав среднюю кнопку мыши, перетащите их на строчку Chimney.
  2. Сохраните сцену, нажав комбинацию клавиш Ctrl+s.

ПРИМЕЧАНИЕ
Если вы хотите самостоятельно поэкспериментировать с инструментами, информацию о которых вы получили в этой главе, попытайтесь добавить дополнительные элементы, например создать отделку для стен. Удивительно, как самые простые детали могут значительно усложнить сцену.

Назад Начало Вперед