Лабораторная работа №1

Тема: Основные элементы программы 3 D Studio MAX

Цель: рассмотреть основные элементы программы 3 D Studio MAX, научиться создавать и редактировать стандартные простейшие примитивы

Практическая работа

Теоретические аспекты работы

Для работы в программе предназначено стандартное для Windows-программ главное командное меню, а также панели инструментов, которые располагаются по краям рабочего окна и обеспечивают быстрый доступ практически к любому элементу интерфейса и к большинству команд главного меню. Основной панелью инструментов является Main Toolbar (Главная панель инструментов, рис. 1) — она открывается по умолчанию и содержит наиболее часто используемые кнопки инструментов. Следующей по рангу идет командная панель Command Panel (рис. 2), объединяющая шесть панелей с элементами управления, каждая из которых открывается щелчком по соответствующей кнопке:

· Create (Создать) — объединяет элементы управления для создания различных типов объектов;

· Modify (Изменить) — содержит элементы управления для изменения и редактирования объектов и применения к ним различных модификаторов;

· Hierarchy (Иерархия) — предназначена для управления связями;

· Motion (Движение) — объединяет элементы управления для настройки контроллеров анимации и траекторий движения;

· Display (Отображение) — позволяет управлять отображением объектов сцены в окнах проекций;

· Utilities (Утилиты) — содержит разнообразные вспомогательные программы, большинство из которых являются подключаемыми плагинами.

Рис. 1. Панель инструментов Main Toolbar

Рис. 2. Командная панель Command Panel

Все создаваемые в программе элементы называются объектами, к ним относятся не только любые геометрические тела, но и формы, камеры, источники света и др. Объектами можно управлять, модифицируя их произвольным образом, объединяя в группы, связывая друг с другом и пр., чтобы получить в конечном счете нужную сцену. Процесс создания объектов называется моделированием. Моделирование осуществляется в окнах просмотра проекций, которые занимают основную часть экрана и позволяют рассмотреть объекты с различных позиций и в разных проекциях. По умолчанию на экране отображаются четыре одинаковых прямоугольных окна, соответствующие проекциям: Top (Сверху), Front (Спереди), Left (Слева) и Perspective (Перспектива) — рис. 3. Для просмотра объектов больше всего подходит окно Perspective (Перспектива), однако для моделирования оно не очень удобно. В реальности список проекций гораздо шире и включает дополнительно проекции: User (Пользовательская), Right (Справа), Back (Сзади), Bottom (Снизу) и Camera (Камера). При желании можно изменить вариант отображения проекций, отказавшись от каких-то проекций и (или) заменив одни проекции на другие. В части проекций, таких как Top, Front, Left, Bottom, Back и Right, объекты отображаются в виде каркасов, а в проекциях Perspective и Camera — с раскрашенной поверхностью. Независимо от набора проекций и варианта их отображения активное окно проекций всегда выделяется белым цветом.

Рис. 3. Изображение, представленное в проекциях по умолчанию

Все объекты делятся на категории, выбор которых осуществляется в палитре с помощью соответствующих кнопок (рис. 4). Выделяют следующие категории объектов:

· Geometry (Геометрия) — объединяет объекты, имеющие визуализируемые геометрические тела;

· Shapes (Формы) — предназначена для создания линий, NURBS-кривых и двумерных форм, которые без специальных инструкций не визуализируются;

· Lights (Источники света) — данную категорию составляют объекты, освещающие сцену и улучшающие ее реализм;

· Cameras (Камеры) — объединяет объекты-камеры, являющиеся дополнительными при создании сцен;

· Helpers (Вспомогательные объекты) — при помощи объектов данной категории значительно упрощается конструирование сложных сцен и настройка анимаций;

· Space Warps (Объемные деформации) — включает объекты, отвечающие за различные виды искажений окружающего пространства;

· Systems (Системы) — объединяет объекты, контроллеры и иерархии, предназначенные для создания геометрических тел, объединенных определенным видом поведения.

Рис. 4. Выбор категории Geometry

В каждой категории существует целый список типов объектов, например в категорию Geometry (Геометрия) входят типы: Standard Primitives (Стандартные примитивы), Extended Primitives (Улучшенные примитивы) и др. Нужный тип выбирается из списка (рис. 5).

Рис. 5. Выбор типа Standard Primitives для категории Geometry

Каждый тип, в свою очередь, объединяет множество разнообразных объектов, в частности тип Standard Primitives позволяет создавать коробки (Box), сферы (Sphere), цилиндры (Cylinder), торусы (Torus), чайники (Teapot), конусы (Cone), геосферы (GeoSphere), трубы (Tube), пирамиды (Pyramid) и плоскости (Plane).

Каждый созданный объект имеет имя, цвет и обладает некоторыми параметрами. Под параметрами объекта понимается набор свойств, описывающих объект в трехмерном пространстве, например его координаты, длина, ширина и высота. Имя и цвет фиксируются в поле Name and Color (Имя и цвет) и их можно изменить, параметры отображаются в процессе создания объекта на панели Create (Создать), а в дальнейшем — на панели Modify (Изменение), и их набор определяется типом объекта. Например, для чайника (рис. 6), помимо его размеров, список параметров включает параметры Body (Тело), Handle (Ручка), Spout (Носик) и Lid (Крышка), часть из которых при желании несложно отключить (рис. 7).

Рис. 6. Настройка параметров для объекта Teapot по умолчанию

Рис. 7. Изменение внешнего вида объекта Teapot при изменении его параметров — большой чайник превратился в небольшую сахарницу

Создание и простейшее редактирование стандартных примитивов

Создавать и редактировать объекты можно в любой проекции, но некоторые возможности редактирования в разных проекциях отличаются. Принцип создания определяется самим объектом. Для одних объектов, например чайников (Teapot) или сфер (Sphere), достаточно щелкнуть мышью в левой верхней точке объекта, перетащить мышь и отпустить ее в правой нижней точке. Для других типов объектов процесс может оказаться более длительным, например при создании коробок (Box) или цилиндров (Cylinder) нужно будет указать еще и глубину объекта, а значит, последовательность будет выглядеть так: щелкнуть => перетащить, не отпуская кнопку мыши => отпустить кнопку мыши => перетащить => щелкнуть. Отметим, что изменить параметры объекта можно в любой момент, так как в программе запоминаются все этапы его создания и редактирования.

Создание стандартных примитивов

Вначале поэкспериментируем с обычными сферами. Для создания объектов откройте панель Create (Создать), щелкнув на соответствующей кнопке панели Command Panel, — по умолчанию данная панель открывается автоматически. На панели Create выберите категорию объектов Geometry (Геометрия), в списке типов объектов укажите тип Standard Primitives (Стандартные примитивы), а затем в группе Object Type (Типы объектов) выберите инструмент Sphere (Сфера).

Сразу обратите внимание, что на панели Create находятся несколько групп элементов: Object Type (Типы объектов), Name and Color (Имя и цвет), Creation Method (Метод создания) и др. Слева от названия групп можно увидеть либо знак «–», означающий, что группа развернута (тогда видны все ее параметры), либо знак «+», когда группа свернута и виден лишь ее заголовок. Для сворачивания/развертывания любой из групп достаточно щелкнуть курсором по заголовку группы.

Теперь приступим к созданию объекта, что, как уже отмечалось, можно сделать в любом из окон проекций. Для примера создадим сферу в окне проекции Top (Вид сверху). Для этого просто щелкните мышью в любом месте окна Top, перетащите ее, а затем отпустите кнопку мыши — в итоге сфера появится во всех четырех окнах проекций (рис. 8). Чтобы расширить поле для экспериментов, аналогичным образом создайте еще несколько однотипных сфер, например как показано на рис. 9.

Рис. 8. Появление созданной сферы

Рис. 9. Результат создания нескольких сфер

Простые варианты выделения и редактирования стандартных примитивов

Самым простым инструментом для выделения объектов является Select Object (Выделить объект), находящийся на главной панели инструментов Main Toolbar и выделяющий объект при щелчке по нему. О выделении объекта свидетельствует изменение его цвета. Выделять объекты можно и по-другому: щелкнув и перетащив по диагонали указатель мыши таким образом, чтобы выделяемые объект или объекты попали внутрь очерченной области.

После выделения объекта с ним можно производить самые разные манипуляции: перемещать и поворачивать, изменять имена и параметры, удалять и т.п. Для начала выделите первый из созданных объектов, щелкнув по нему инструментом Select Object (Выделить объект), и удалите его обычным образом, нажав клавишу Delete (Удалить). Затем выделите второй объект и измените его имя, установив курсор в текстовом поле группы Name and Color (Имя и цвет) и сменив имя Sphere02 на Sphere01 (рис. 10). Аналогичную операцию проведите для всех остальных объектов. В этой же группе можно изменить и цвет объекта, щелкнув на цветном квадратике Object Color (Цвет объекта) и выбрав в открывшейся цветовой палитре подходящий цвет (рис. 11), — для примера попробуйте перекрасить все объекты в другие цвета. А затем сохраните созданную сцену в файле при помощи стандартной команды сохранения File=>Save (Файл=>Сохранить).

Рис. 10. Изменение имени объекта

Рис. 11. Выбор цвета для объекта в окне Object Color

Теперь разберемся с перемещением объектов. За перемещение отвечает инструмент Select and Move (Выделить и передвинуть), находящийся на главной панели инструментов Main Toolbar. Чтобы выбрать его, щелкните по соответствующей кнопке или выберите одноименную команду из контекстного меню — стоит заметить, что в контекстном меню продублирован и ряд других наиболее часто используемых команд. Инструмент Select and Move (Выделить и передвинуть) позволяет передвигать объекты сцены в пространстве. Технология его применения проста — достаточно щелкнуть на объекте и перетащить его нужным образом. При этом совсем необязательно, чтобы предварительно объект был выделен, так как выделение будет произведено автоматически. Попробуйте поперемещать ранее созданные шары в окне Perspective и расположить их в конечном счете по какому-то принципу, например как на рис. 12.

Рис. 12. Результат перемещения объектов

На панели Main Toolbar имеются специальные инструменты для масштабирования объектов — Select and Scale (Выделить и масштабировать) и поворотов их в пространстве — Select and Rotate (Выделить и повернуть). В реальности под инструментом Select and Scale скрываются три различных инструмента масштабирования объектов — об этом свидетельствует особая метка в нижнем правом углу кнопки с инструментом. В число скрытых инструментов входят:

· Select and Uniform Scale (Выделить и равномерно масштабировать), предназначенный для равномерного масштабирования объектов сцены;

· Select and Non-Uniform Scale (Выделить и неравномерно масштабировать), отвечающий за неравномерное масштабирование;

· Select and Squash (Выделить и сжать), позволяющий сжимать объекты сцены вдоль одного направления, при этом объект автоматически расширяется вдоль двух других направлений.

Для выбора скрытых инструментов в 3D Studio MAX нужно щелкнуть мышью на кнопке с инструментом и задержать на ней курсор мыши — это приведет к появлению скрытых инструментов, а затем, не отпуская кнопку мыши, следует навести ее указатель на одну из появившихся кнопок инструментов — и нужный вариант инструмента окажется выбранным.

Выберите инструмент Select and Uniform Scale и откорректируйте масштаб всех сфер так, чтобы он постепенно уменьшался от первой сферы к каждой последующей, а затем сделайте копию последней сферы при помощи команды Edit=>Clone=>Copy (Редактировать=>Клонировать=>Копия), уменьшите ее масштаб, присвойте объекту имя Sphere05 и разместите сферы, например, так, как показано на рис. 13.

Рис. 13. Изображение после масштабирования и очередного перемещения сфер

После этого выделите все объекты сцены инструментом Select Object (Выделить объект), заключив их в своеобразный контейнер, и поэкспериментируйте с поворотом объектов в пространстве при помощи инструмента Select and Rotate (Выделить и повернуть) (рис. 14). Скорее всего, при повороте линия, вдоль которой мы ранее выстраивали сферы, нарушится. Дело в том, что перемещением сфер мы занимались в окне Perspective — так было гораздо нагляднее — и при этом не обращали никакого внимание на окна других проекций. В итоге пространственное положение сфер оказалось совершенно случайным, что и проявилось при повороте. Поэтому откажитесь от последнего действия командой Edit=>Undo (Редактировать=>Откат), чтобы не нарушать иллюзию удачного расположения сфер.

Рис. 14. Процесс поворота всех объектов в пространстве

Теперь перейдем к изменению параметров объектов. Выделите объект Sphere01 и откройте панель Modify (Изменение), на которой станет доступен целый перечень характерных для данного объекта параметров, любой из которых можно изменить. Имейте в виду, что далеко не всегда все параметры видны на панели Modify — многие объекты имеют большой список параметров, который не умещается в предназначенной для этой цели области, и тогда параметры приходится пролистывать по очереди или увеличивать размеры области параметров. Догадаться о назначении многих параметров несложно, например изменение параметра Radius (Радиус) приведет к увеличению или уменьшению объекта; параметр Segments (Сегменты) отвечает за степень детализации объектов: при его увеличении выпуклые объекты становятся более ровными, а при уменьшении — будут иметь более неровную границу; параметр Smooth (Сглаживание) предназначен для настройки степени сглаживания объекта и т.д. Поэкспериментируйте с размерами, а затем, корректируя значения параметра Segments (Сегменты), попробуйте добиться формирования сфер с более четкими краями, так как при настройках параметра Segments (Сегменты), устанавливаемых по умолчанию, сферы получаются недостаточно гладкими. Затем аналогичные настройки произведите для всех остальных шаров (рис. 15).

Рис. 15. Результат корректировки параметров на панели Modify

Изучение навигационных возможностей

Навигацией называется перемещение по пространству сцены без изменения ее состояния — при навигации изменяется только вид сцены, поскольку перемещается лишь точка обзора, из которой наблюдают сцену, но не ее объекты. В отличие от двумерных графических пакетов, в трехмерной графике навигации уделяется гораздо больше внимания, так как размер окон проекций, предназначенных для обзора сцены, ограничен. Даже при самых лучших параметрах оборудования он окажется недостаточным, и в процессе создания сцены ее не раз придется оценивать с различных ракурсов, в разном масштабе и в нескольких проекциях. За решение этой задачи отвечают инструменты навигации, которые находятся в нижнем правом углу окна программы 3D Studio MAX (рис. 16).

Рис. 16. Навигационные инструменты

Осваивать навигационные возможности программы нужно на каком-то примере, поэтому создадим новую пустую сцену командой File=>Reset (Файл=>Перезагрузить), сохранив при желании сцену со сферами. На новой сцене нарисуйте произвольный объект из группы стандартных примитивов.

Изменить масштаб активного окна проекций можно инструментом Zoom (Масштаб), находящимся в правом нижнем углу окна программы. Выбрав данный инструмент, щелкните мышью в одном из окон проекций и, не отпуская клавишу мыши, перетащите ее указатель вверх — отображение сцены в данном окне увеличится (рис. 17 и 18). Аналогичная операция, но с перемещением указателя мыши вниз приведет к уменьшению масштаба. Для изменения масштаба сразу во всех окнах проекций предназначен инструмент Zoom All (Масштаб для всех) — операция производится аналогичным образом.

Рис. 17. Исходный вид окон проекций

Рис. 18. Результат увеличения масштаба в окне Perspective

Добавьте к сцене еще пару объектов, сознательно создавая их так, чтобы они не были видны в окне Perspective, активизируйте окно Perspective, а затем щелкните на инструменте навигации Zoom Extents (Масштаб сцены). В результате программа автоматически установит такой масштаб для активного окна, при котором в нем будут отображены все объекты сцены (рис. 19). Обратите внимание, что под кнопкой Zoom Extents скрываются два инструмента: Zoom Extents (Масштаб сцены), которым мы только что пользовались, и Zoom Extents Selected (Масштаб выделенных объектов сцены), применяемый для автоматической установки масштаба для активного окна проекции, при котором выделенный объект сцены будет располагаться в центре и занимать основную часть окна проекции (рис. 20). При выделении нескольких объектов изменение масштаба будет относиться ко всем выделенным объектам. Инструменты Zoom Extents All (Масштаб сцены для всех окон) и Zoom Extents All Selected (Масштаб выделенных объектов сцены для всех окон) по своему воздействию аналогичны инструментам Zoom Extents и Zoom Extents Selected, за исключением того, что изменение масштаба распространяется на все окна проекций сразу.

Рис. 19. Вид окна Perspective после автоматической корректировки масштаба инструментом Zoom Extents

Рис. 20. Вид окна Perspective после автоматической корректировки масштаба инструментом Zoom Extents Selected для выделенного объекта

Теперь обратите внимание на инструмент Field-of-View (Зона обзора), предназначенный для изменения перспективы, и Region Zoom (Масштаб области), отвечающий за изменение масштаба области. По умолчанию виден инструмент Field-of-View (Зона обзора), который доступен в окнах проекций Perspective и Camera, а инструмент Region Zoom (Масштаб области) скрыт под ним и предназначен для изменения масштаба во всех проекциях, кроме Perspective и Camera. Чтобы сориентироваться, вначале выберите инструмент Field-of-View (Зона обзора), активизируйте окно Perspective и, не отпуская кнопку мыши, переместите указатель мыши вначале вверх, а потом вниз, что и приведет к изменению перспективы. После этого выберите инструмент Region Zoom (Масштаб области), щелкните в любом другом окне, кроме окна Perspective, и перетащите указатель мыши таким образом, чтобы заключить в прямоугольную рамку тот участок сцены, который необходимо рассмотреть более детально. После отпускания кнопки мыши очерченная область займет все пространство текущего окна.

Не менее важны инструмент Pan (Прокрутка) и группа инструментов Arc Rotate (Вращать по дуге). Первый отвечает за перемещение сцены внутри окна, а второй позволяет вращать по дуге точку обзора, благодаря чему можно изучить интересующие объекты сцены со всех сторон, и объединяет следующие инструменты:

· Arc Rotate (Вращать по дуге) — предназначен для свободного вращения точки обзора сцены вокруг центра обзора;

· Arc Rotate Selected (Вращать по дуге относительно выделенных объектов) — позволяет вращать точку обзора сцены относительно выделенных объектов;

· Arc Rotate SubObject (Вращать по дуге относительно выделенных подобъектов) — с его помощью можно вращать точку обзора сцены относительно выделенных подобъектов.

Для примера попробуем воспользоваться самым простым инструментом из данной группы — инструментом Arc Rotate (Вращать по дуге). Активизируйте окно Perspective и выберите инструмент Arc Rotate — это приведет к появлению изображения вспомогательной окружности с четырьмя небольшими квадратиками (рис. 21). Поперемещайте указатель мыши внутри окна Perspective, не нажимая никаких кнопок, и обратите внимание на изменение внешнего вида указателя: на вспомогательной окружности у него будет один вид, а при попадании в квадратики — другой. Соответственно и результаты поворота будут напрямую определяться тем, из какой точки и при каком виде указателя будет начат поворот. В отличие от обычного поворота точки обзора сцены вокруг центра обзора, при повороте из квадратиков-указателей одновременно с вращением будет производиться перемещение объектов относительно центра обзора (рис. 22).

Рис. 21. Окно Perspective после выбора инструмента Arc Rotate

Рис. 22. Пример поворота объектов с их перемещением инструментом Arc Rotate

Последний из навигационных инструментов — Min/Max Toggle (Переключатель Min/Max) — позволяет переключаться в режим одного окна: активное окно занимает всю область просмотра, благодаря чему можно рассмотреть все детали сцены.

Создание объектов на основе примитивов

Как несложно догадаться, множество окон проекций в программе 3D Studio MAX предоставляется в распоряжение пользователя не просто так. Разбирая примеры, мы создавали стандартные примитивы в тех проекциях, в которых просто захотелось это сделать; наблюдали внешний вид сцены в окне Perspective и совершенно не обращали внимания на другие окна проекций. Так было проще и понятнее разобраться с некоторыми начальными приемами работы, однако в реальной работе данный путь неверен. Создавать тот или иной объект следует с учетом его положения в каждой перспективе, иначе результата не добиться.

Попытаемся из нескольких примитивов смоделировать простейший трехмерный объект в виде снеговика и добиться того, чтобы снеговик был действительно единым целым, а не представлял собой просто набор разрозненных примитивов. Будем условно считать, что снеговик состоит из двух сфер и одного конуса, который будет играть у него роль шляпы. В этом случае в проекциях Front (Спереди) и Left (Слева) мы должны видеть все три примитива, нарисованные друг на друге, а в проекции Top (Сверху) — все примитивы должны быть наложены друг на друга.

Создайте новую сцену, инструментом Pan (Прокрутка) переместите сцену внутри окна проекции Left вниз (рис. 23), возьмите инструмент Sphere (Сфера) из группы Standard Primitives и нарисуйте в окне проекции Left два шара один поверх другого, при необходимости подкорректируйте их положение друг относительно друга (рис. 24). Затем активизируйте инструмент Cone (Конус) и постарайтесь создать конус, который станет шляпой снеговика. Имейте в виду, что создавать конус гораздо удобнее в окне Perspective, по крайней мере на стадии начального освоения программы. Возможно, что изначально конус у вас будет выглядеть примерно так, как показано на рис. 25. Теперь необходимо передвинуть конус на предназначенное ему место, причем отрегулировать положение конуса следует во всех трех проекциях — Front (Спереди), Left (Слева) и Top (Сверху). Результат должен напоминать рис. 26. Чтобы убедиться, что нужный результат достигнут, повращайте снеговика по дуге инструментом Arc Rotate (Вращать по дуге), а также повращайте его в пространстве инструментом Select and Rotate (Выделить и повернуть) — рис. 27. Напоследок отрегулируйте цвета, и, возможно, окончательный результат будет напоминать рис. 28.

Рис. 23. Окно Left после перемещения сцены

Рис. 24. Появление двух сфер

Рис. 25. Появление конуса

Рис. 26. Вид сцены после корректировки положения конуса в трех проекциях

Рис. 27. Вращение снеговика инструментом Select and Rotate — видно, что все составляющие элементы находятся на своих местах, а значит, задача выполнена

Рис. 28. Готовый снеговик

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

Конус с обрезанной верхушкой создается при помощи инструмента Cone (Конус), как и обычный конус, — разница заключается лишь в том, что для обычного конуса значение параметра Radius 2 (Радиус 2) равно нулю, а для конуса с обрезанной верхушкой — какому-то положительному числу. Причем значение параметра Radius 2 должно быть меньше параметра Radius 1, если вершина конуса направлена вверх, и больше — в противном случае.

В данном примере разумнее создавать все три примитива в окне проекции Left (Слева), а затем корректировать внешний вид изображения в других проекциях. Обратите внимание на то, что ножки стола одинаковые (значит, вначале создается первая ножка, затем она копируется командой Clone (Дублировать), которую можно выбрать из контекстного или главного меню). Чтобы симметрично расположить ножки столешницы, обратите внимание на координаты объекта, которые появляются в нижней части окна программы при выделении объекта инструментом Select and Move (Выделить и передвинуть). Совсем необязательно перемещать объект мышью — в ряде случаев (в частности, при перемещении ножек стола) гораздо удобнее вручную ввести его координаты, и объект точно так же переместится. В нашем примере у обеих ножек координаты по осям Y и Z должны быть одинаковы, поэтому их гораздо проще ввести вручную (рис. 29). Кроме того, не забывайте, что довольно часто гораздо удобнее определять нужные размеры примитивов не перемещением мыши, а на панели Modify (Изменение) путем ручного ввода соответствующих параметров. Вполне возможно, что полученный в итоге стол будет напоминать представленный на рис. 30.

Рис. 29. Ручной ввод координат для левой ножки стола

Рис. 30. Созданный стол в четырех проекциях