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



Построение дома



Упражнение. Создание стен и фундамента
Начнем с создания стен дома.

  1. Если слой RoofL является видимым, скройте его. Одновременно нажмите клавиши Ctrl+z и левую кнопку мыши, затем выберите в появившемся контекстном меню вариант Square (Квадрат). Присвойте объекту nurbsSquarel имя OuterWallcurvel. Этот квадрат получен путем группировки четырех кривых.
  2. Сформируем на основе квадрата нижний край фундамента дома. В поля Scale X (Масштабирование по оси X), Scale Z (Масштабирование по оси Z) и Translate Y (Смещение по оси Y) окна каналов введите значения 140, 200 и -159 соответственно. Если теперь сделать видимым слой RoofL и посмотреть на вид в окне проекции Тор (Вид сверху), вы увидите, что полученный прямоугольник располагается точно под крышей дома.

ПРИМЕЧАНИЕ
Если при каркасном отображении NURBS-объектов включен режим минимальной детализации, рассмотреть выделенный объект иногда бывает не так-то легко. Помните, что вы всегда можете изменить уровень детализации, нажимая клавиши 1, 2 и 3.

  1. Сформируем контур стен, продублировав квадрат. Впоследствии на основе этих двух кривых можно получить поверхность стен, соединив их друг с другом методом лофтинга. Убедитесь, что у вас выделен объект OuterWallcurvel и выберите в меню оперативного доступа команду Edit > Duplicate with Transform (Правка > Дублирование с преобразованием). Это приведет к появлению дубликата непосредственно поверх исходного объекта. В окне каналов введите в поле Translate Y (Смещение по оси Y) значение -111.
  2. Не снимая выделения с объекта QuterWallcurveZ, снова выполните команду Duplicate with Transform (Дублирование с преобразованием). Для этого дубликата сделайте значение параметра Translate Y (Смещение по оси Y) равным -107, а в поля Scale X (Масштабирование по оси X) и Scale Z (Масштабирование по оси Z) введите значения 136 и 196 соответственно. Еще два раза выполните дублирование с преобразованием, вводя в поле Translate Y (Смещение по оси Y) числа -105 и -33 соответственно. В итоге требуется получить пять прямоугольников, как показано на рис. 5.9.
  3. Теперь пришло время применить метод лофтинга. Щелкните на ближайшей к вам стороне объекта OuterWallcurveS. В окне каналов посмотрите на имя выделенной кривой. Это должна быть кривая leftnurbsSquarel. Нажмите клавишу Shift и щелчком выделите сторону прямоугольника OuterWaltcurve4, расположенную непосредственно под кривой leftnurbsSquarel. Одновременно нажмите комбинацию клавиш Ctrl+Alt+z и левую кнопку мыши. В появившемся контекстном меню щелкните на квадратике, расположенном справа от команды Loft (Лофтинг). В появившемся окне диалога Loft Options (Параметры лофтинга) прежде всего выберите команду Reset Settings (Сбросить настройки) меню Edit (Правка), затем установите переключатель Surface Degree (Кривизна поверхности) в положение Linear (Линейная) и нажмите кнопку Loft (Создать Loft-поверхность). Появится первая стена, вид которой показан на рис. 5.10. Присвойте ей имя WallSide_l. Для перехода в режим показа тонированных оболочек объектов нажмите клавишу 5.



Рис. 5.9. Четырехкратным дублированием лежащего в основании прямоугольника был сформирован контур стен

  1. Двигаясь по часовой стрелке, повторите вышеописанную операцию, формируя остальные стены. Проверьте в окне каналов, что вы начали процесс создания стен с выделения кривой bottomnurbsSquarel. Теперь уже не требуется вызывать окно диалога Loft Options (Параметры лофтинга). После выделения всех нужных кривых достаточно нажать клавишу д, которая инициирует повторное выполнение последней команды. Назовите полученную поверхность WallSide_2. Таким же образом сформируйте поверхности WallSide_3 и WaUSide_4. Этот метод создания поверхностей гарантирует, что все они будут иметь идентичные параметры и им легко будет назначить карту текстуры.

СОВЕТ
Помните, что клавиша g служит для повторного выполнения последней использовавшейся команды. Кроме того, выбрав в меню оперативного доступа команду Recent Commands (Последние команды), вы получите список из нескольких последних команд.

  1. Процесс создания внешней стены дома будет завершен после объединения четырех поверхностей в одну группу. Чтобы избежать случайного выделения кривых, на основе которых сформированы поверхности, воспользуйтесь окном диалога Outliner (Структура), которое вызывается выбором в меню оперативного доступа команды Window > Outliner (Окно > Структура) или нажатием комбинации клавиш Shift+0. Затем выберите команду Edit > Group (Правка > Группировка). Полученной группе присвойте имя OuterWall.
  2. Создайте еще один слой, назвав его OuterWallsL Выделите группу OuterWall и, щелкнув правой кнопкой мыши на имени слоя, выберите в появившемся меню команду Add Selected Objects (Добавить выделенные объекты). Скройте этот слой, чтобы облегчить процесс выделения кривых.




Рис. 5.10. Первая стена будущего дома, созданная методом лофтинга

  1. Теперь нужно, используя описанный выше метод лофтинга, создать фундамент. Выделите кривую leftnurbsSquarel прямоугольника OuterWallcurve4. Удерживая нажатой клавишу Shift, выделите одноименные кривые расположенных снизу прямоугольников OuterWallcurve3, OuterWallcurve2 и OuterWaUcurve1. Методом лофтинга сформируйте на основе выделенных кривых поверхность и присвойте ей имя FoundationSide_l.
  2. Перемещаясь по часовой стрелке, сформируйте еще три поверхности. Затем сгруппируйте полученные поверхности, присвоив группе имя Foundation. Поместите ее в слой OuterWallsL. Сохраните сцену.
  3. Сделайте видимыми все слои. Теперь остается закрыть треугольные просветы между стенами и крышей, показанные на рис. 5.11.



Рис. 5.11. Стены и фундамент на данный момент установлены должным образом, но остались треугольные просветы между стенами и крышей

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

Упражнение. Заполнение просветов и создание внутренней стены

  1. Выделите первую из кривых leftnurbsSquarel, которая использовалась для создания поверхности Wallside_l. Это будет намного проще сделать, скрыв на время слой OuterWallsL. Введите в поле Translate Y (Смещение по оси Y) окна каналов значение 80. Хотя поверхность Waltside_l и не была выделена, в результате она будет продолжена до нового положения кривой. Это связано с наличием истории создания объекта.
  2. Теперь стена проходит сквозь крышу, что дает возможность создания кривой на месте пересечения двух поверхностей, как показано на рис. 5.12. Затем можно просто отрезать лишний фрагмент. Получив такую кривую на пересечении объекта Wallside_l с крышей, вы точно укажете точки, в которых стена прорезает крышу. Выделите объект Wallside_l и затем, нажав клавишу Shift, щелкните на нижней поверхности объекта RoofSlab. Одновременно нажмите комбинацию клавиш Alt+z и левую кнопку мыши. В появившемся контекстном меню щелкните на квадратике, расположенном справа от команды Intersect Surfaces (Пересечь поверхности). Установите переключатель Create Curve For (Создать кривую для) в положение First Surface (Первой поверхности) и нажмите кнопку Intersect (Пересечение). Затем выполните эту операцию для симметричной стороны здания.
  3. Выделите объект Wallside_l. Одновременно нажмите комбинацию клавиш Alt+z и левую кнопку мыши. В появившемся контекстном меню выберите команду Trim Toot (Подрезка). Результатом применения данного инструмента к поверхности будет появление белой сетки. Щелкните в точке той области поверхности, которую требуется сохранить, и нажмите клавишу Enter. Выступающие над крышей края исчезнут. Повторите эту операцию для стены, расположенной с другой стороны дома.
  4. После выполнения всех вышеописанных действий вам не составит труда добавить внутренние стены. Создайте NURBS-примитив Cube (Куб), выбрав в контекстном меню, вызываемом с помощью комбинации клавиш Ctrl+z, команду Cube (Куб), и присвойте ему имя InnerWalls. В поля Translate Y (Смещение по оси Y), Scale X ( Масштабирование по оси X), Scale Y (Масштабирование по оси Y) и Scale Z (Масштабирование по оси Z) окна каналов введите значения -89, 132, 112 и 192,5 соответственно. Верхняя грань полученного объекта должна располагаться на линии стыка внешних стен с крышей.



Рис. 5.12. В результате перемещения одной из кривых передняя стена прорезала крышу

  1. Поместите объект InnerWalls в новый слой с именем InnerWallL. Если вы случайно сняли выделение с объекта, откройте окно диалога Outliner (Структура), нажав комбинацию клавиш Shift+0, и выделите там группу InnerWalls. Затем щелкните правой кнопкой мыши на имени слоя, выберите в появившемся меню команду Add Selected Objects (Добавить выделенные объекты), как показано на рис. 5.13



Рис. 5.13. Процесс добавления объекта в слой после его выделения в окне диалога Outliner

  1. Сохраните сцену, выбрав в меню оперативного доступа команду File > Save Scene (Файл > Сохранить сцену).

Упражнение. Создание крыльца
Займемся созданием крыльца в передней части дома.

  1. Скройте слой RoofL, так как в данном упражнении он не понадобится. Нажмите клавишу Пробел для перехода к четырехоконной конфигурации, затем поместите указатель мыши в пространство окна проекции Front (Вид спереди) и снова нажмите клавишу Пробел.
  2. Если координатная сетка в данный момент скрыта, сделайте ее видимой, выбрав в меню оперативного доступа команду Display t Grid (Отображение > Сетка).
  3. Увеличьте масштаб правого нижнего угла дома таким образом, чтобы сделать ячейки сетки легко различимыми.
  4. Для создания досок крыльца вам предстоит воспользоваться инструментом ЕР Curve (Узловые точки кривой). Одновременно нажмите комбинацию клавиш Ctrl+c и левую кнопку мыши. В появившемся контекстном меню щелкните на квадратике, расположенном справа от команды ЕР Curve (Узловые точки кривой). Убедитесь, что переключатель Curve Degree (Порядок кривой) стоит в положении 1 Linear (Линейная) и нажмите кнопку Close (Закрыть).
  5. Каждая ячейка сетки имеет ширину один дюйм. Нужно создать крыльцо шириной примерно шесть футов. Используя режим привязки к узлам сетки (для его включения нажмите и удерживайте клавишу х), посредством щелчков создавайте точки кривой, которая представляет профиль крыльца, лежащего на земле. Для начала нажмите клавишу х и щелкните и точке, расположенной двумя дюймами выше и двумя дюймами правее нижнего правого угла внутренней стены. Это будет составлять 16 дюймов над фундаментом дома. Следующую точку расположите четырьмя дюймами правее, затем опуститесь на два дюйма ниже, перейдите на один дюйм правее и снова вернитесь на два дюйма вверх. В результате будет сформирован желобок шириной один дюйм и глубиной два дюйма. Повторите эту операцию 14 раз, чтобы создать кривую, подобную показанной на рис. 5.14.



Рис. 5.14. Боковой профиль 14 досок, каждая из которых имеет ширину четыре дюйма. Зазор между досками имеет ширину один дюйм

СОВЕТ
Если вы ошиблись при размещении точки, воспользуйтесь клавишей Backspace для ее удаления. Также можно нажать клавишу Insert и переместить точку в нужное место, не покидая режима создания кривой. По окончании перемещения достаточно снова нажать клавишу Insert, а потом нажать и удерживать клавишу х, чтобы снова получить возможность создания узловых точек кривой.

СОВЕТ
Если в процессе создания кривой вы подошли к краю экрана, одновременно нажмите клавишу Alt и среднюю кнопку мыший перетащите указатель влево, перемещая видимую область экрана.

  1. Закончив создание точек кривой, нажмите клавишу Enter. Форма кривой будет зафиксирована, а сама она станет ярко-зеленой. Присвойте кривой имя porchProfile.
  2. В каком бы месте пространства ни была создана кривая, ее опорная точка будет располагаться в начале координат. Но для удобства выполнения преобразований желательно, чтобы она находилась в геометрическом центре объекта. Для перемещения опорной точки воспользуйтесь командой меню оперативного доступа Modify t Center Pivot (Изменить > Центрировать опорную точку). Если теперь нажать клавишу w для перехода в режим перемещения объекта, вы увидите, что значок преобразования появится в центре кривой.
  3. Нажмите клавишу Пробел для перехода к четырехоконной конфигурации, затем поместите указатель мыши в пространство окна проекции Тор (Вид сверху) и снова нажмите клавишу Пробел, чтобы развернуть это окно на весь экран.
  4. Нужно перенести кривую к нижнему краю дома, но для начала настолько увеличьте масштаб этой области, чтобы отчетливо видеть ячейки сетки. В поле Translate Z (Смещение по оси Z) окна каналов введите значение 94, как показано на рис. 5.15, а затем вернитесь к четырехоконному представлению.




Рис. 5.15. Результат перемещения профиля крыльца на нужное место

  1. Существует несколько способов создания поверхности на основе кривой. В этом упражнении вам предстоит познакомиться с методом выдавливания. Одновременно нажмите комбинацию клавиш Ctrl+Alt+z и левую кнопку мыши и щелкните на квадратике, расположенном справа от команды Extrude (Выдавить). Убедитесь, что переключатель Style (Метод) стоит в положении Distance (Расстояние). В этом случае не требуется вторая кривая, вдоль которой будет происходить выдавливание профиля. Переключатель Direction (Направление) установите в положение Specify (Указать), что позволит вам самостоятельно указать направление выдавливания с помощью расположенного ниже переключателя Direction Vector (Вектор направления). Установите его в положение Free (Свободный). Это даст возможность вручную ввести координаты вектора, определяющего направление. В расположенные ниже текстовые поля введите значения (0, 0, -1). Переключатель Surface Degree (Кривизна поверхности) оставьте в положении Linear (Линейная). В результате формирование поверхности методом выдавливания будет происходить в отрицательном направлении оси Т..
  2. Теперь осталось указать только значение параметра Extrude Length (Длина выдавливания). Полученная в результате выдавливания поверхность должна заканчиваться в шести дюймах от противоположного угла объекта OuterWall. Изме- рить требуемое расстояние можно разными способами, но в этом упражнении будет использоваться инструмент Distance (Рулетка). На время сверните окно диалога Extrude Options (Параметры выдавливания) и выберите в меню оперативного доступа команду Create > Measure Tools > Distance (Создать > Инструменты измерения > Рулетка). Нажмите и удерживайте клавишу х для временной активизации режима привязки к узлам сетки и щелкните в точке пересечения кривой профиля крыльца с наружной стеной дома. Теперь увеличьте масштаб противоположного угла дома, в шести дюймах от которого должно заканчиваться крыльцо, еще раз включите режим привязки к узлам сетки и щелкните в шести дюймах от края дома. Если теперь уменьшить масштаб таким образом, чтобы в окне проекции была видна вся стена дома, вы обнаружите, что в центре созданной вами линии написана ее длина. В данном случае она составляет 188 дюймов. Теперь, когда требуемое значение параметра известно, инструмент измерения вам больше не нужен. Выделите его и нажмите клавишу Backspace. Откройте окно диалога Outliner (Структура), взгляните на список объектов сцены и, если обнаружите точки, использовавшиеся для фиксации расстояния (их имена начинаются со слова locator), удалите их.
  1. Нажмите клавишу q для выхода из режима измерения расстояний. Выделите объект porchProfile и разверните окно диалога Extrude Options (Параметры выдавливания). Введите полученное значение длины крыльца в поле Extrude Length (Протяженность выдавливания) и нажмите кнопку Extrude (Выдавить). Полученному объекту присвойте имя PorchFloor и с помощью команды меню оперативного доступа Modify > Center Pivot (Изменить > Центрировать опорную точку) переместите опорную точку в геометрический центр объекта.
  2. Создайте новый слой с именем PorchL и поместите в него объект PorchFloor.
  3. Сохраните сцену.

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

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

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