Назначение и типы карт текстур
Как уже упоминалось в предыдущей главе, основная часть карт текстур (а их в max 7.5 реализовано 35 типов) — это всего лишь фотографии или изображения, синтезируемые программой по заданным алгоритмам и воспроизводящие характерный рисунок поверхности тех или иных объектов реального мира. Существует несколько специальных типов карт текстур, призванных обеспечивать эффект зеркального отражения окружающих объектов на поверхности текущего материала или эффект преломления лучей света при прохождении через прозрачный материал.
Как вы можете представить, в рамках нашей книги нет никакой возможности рассмотреть вопросы назначения и использования всех или хотя бы большей части карт текстур. В связи с этим мы перечислим все карты текстур, а рассмотрим подробнее только те из них, которые пригодятся нам в работе над проектом «МАХ-кафе».
Карты текстур max 7.5 делятся на пять групп: двумерные, трехмерные, составные, карты-модификаторы цвета и прочие.
Назначение номеров каналов G-буфера
Назначение номеров каналов G-буфера объектам сцены производится в окне диалога Properties (Свойства). Чтобы назначить объекту номер канала G-буфера, действуйте следующим образом:
1. Выделите нужный объект сцены и щелкните на нем правой кнопкой мыши, чтобы вызвать меню объекта. В этом меню выберите команду Properties (Свойства). Появится окно диалога Object Properties (Свойства объекта) (пример такого окна можно видеть на рис. 3.18).
2. Установите в счетчике Object Channel (Канал объекта) раздела G-Buffer (G-бу-фер) номер канала, отличный от 0. Нулевое значение этого параметра означает, что канал графических эффектов объекту не присвоен.
3. Щелкните на кнопке ОК.
Назначение номеров каналов G-буфера материалам max 7.5 производится в окне диалога Material Editor (Редактор материалов). Чтобы назначить материалу номер канала G-буфера, выполните следующие действия:
1. Раскройте окно Редактора материалов и активизируйте ячейку с образцом нужного материала.
2.
Щелкните на кнопке Material Effects Channel (Канал эффектов монтажа) и выберите на ее раскрывающейся панели нужный номер канала G-буфера. Нулевой номер означает, что канал G-буфера для данного материала не установлен и его выборочная фильтрация невозможна.
Чтобы выполнить имитацию тех или иных оптических эффектов, их следует выбрать и настроить.
Недостатки автоматического режима анимации
Вспомним пример анимации сцены «Шахматы». Когда мы выполняли поочередную анимацию движения шахматных фигур, нам приходилось постоянно помнить о необходимости создания ключей фиксации их положений, чтобы фигуры не начинали свое движение раньше времени.
Вот если бы в момент создания ключа перемещения для выделенной фигуры, обеспечивающего ее сдвиг на новую клетку шахматной доски, для всех остальных фигур, остающихся на месте, тоже создавался ключ перемещения, фиксирующий их текущее положение, проблема была бы решена.
Аналогичная проблема возникает при анимации, скажем, нацеленной камеры. Такая анимация обычно осуществляется поочередным перемещением мишени при неподвижной камере (это имитирует перевод взгляда зрителя, остающегося на месте, на новый предмет его внимания) и перемещением камеры при неподвижной мишени (этим имитируется, что зритель переходит в новую позицию, фиксируя взгляд на выбранном предмете). Таким образом, пока движется камера, должна оставаться неподвижной мишень, и наоборот, пока движется мишень, неподвижна камера. В традиционном режиме автоматической анимации это требовало постоянной заботы о создании ключей фиксации.
А теперь представьте себе, что речь идет об анимации сложного персонажа, состоящего из десятков связанных между собой деталей. Вы настраиваете какую-то позу персонажа и имеете право желать, чтобы сделанные впоследствии изменения тех или иных параметров частей тела не оказали обратного влияния на тщательно настроенную позу. Это может быть достигнуто только в том случае, если для всех параметров (а не только для анимируемых, как в автоматическом режиме!) всех объектов в текущем кадре создаются ключи фиксации их текущих значений. Отследить такое количество параметров средствами автоматической анимации было достаточно сложно или уж, по крайней мере, хлопотно.
В режиме принудительной анимации, включаемом кнопкой Set Key (Задать ключ), описанные проблемы после некоторой подготовки решаются буквально одним щелчком кнопкой мыши. Итак, можно считать, что основное назначение принудительного режима анимации — обеспечить простую и удобную возможность создания ключей, фиксирующих в текущем кадре значения сразу множества параметров анимации множества объектов, выбираемых пользователем.
Чтобы научиться вручную создавать ключи анимации в режиме, включаемом кнопкой Set Key (Задать ключ), выполните пару следующих упражнений.
Недостатки трехмерной графики
Выше мы рассмотрели особенности трехмерной графики, которые можно отнести к ее достоинствам по сравнению с обычной двумерной графикой. Но, как известно, не бывает достоинств без недостатков. Недостатками трехмерной графики, которые следует учитывать при выборе средств для разработки ваших будущих графических проектов, можно условно считать:
повышенные требования к аппаратной части компьютера, в частности к объему оперативной памяти, наличию свободного места на жестком диске и быстродействию процессора;
необходимость большой подготовительной работы по созданию моделей всех объектов сцены, которые могут попасть в поле зрения камеры, и по присвоению им материалов. Впрочем, эта работа обычно окупается полученным результатом;
меньшую, чем при использовании двумерной графики, свободу в формировании изображения. Имеется в виду, что, рисуя картину карандашом на бумаге или средствами двумерной графики на экране компьютера, вы имеете возможность совершенно свободно искажать любые пропорции объектов, нарушать правила перспективы и т. п., если это необходимо для воплощения художественного замысла. В 3ds max 7.5 это также возможно, но требует дополнительных усилий;
необходимость контроля за взаимным положением объектов в составе сцены, особенно при выполнении анимации. В связи с тем, что объекты трехмерной графики «бестелесны», легко допустить ошибочное проникновение одного объекта в другой или ошибочное отсутствие нужного контакта между объектами. Это означает, что, например, модель персонажа анимации вместо того, чтобы плотно стоять на «земле», может зависнуть в «воздухе» или провалиться по колено. По этой же причине необходимо принимать специальные меры для деформации объектов при их столкновении или разрушении. Если этого не сделать, то, например, сталкивающиеся модели автомобилей просто проедут друг сквозь друга, а меч одного героя анимации пройдет сквозь тело другого, не причинив ему никакого вреда;
необходимость принятия дополнительных мер, обычно применяемых на этапе вторичной обработки синтезированных изображений, чтобы «испортить» картинку, придав ей более правдоподобный вид. Не секрет, что результаты визуализации сцен средствами трехмерной графики выглядят чересчур «прилизанными», идеально правильными, а потому недостаточно жизненными. В связи с этим в состав программ трехмерной графики входит целый ряд фильтров, позволяющих имитировать такие эффекты, как конечная глубина резкости изображений, зернистость воображаемой фотопленки или смаз, вызванный движением объектов в момент съемки.
Некоторые другие полезные модификаторы формы
Помимо рассмотренных модификаторов формы объектов существует еще целый ряд модификаторов, полезных для начинающих разработчиков трехмерной графики. К таким модификаторам, на мой взгляд, можно отнести следующие:
Bevel Profile (Скос по профилю) — модификатор, занимающий промежуточное положение между инструментами выдавливания и лофтинга. Позволяет выполнить выдавливание заданной кривой, представляющей собой сечение объекта, с изменением масштаба сечения в направлении выдавливания в соответствии с заданным профилем, задаваемым второй кривой. Это позволяет, например, взяв сечение в форме круга и выполнив его скос по профилю в форме зеркальной половины вертикального сечения бокала, построить трехмерный бокал, как показано на рис. 8.19;
Рис. 8.19. Слева — сечение-круг и кривая-профиль скоса, а справа — бокал, сформированный по этим кривым с помощью модификатора скоса по профилю
Path Deform (Деформация по траектории) — этот модификатор позволяет изменить форму готового трехмерного тела в соответствии с некоторой заданной кривой, представляющей собой траекторию деформации, как показано на рис. 8.20;
Рис. 8.20. Объект (выдавленный сплайн-текст) деформирован по траектории в виде сплайна-окружности
ЗАМЕЧАНИЕ
Просмотрите анимацию действия модификатора Path Deform (Деформация по траектории), файл которой под именем Deformacia po traektorii.avi хранится в папке Animations\ Glava_08 компакт-диска, прилагающегося к книге. Соответствующая сцена, по которой построена эта анимация, имеется в файле Deformacia po traektorii.max, хранящемся в папке Scenes\Glava_08 того же компакт-диска. |
FFD (Free Form Deformation — Произвольная деформация) - это целое семейство модификаторов, позволяющих произвольным образом менять форму объекта за счет перемещения управляющих точек решетки деформации, в которую заключается модифицируемый объект, как показано на рис. 8.21. Именно числом точек этой решетки, а также формой габаритного контейнера различаются отдельные модификаторы данного семейства. Для перемещения управляющих точек следует сначала выбрать строку Control Points (Управляющие точки) на дереве подобъектов данного модификатора, а затем выделить нужные точки в окнах проекций;
За счет перемещения группы управляющих
Рис. 8.21. За счет перемещения группы управляющих вершин модификатора FFD с решеткой 4x4x4 прямоугольному блоку придан вид книги
Skew (Сдвиг) -- этот модификатор позволяет применить к объекту деформацию, вызывающую его равномерный перекос, как показано на рис. 8.22. Это похоже на то, как если бы объект разрезали на тонкие слои параллельно оси сдвига и слегка сместили их относительно друг друга, подобно колоде карт. Данный модификатор позволяет создавать интересные анимации;
Рис. 8.22. Кресло «откинулось назад» и «встало на дыбы» с помощью модификатора Skew
Melt (Таяние) — этот модификатор позволяет имитировать довольно правдоподобную анимацию процесса таяния объекта, постепенно превращающегося в растекшуюся лужу, как показано на рис. 8.23;
Рис. 8.23. Один из бокалов начал «таять» благодаря применению модификатора Melt
ЗАМЕЧАНИЕ Просмотрите анимацию действия модификатора Melt (Таяние), файл которой под именем Taianie.avi хранится в папке Animations\GIava_08 компакт-диска, прилагающегося к книге. Соответствующая сцена, по которой построена эта анимация, имеется в файле Taianie.max, хранящемся в папке Scenes\Glava_08 того же компакт-диска. |
Рис. 8.24. К объекту слева был применен модификатор Shell, в результате чего он обрел толщину
Что ж, если вы всерьез заинтересовались теми поистине безграничными возможностями воздействия на форму объектов, которые предоставляют вам модификаторы max 7.5, попробуйте разобраться в них самостоятельно при помощи электронной справочной системы этой программы. Нам же пора переходить к рассмотрению вопросов применения модификаторов для редактирования трехмерных тел на уровнях подобъектов.
Некоторые особенности NURBS-поверхностей
Поверхности типа NURBS по праву считаются одним из наиболее совершенных творений компьютерной графики, когда речь идет о моделировании объектов с плавными обводами форм. Такие формы свойственны, главным образом, объектам живой природы или, как принято говорить в трехмерной графике, объектам «органики» — растениям и живым организмам. Однако и среди объектов искусственного происхождения достаточно много таких, которые отличаются плавностью кривизны поверхности и отсутствием резких изломов формы. В частности, такая плавность изгибов характерна для складок на тканях или для корпусов современных самолетов и автомобилей.
В главе 5 вы познакомились с инструментами создания стандартных NURBS-no-верхностей двух типов: Point Surf (Точечная поверхность) и CV Surf (CV-поверх-ность), однако до сих пор мы ничего не говорили о том, как можно придать этим стандартным поверхностям нужную форму. Задача данной главы — научить вас работать с подобъектами NURBS-поверхностей, аналогично тому, как в предыдущей главе вы научились редактировать форму сеток и полисеток, манипулируя их вершинами, ребрами и гранями.
В главах 6 и 7 вы сталкивались с NURBS-поверхностями, формируемыми путем выдавливания, вращения или лофтинга NURBS-кривых. Создаваемые такими способами поверхности называются зависимыми, так как их форма полностью зависит от конфигурации кривых-сечений. Редактировать форму зависимых NURBS-поверхностей нельзя никак иначе, кроме как воздействуя на форму лежащих в их основе кривых. Однако можно разорвать зависимость подобных поверхностей от породивших их кривых, обретя при этом возможность редактирования формы поверхностей на уровне подобъектов. Платой за это будет утрата связи формы поверхности с породившими ее кривыми-сечениями.
Перед тем как приступить к освоению методов редактирования формы независимых NURBS-поверхностей, стоит внимательнее присмотреться к тому, как они отображаются на экране max 7.5.
В каркасном варианте отображения NURBS-поверхность совсем не похожа на привычную нам сетку из треугольных граней или многоугольников-полигонов. Вообще говоря, такая поверхность и не имеет граней, так как ее форма описывается математическими уравнениями. По умолчанию NURBS-поверхность отображается совокупностью так называемых изолиний, то есть линий равных значений локальных координат U и V, которые условно можно рассматривать как координаты «вдоль» и «поперек» поверхности, как показано на рис. 10.1, вверху. На этом рисунке белыми линиями обозначены опорные кривые, а линиями серого цвета, которые на самом деле на экране max 7.5 имеют зеленую окраску, — изолинии NURBS-поверхности.
Рис. 10.1. Отображение поверхности типа NURBS в виде набора изолиний (вверху) и в виде сетки (внизу)
Число изолиний можно менять с помощью счетчиков U Lines (U-изолиний) и V Lines (V-изолиний), размещающихся в свитке Display Line Parameters (Параметры отображения линий) командной панели Modify (Изменить), показанном на рис. 10.2. Этот свиток становится доступным, если выделен объект, представляющий собой NURBS-поверхность, и не включен режим выделения подобъектов этого объекта, то есть в окне стека модификаторов выбрана строка NURBS Surface (NURBS-поверхность) — заголовок дерева подобъектов.
Рис. 10.2. Свиток Display Line Parameters содержит переключатель типа отображения NURBS-поверхностей и счетчики числа изолиний
Тем не менее max 7.5 все же разбивает NURBS-no-верхности на треугольные грани, чтобы к ним можно было применять те же алгоритмы отображения, что и к полигональным сеткам. Чтобы увидеть эту скрытую от глаз сетчатую геометрию NURBS-поверхности в каркасном режиме, как показано на рис. 10.1, внизу, следует в свитке Display Line Parameters (Параметры отображения линий) установить переключатель в положение Mesh Only (Только сетка). Выбираемая по умолчанию позиция переключателя Iso and Mesh (Сетка и изолинии) обеспечивает отображение изолиний в каркасном режиме просмотра и сетки — в тонированном режиме. Чтобы увидеть топологию сетки в тонированном варианте отображения, нужно дополнительно включить режим Edged Faces (Контуры граней), просто нажав клавишу F4.
Эти особенности отображения NURBS-поверхностей следует учитывать при редактировании их формы, своевременно выбирая нужный режим просмотра.
В данной главе мы познакомимся с тремя разновидностями приемов создания трехмерных тел произвольной формы на основе NURBS-поверхностей:
придание нужной формы стандартной поверхности типа NURBS;
редактирование формы NURBS-поверхности, полученной за счет преобразования стандартного примитива;
моделирование тел произвольной формы с использованием набора инструментов преобразования NURBS-кривых в NURBS-поверхности.
Неравномерное масштабирование «вручную»
Для неравномерного масштабирования также годится любой из инструментов Select and Uniform Scale (Выделить и равномерно масштабировать) и Select and Non-uniform Scale (Выделить и неравномерно масштабировать). Выделите объект. Установите курсор уже не на треугольную плоскость в центре контейнера, а на одну из трех полосок в форме трапеций по бокам от центрального треугольника. Каждая из трех полосок позволяет выполнять неравномерное масштабирование в направлении пары осей координат, которые она соединяет. Соответствующая полоска приобретет полупрозрачную заливку желтого цвета, векторы осей, на которые она опирается, тоже станут желтыми, а курсор примет вид, показанный на рис. 4.34. Щелкните кнопкой мыши и перетаскивайте курсор, наблюдая за изменением масштаба объекта и контейнера преобразования.
Рис. 4.34. При неравномерном изменении масштаба объекта размеры контейнера преобразования также меняются, но только вдоль избранной оси или пары осей
Если перетаскивать полоску-манипулятор за ее середину, то масштаб объекта будет меняться в направлении сразу обеих осей, которые соединяет эта полоска. При этом в направлении третьей оси координат, которая не меняла цвет на желтый, масштаб объекта меняться не будет. Если перетаскивать полоску за один из концов, то будет происходить масштабирование только вдоль той оси, которая ближе к выбранному концу полоски.
Для масштабирования объекта строго вдоль какой-то одной оси координат можно щелкнуть непосредственно на этой оси и перетаскивать курсор. При этом ни одна из плоскостей-манипуляторов не приобретает желтой заливки.
Как только вы отпустите кнопку мыши для завершения операции, контейнер приобретет прежние размеры и пропорции.
Несколько заданий на самостоятельную проработку
Чтобы достойно завершить эту главу, выполните самостоятельно несколько заданий, цель которых — помочь вам убедиться в понимании тонкостей применения текстурных карт и создания многокомпонентных материалов.
Попробуйте проделать самостоятельно следующие действия:
1. Попытайтесь смоделировать двери со стеклами на створках, применив к объектам, изображающим створки дверей, материал типа «Дерево + стекло». Нужно только подготовить сетки створок дверей соответствующим образом, аккуратно назначив граням нужные идентификаторы материала.
2. Попробуйте создать и назначить материалы Деду Морозу, стоящему возле елки. Многокомпонентный материал для шубы и шапки Деда Мороза должен состоять всего из двух компонентов, скажем, красного и белого цветов. Красный материал будет применен к полам шубы, рукавицам и верху шапки, а белый будет изображать меховую оторочку. Можете добавить в состав этих материалов текстуры на свой вкус. Материал для головы Деда Мороза должен включать три компонента: телесного цвета — для лица, белого — для усов и бороды и черного — для глаз. Прототипы соответствующих материалов под именами Shuba и Golova можно найти в библиотеке MAX-kafe.mat. Кстати, в этой библиотеке при желании вы найдете также и материалы Valenki, Meshok и Kristall posoha, назначение которых ясно из их названий. На рис. 14.84 показано, как могла бы выглядеть в интерьере кафе «МАХ» фигурка Деда Мороза после нанесения материалов.
Рис. 14.84. Вариант внешнего вида фигурки Деда Мороза после нанесения материалов
3. Подготовьте многокомпонентные материалы для раскраски елочных шаров, ветвей и ствола самой елки. Материал, предназначенный для елочных игрушек-шаров, должен состоять из двух компонентов, первый из которых будет имитировать зеркальное цветное стекло, а второй — золотистый металлический колпачок наверху шариков. Не рекомендую вам использовать в материале шариков карту трассируемой текстуры для имитации отражения, так как сцена и без того перенасыщена подобными текстурами. Так как шарики не представлены крупным планом, проще сымитировать отражения с помощью растровой текстуры. В качестве материала для золотистых колпачков используйте готовый материал Pozolota. Модель елки изначально снабжена многокомпонентным материалом из 17 компонентов. Среди них вас будут интересовать только материалы № 4 и 5, имитирующие ствол и ветки, а также № 16, изображающий иголки на ветвях ели. В основу материалов для ствола и ветвей положите растровую текстуру с рисунком еловой коры из файла Bark4.jpg, имеющегося в папке Maps\Wood компакт-диска, прилагающегося к книге. Поместите эту текстуру в канал цвета диффузного рассеивания. Для имитации иголок елки примените две растровые текстурные карты, также имеющиеся в папке Maps компакт-диска, прилагающегося к книге. Одну, с изображением зеленой еловой веточки, хранящуюся в файле lgolki.tif, поместите в канал цвета диффузного рассеивания того компонента материала, который будет применен к веткам елки. Другую текстуру, из файла lgolki(Opacity).tif, с черно-белым изображением той же еловой ветки, поместите в канал Opacity (Непрозрачность). Если не сможете проделать это самостоятельно, загляните в библиотеку MAX-kafe.mat, найдите там многокомпонентный материал Yolka и разберитесь в его структуре. На рис. 14.85 показано, как может выглядеть наша новогодняя елка с игрушками в интерьере кафе.
Рис. 14.85. Новогодняя елка с ее убранством после нанесения материалов
4. Создайте многокомпонентный материал для камина нашего кафе. В этой работе есть две особенности. Во-первых, использование для наружной облицовки камина материала с характерным узором кирпичной кладки (можете применить растровую текстуру Yellobrk.jpg, имеющуюся в папке Maps\Brick стандартных текстур max 7.5) требует тщательной подгонки кратности текстуры и положения рисунка в пределах поверхностей объекта, иначе разрывы рисунка на краях объекта будут слишком очевидны. Можете попробовать применить при нанесении материала на поверхности камина метод назначения объекту нескольких модификаторов плоской проекции, как было описано выше в разделе «Применение нескольких модификаторов проекций к одному объекту». Образец той же самой растровой текстуры поместите в канал Bump (Рельефность), чтобы швы между кирпичами выглядели более выразительно. Во-вторых, в составе материала, выстилающего внутренние поверхности топки камина, имеет смысл заменить цвет диффузного рассеивания текстурной картой типа Noise (Неоднородности). В самой карте случайных пятен замените белый цвет текстурой красной кирпичной кладки, применив, скажем, растровую текстуру Brkwea.jpg. Такой прием позволит создать впечатление, что стенки топки покрыты пятнами копоти, как это и должно быть на самом деле. Примерный вид камина после нанесения материалов показан на рис. 14.86. После того как у вас что-то получится, можете сравнить свой результат с готовым материалом, который хранится под именем Kamin в библиотеке MAX-kafe.mat.
Рис. 14.86. Вариант нанесения текстуры кирпичной кладки на поверхности камина
5. Чтобы убедиться, что созданные нами материалы имеют более широкое применение, чем то, какое мы им уготовили в сцене «МАХ-кафе», попробуйте назначить материалы шахматным фигурам и доске, на которой они расставлены. Необходимый для этого файл сцены под именем Shahmati.max вы можете найти в папке Scenes\Glava_06 компакт-диска, прилагающегося к книге. Ко всем фигурам одного цвета, кроме ферзя и короля, примените стандартный материал с текстурой темного дерева типа Duboviy кар, к фигурам другого цвета — материал с текстурой светлого дерева, наподобие материала lasenevaia doska. Для ферзей и королей, на «головах» которых должны красоваться маленькие золотые короны, создайте два многокомпонентных материала. Один — из стандартных материалов Duboviy кар и Pozolota, а второй — из материалов lasenevaia doska и Pozolota. Для шахматной доски создайте многокомпонентный материал из двух компонентов. В качестве первого, который должен быть нанесен на все поверхности доски, кроме шахматного поля, используйте все тот же материал с текстурой светлого дерева lasenevaia doska. В качестве второго компонента примените стандартный материал Parket. Тщательно настройте счетчики группы Tiling (Кратность), чтобы вписать в пределы шахматного поля точно 8x8 клеток «паркета». Проделав всю эту работу, можете сопоставить получившийся результат с готовой сценой, к которой применены все описанные материалы. Такая сцена, результат визуализации которой показан на рис. 14.87, хранится под именем Shahmati01.max в папке Scenes\Glava_14 компакт-диска, прилагающегося к книге.
Рис. 14.87. Шахматы после применения материалов к фигурам и доске
Объекты категории Geometry (Геометрия)
В данную категорию входят объекты, предназначенные для построения геометрической модели трехмерной сцены и подразделяемые на следующие разновидности:
Standard Primitives (Стандартные примитивы) - это трехмерные тела правильной геометрической формы, такие как параллелепипед, сфера или тор. В число стандартных примитивов исторически входит также объект, представляющий собой чайник с носиком, ручкой и крышкой (рис. 2.17; на компакт- диске в папке lmages\Glava_02 есть цветные варианты этого и последующих рисунков, а в папке Scenes\Glava_02 — файлы сцен, по которым они были визуализированы);
Рис. 2.17. Стандартные примитивы
Extended Primitives (Улучшенные примитивы) — это также трехмерные тела, но обладающие несколько более сложной формой и характеризуемые большим числом параметров, чем стандартные примитивы. К их числу относятся такие объекты, как параллелепипед или цилиндр с фасками, многогранник, тороидальный узел и т. п. (рис. 2.18);
Рис. 2.18. Улучшенные примитивы
Compound Objects (Составные объекты) — это трехмерные тела, составленные из двух или более простых объектов, как правило, объектов-примитивов (рис. 2.19). В данную разновидность входят также объекты типа Loft (Лофтин-говые) — трехмерные тела, которые строятся методом лофтинга, то есть путем формирования оболочки по опорным сечениям, расставляемым вдоль заданной траектории (рис. 2.20);
Рис. 2.19. Составные объекты
Рис. 2.20. Объекты, построенные методом лофтинга
Particle Systems (Системы частиц) — это источники множества мелких двумерных или трехмерных частиц, призванных имитировать такие природные объекты, как пыль, дым, снег, брызги воды, воздушные пузырьки или искры огня (рис. 2.21). На прилагающемся к книге компакт-диске в папке Animations\Glava_02 находится файл Chasticy.avi, позволяющий увидеть системы частиц в действии;
Рис. 2.21. Системы частиц
Patch Grids (Сетки кусков) — это поверхности, состоящие из кусков Безье, форма и кривизна которых может регулироваться за счет манипулирования управляющими точками. С помощью сеток кусков Безье удобно моделировать поверхности с плавно меняющейся кривизной (рис. 2.22);
Рис. 2.22. Так выглядят сетки кусков Безье в окне проекции (слева), а так — после визуализации (справа)
NURBS Surfaces (NURBS-поверхно-сти) — это поверхности, форма которых описывается специальными математическими выражениями — неоднородными рациональными В-сплайнами {Non-Uniform Rational В-Splines — NURBS). В зависимости от типа NURBS-поверхностей они или проходят через все точки, заданные в пространстве сцены, или плавно огибают их. Такие поверхности наилучшим образом подходят для моделирования объектов сложной формы, свойственных живой и неживой природе (рис. 2.23);
Рис. 2.23. NURBS-поверхность позволяет моделировать даже складки ткани (слева — в окне проекции, справа — после визуализации с применением материала)
Doors (Двери) и Windows (Окна) — разновидности стандартных объектов, позволяющие без труда создавать такие достаточно сложные архитектурные элементы, как двери и окна различных типов (рис. 2.24), которые могут открываться и закрываться в процессе анимации;
Рис. 2.24. Окна и двери
Dynamics Objects (Динамические объекты) - это специфическая разновидность стандартных объектов, позволяющая с легкостью моделировать два типа механических устройств: пружины и амортизаторы (рис. 2.25). Эти объекты не просто похожи на свои реальные прототипы по виду, но и позволяют при анимации физически правдоподобно реагировать на действующие на них воображаемые силы;
Рис. 2.25. Динамические объекты
АЕС Extended (Улучшенные объекты для архитектурных, инженерных и конструкторских работ) — это разновидности стандартных объектов, позволяющих создавать такие специфические объекты, которые применяются в архитектурном моделировании, как Railing (Ограда), Wall (Стена) Foliage (Растительность) (рис. 2.26). Последний используется, в частности, для оформления экстерье-ров (хотя небольшую пальму можно посадить и в трехмерном офисе);
Рис. 2.26. Улучшенные объекты для архитектурных, инженерных и конструкторских работ
Stairs (Лестницы) — это разновидность стандартных объектов, позволяющая моделировать разнообразные типы лестниц (рис. 2.27): Spiral (Винтовые), Straight (Прямые) и другой формы.
Рис. 2.27. Разные типы лестниц
Объекты категории Helpers (Вспомогательные объекты)
В данную категорию входят объекты, которые не включаются в итоговое изображение сцепы и предназначены для упрощения задачи ее моделирования или анимации. Из восьми разновидностей вспомогательных объектов нас будут интересовать лишь некоторые, востребуемые по мере необходимости:
Standard (Стандартные) — это объекты, используемые как вспомогательные при разработке и анимации геометрических моделей;
Atmospheric Apparatus (Атмосферная оснастка) — объекты, предназначенные для локализации областей проявления эффектов окружающей среды;
Camera Match (Горизонт камеры) — группа объектов, которая облегчает согласование линии горизонта виртуальной камеры с линией горизонта фона сцены в случае, если трехмерные модели визуализируются на фоне фотографии или видеоролика;
Assembly Heads (Головные объекты сборок) — это объекты, призванные управлять общими свойствами разновидности групп объектов под названием сборки;
Manipulators (Манипуляторы) — объекты, предназначенные для создания прямо в окнах проекций таких элементов управления параметрами других объектов, как, скажем, ползунок или джойстик;
Particle Flow (Поток частиц) — объекты, предназначенные для помощи в настройке объекта PF Source (Источник потока частиц), который предлагает мощные инструменты управления частицами в сцене;
VRML97 — объекты, которые используются при моделировании тех трехмерных сцен, которые впоследствии планируется экспортировать в формат языка VRML (Virtual Reality Modeling Language) стандарта 97;
reactor (Реактор) - разновидность объектов, которые используются при создании динамики в трехмерных сценах средствами модуля reactor (Реактор).
Объекты категории Shapes (Формы)
К данной категории относятся различные типы линий, образующих разомкнутые или замкнутые двумерные фигуры (только один тип линии размещается в трехмерном пространстве — это спираль). Формы обычно используются в качестве заготовок, которые могут различными способами преобразовываться в трехмерные тела, хотя могут и самостоятельно визуализироваться в составе сцены. Представлены формы тремя разновидностями объектов:
Splines (Сплайны) — это стандартные двумерные геометрические фигуры, такие как прямоугольник, эллипс или звезда, а также линии произвольной кривизны и контуры текстовых символов (рис. 2.28);
Рис. 2.28. Примеры двумерных сплайнов
NURBS Curves (NURBS-кривые) — это разновидность линий, позволяющих строить плавные, не имеющие изломов кривые. NURBS-кривые или проходят через все опорные точки, обозначенные в пространстве сцены, или плавно огибают их.
Extended Splines (Улучшенные сплайны) — это дополнительные двумерные геометрические фигуры, имеющие более гибкие, по сравнению с обычными, возможности настройки, а также более сложную форму (рис. 2.29).
Рис. 2.29. Примеры улучшенных сплайнов
Объекты категории Space Warps (Объемные деформации)
В данную категорию входят объекты, предназначенные для имитации действия различных сил на геометрические модели или частицы, попадающие под влияние «силового поля». Это позволяет имитировать действие сил тяжести или ветра на системы частиц или, скажем, деформировать поверхность плоского объекта, изображающего воду, для моделирования ветровых волн или кругов от брошенного камня. Источники объемных деформаций изображаются в окнах проекций в виде условных значков, но не включаются в итоговое изображение сцены. В max 7.5 имеется семь разновидностей объемных деформаций:
Forces (Силы) — позволяют имитировать действие на объекты геометрической модели сцены различных сил, таких как давление, тяжесть, тяга, вращающий момент и т. п.;
Geometric/Deformable (Деформируемая геометрия) и Modifier-Based (На базе модификаторов) — различным образом деформируют геометрические модели объектов;
Particles & Dynamics (Частицы и динамика) — оказывают силовые воздействия на отдельные частицы в системах частиц;
Deflectors (Отражатели) — позволяют достоверно имитировать столкновения объектов с воспроизведением при необходимости упругого отскока;
reactor (Реактор) - в эту группу входит единственная объемная деформация Water (Вода), которая предназначена для реалистичной имитации взаимодействия тел с водой — плавания, затопления, преодоления лобового сопротивления и т. п., осуществляемой с использованием дополнительного модуля reactor (Реактор) из комплекта поставки max 7.5.
Объекты категории Systems (Системы)
Каждый тип систем представляет собой совокупность связанных между собой объектов, снабженных набором параметров, обеспечивающих анимацию системы. Данная категория изначально предназначена для включения в нее объектов, создаваемых дополнительными программными модулями. В комплект поставки max 7.5 входят четыре типа систем:
Bones (Кости) — позволяет создавать иерархически связанные цепочки рычагов, напоминающих кости скелета и используемых при анимации моделей живых существ или механических устройств (рис. 2.32). Эти объекты не только видны в окнах проекций, но также могут визуализироваться и обладают множеством параметров для настройки;
Рис. 2.32. Система объектов типа Bones, изображающих упрощенный скелет руки компьютерного персонажа
Ring Array (Хоровод) — позволяет создавать набор из заданного числа объектов, упорядочение расположенных по окружности указанного радиуса, и выполнять анимацию движений этих объектов (рис. 2.33);
Рис. 2.33. «Хоровод» из 20 объектов
Sunlight (Солнечный свет) — позволяет создать источник параллельных световых лучей, имитирующий солнечное освещение, а также воспроизводящий движение солнца с учетом географического положения, времени года и суток моделируемой сцены (рис. 2.34);
Рис. 2.34. Так выглядит в окне проекции источник света — имитатор корректного солнечного освещения
Daylight (Дневной свет) — позволяет создать сразу два связанных осветителя, причем не простых, а фотометрических, то есть позволяющих рассчитывать освещенность с физической точностью: имитатор солнечного освещения, воспроизводящий движение солнца с учетом географического положения, времени года и суток моделируемой сцены и имитатор рассеянного света небосвода (рис. 2.35).
Рис. 2.35. Так выглядят в окне проекции объекты, входящие в состав системы осветителей Daylight
Объекты категорий Lights (Источники света) и Cameras (Камеры)
В данные категории входят объекты, предназначенные для имитации различных источников освещения сцены и для наблюдения сцены через объективы воображаемых съемочных камер. Эти объекты не отображаются на итоговом визуализированном изображении сцены — их можно видеть только в окнах проекций. На рис. 2.30 и 2.31 показано, как выглядят подобные объекты на экране max 7.5. Значок виртуальной съемочной камеры сделан в max 7.5 так, что камера выглядит почти как настоящая кинокамера: с контейнерами для катушек с пленкой и раструбом бленды на конце объектива (см. рис. 2.31). Не берусь судить, насколько это будет способствовать эффективности работы с камерами, но выглядят значки забавно.
Рис. 2.30. Значки источников света разного типа
Рис. 2.31. Значки съемочных камер в max 7.5 сделаны более похожими на реальные кинокамеры
Источники света и камеры могут быть нацеленными и свободными. Нацеленные источники света и камеры характеризуются наличием мишени {target) - точечного объекта, на который нацелена ось пучка световых лучей или линия визирования камеры. Свободные источники света и камеры не имеют мишеней.
ЗАМЕЧАНИЕ
Для наглядности размер значков осветителей и камер на рис. 2.30 и 2.31 был увеличен в три раза по сравнению с принятым по умолчанию за счет установки значения 3 в счетчике Non-scaling object size (Размер немасштабируемых объектов) на вкладке Viewports (Окна проекций) окна диалога Preference Settings (Настройка параметров), вызываемого по команде меню Customize > Preferences (Настройка > Параметры). |
Объекты-примитивы
Объекты-примитивы изначально создаются как трехмерные тела (только один «нетипичный» примитив не является трехмерным: объект Plane — Плоскость). Строгая геометрическая форма примитивов заставляет применять их в первую очередь для моделирования рукотворных объектов окружающего мира: фрагментов зданий и архитектурных сооружений, элементов строительных конструкций, деталей мебели, механизмов, машин и т. п. При этом примитивы обычно используются не по отдельности, а как элементарные части более сложных по структуре составных объектов {compound objects).
Приемы создания стандартных и улучшенных примитивов мы рассмотрим в этой главе, а составных объектов — в главе 7.
Объемная деформация water
Для доступа к инструменту создания объемной деформации Water (Вода) можно щелкнуть на кнопке Space Warps (Объемные деформации) командной панели Create (Создать) и выбрать в раскрывающемся списке строку reactor (Реактор). В появляющемся после этого свитке Object Type (Тип объекта) имеется единственная кнопка Water (Вода). Для создания этой объемной деформации можно также использовать команду меню reactor (Реактор) и кнопку панели инструментов reactor (Реактор).
Обеспечение доступа к объектам в группе
Для обеспечения доступа к отдельным объектам группы с целью применения к ним преобразований или модификаторов, не затрагивающих остальные объекты, группа должна быть открыта. После выполнения необходимых операций над отдельными объектами группа должна быть вновь закрыта.
Чтобы временно открыть и вновь закрыть группу, выполните следующие действия:
1. Выделите одну или несколько групп.
2. Выберите команду меню Group > Open (Группа > Открыть группу). Объекты из состава открытой группы в окнах проекций заключаются в параллелепипед коричневого цвета (рис. 4.21). Этот параллелепипед представляет собой не что иное, как вспомогательный объект типа Dummy (Пустышка), являющийся родительским по отношению ко всей совокупности объектов, входящих в группу. В открытой группе можно выделять отдельные объекты и редактировать их обычным порядком.
Рис. 4.21. Открытая группа, в которой выделен один из объектов
3. Чтобы открыть вложенную группу, откройте составную группу, затем выделите вложенную группу и снова примените команду Group > Open (Группа > Открыть группу).
Открыв группу, примените нужные преобразования к отдельным объектам открытой группы, после чего закройте ее. Для этого выполните следующие действия:
1. Выделите параллелепипед коричневого цвета, охватывающий объекты открытой группы. Он станет белым.
2. Выберите команду меню Group > Close (Группа > Закрыть группу).
Области применения трехмерной графики
Рассмотрим несколько типовых областей применения трехмерной графики. Разумеется, приводимый перечень нельзя считать исчерпывающим, и вы можете найти программе 3ds max 7.5 новое применение, которое посчитаете более интересным.
Компьютерное проектирование
Вы хотите представить, как будут смотреться на стенах вашей комнаты те или иные обои при дневном свете и вечером, когда включена люстра или стоящий в углу комнаты торшер? А может быть, вы хотите заранее представить, как будет выглядеть ваша квартира или офис после расстановки в них новой мебели? ЗD-графика поможет вам сравнительно быстро и без особых затрат решить такие задачи, относящиеся к области проектирования интерьеров.
ЗD-графика поможет в случаях, когда требуется встроить воображаемую сцену в изображение реального мира. Такая ситуация типична для задач архитектурного проектирования. Одно дело — разглядывать чертеж будущего здания на листе ватмана (это задача для специалистов), и совсем другое дело — видеть зримый трехмерный образ этого здания на фоне реальной застройки с учетом естественного или электрического освещения и теней. В данном случае ЗD-графика устраняет необходимость создания макета и обеспечивает гибкие возможности синтеза изображения сцены для любых погодных условий и под любым углом зрения.
Можно представить и иную ситуацию: не воображаемый объект встраивается в реальный фон, а наоборот, изображение реального объекта встраивается в трехмерную сцену как ее составная часть. Такой способ использования ЗD-графики применяют, например, для создания виртуальных выставочных залов или галерей, по стенам которых развешаны изображения реальных картин. «Бродя» по таким залам, вы можете приблизиться к каждой картине и рассмотреть ее во всех подробностях.
К области автоматизированного проектирования с помощью компьютера (Computer Aided Design — CAD) относятся также применения ЗD-графики в целях синтеза внешнего вида сложных отливок, деталей, изготовляемых методами штамповки, токарных и фрезерных операций, визуального облика проектируемых автомобилей, катеров, самолетов и т. п. Создание трехмерных образов деталей и конструкций — хотя и непростая в целом, но все же менее трудоемкая задача, чем изготовление масштабных или полноразмерных макетов таких объектов.
Компьютерные игры
Разумеется, компьютерные игры — одна из наиболее широких и испытанных областей применения ЗD-графики. Уж если вы потратили массу сил на создание виртуального мира, то почему бы не населить его виртуальными трехмерными персонажами и не заставить их действовать в соответствии с лихим детективным сценарием? По мере совершенствования программных средств моделирования трехмерной графики, роста производительности и увеличения ресурсов памяти компьютеров виртуальные трехмерные миры, в которых действуют персонажи компьютерных игр, становятся все более сложными и похожими на реальную действительность. С точки зрения трехмерной графики игра «Doom» является еще далеко не лучшим, хотя и ярким образцом. Взгляните на игру «Myst». Потрясающее качество проработки используемых в этой игре трехмерных сцен и материалов, впечатляющие эффекты освещения и анимации в совокупности позволили создать невообразимо красивые загадочные миры, выглядящие совершенно реально.
Комбинированная съемка
Трехмерная графика помогает и там, где выполнение реальной фотосъемки невозможно, затруднительно или требует значительных материальных затрат, а также позволяет синтезировать изображения событий, которые не встречаются в обыденной жизни.
Например, с помощью ЗD-графики можно «заглянуть» внутрь работающего автомобильного двигателя, воссоздать научно-фантастический сюжет из далекого прошлого Земли, вроде прогулки с динозаврами, или из ее туманного будущего, а то и воплотить родившийся в воображении образ неведомых миров, где нам с вами (ну, по крайней мере, мне-то уж точно) дано побывать только мысленно.
Виртуальные объекты не имеют таких физических характеристик, как вес или жесткость, поэтому средствами 3D-графики легко заставить слона «парить» в воздухе, помахивая ушами, или позволить крокодилу «высунуть» голову из экрана телевизора, как в известных образцах рекламы.
ЗАМЕЧАНИЕ В программе 3ds max 7.5 имеются средства, позволяющие имитировать действие на трехмерные объекты таких физических сил, как тяжесть, сопротивление воздуха, ветровое давление, трение или инерция, а также воспроизводить результаты столкновений объектов. |
Практическими областями использования ЗD-графики для комбинированной съемки и создания научно-фантастических сюжетов являются киносъемка с включением анимационных эффектов (примерами могут служить фильмы «Звездный десант» и «Звездные войны», «Парк Юрского периода», «Джуманджи», «Мумия» или «Стюарт младший»), создание видеотренажеров для обучения пилотов или автоводителей, книжная и журнальная графика, популяризация науки, реклама и художественное творчество.
Компьютерная мультипликация
Главные аргументы в пользу ЗD-графики появляются тогда, когда речь заходит не о синтезе отдельного фотореалистичного изображения трехмерной сцены, а о создании компьютерной мультипликации.
Те, кто хотя бы немного знаком с технологией создания мультипликационного, или, как его еще называют, анимационного кино, знают, каких трудов стоит заставить персонаж фильма совершить простейшее движение на экране. Каждое элементарное движение разбивается на целый ряд промежуточных стадий, изображаемых в виде отдельных кадров. Затем эти кадры снимаются на кино- или видеопленку и воспроизводятся на экране один за другим, создавая иллюзию движения. При типичной скорости воспроизведения 30 кадров в секунду для мультика продолжительностью всего 10 секунд требуется нарисовать 300 кадров! 3ds max 7.5 позволяет существенно упростить работу над подобными мультипликационными видеофрагментами за счет использования методов анимации трехмерных сцен, введением в которые служит следующий раздел главы.
Областями использования 3D-графики для создания компьютерной мультипликации являются киноиндустрия (вы наверняка видели хотя бы один из таких фильмов, целиком снятых средствами трехмерной компьютерной графики, как «Суперсемейка» («The Incredibles»), «В поисках Немо» («Finding Nemo»), «Роботы» («The Robots»), « Корпорация монстров» («Monster Corporation»), «Шрек» («Shrek») или «Ледниковый период» («Ice Age»)), телевизионная реклама, подготовка видеороликов на научно-популярные или фантастические сюжеты, съемка клипов-прологов к компьютерным играм, разработка анимированных логотипов компаний и т. п.
Оболочки: вершины, ребра, грани...
В программе 3ds max 7.5 оболочки всех объектов, независимо от их формы, состоят в конечном счете из треугольных граней (faces), образующих сетку (mesh) с треугольными ячейками, как показано на рис. 1.9.
Рис.1.9. Оболочки объектов любой формы представлены сетками с треугольными ячейками
Каждая грань имеет три вершины (vertices) и три ребра (edges), соединяющих эти вершины. Смежные грани, лежащие в одной плоскости, образуют многоугольник или полигон (polygon). Начиная с четвертой версии в программе 3ds max появился новый тип объектов, в оболочках которых минимальным редактируемым плоским фрагментом является именно полигон, а не треугольная грань. Сетку, образованную из полигонов, называют редактируемой полисеткой (editable poly). В чем состоит удобство использования полисеток по сравнению с традиционными сетками, вам, надеюсь, станет понятно в ходе прочтения последующих глав книги. Несмотря на то что полигон как минимальную ячейку полисетки можно выделить только целиком, он все равно разбивается программой на треугольные грани, недоступные для редактирования.
Ребра между гранями, не лежащими в одной плоскости, изображаются на сетке сплошными линиями, а между гранями, лежащими в одной плоскости, — пунктиром, как показано на рис. 1.10, демонстрирующим увеличенный фрагмент сферической оболочки. На этом рисунке изображен еще один важный элемент грани — ее нормаль (normal), то есть перпендикуляр к поверхности грани. Нормаль позволяет определить, будет данная грань видимой или нет. Видимыми считаются только те грани, нормали которых направлены в сторону наблюдателя. Если нормаль грани перпендикулярна линии взгляда или направлена от наблюдателя, то грань перестает быть видимой. Например, если бы вы заглянули внутрь объекта-сферы (а это легко сделать в 3ds max 7.5 с помощью модели съемочной камеры), то были бы разочарованы, не увидев ничего. Все грани сферы видны только снаружи.
ЗАМЕЧАНИЕ
При просмотре сцены в окнах проекций и при ее визуализации можно включать режим, делающий видимыми обе стороны граней. Об этом вы узнаете в главе 3, «Осваиваем настройку max 7.5 и работу с файлами». Кроме того, материалам 3ds max 7.5 можно назначать свойство двусторонней видимости. |
Рис.1.10. Сетка оболочки состоит из граней, задаваемых своими вершинами, ребрами и нормалями
В программе 3ds max 7.5 каждая грань задается координатами своих вершин — как известно, положение любой точки в трехмерном пространстве можно задать тройкой координат: (X, Y, Z). Таким образом, даже для такого простейшего трехмерного объекта, как прямоугольный параллелепипед, программе приходится хранить координаты 8 вершин, то есть 8 троек чисел, с указанием того, какие из этих троек образуют каждую из 12 треугольных граней параллелепипеда. Сложные сцены иногда содержат в своем составе сотни тысяч граней, так что можете представить, какую работу приходится производить компьютеру при визуализации таких сцен!
Зачем же нужно разбивать оболочки на грани? Это делается из соображений единообразия. Точки поверхностей тел простой формы, таких как сфера, цилиндр или конус, можно было задать и не разбивая эти поверхности на грани, но в реальной жизни объекты правильной геометрической формы встречаются редко. Пришлось бы разрабатывать и использовать разные подходы к описанию поверхностей тел простой формы и всех остальных объектов, имеющих произвольную конфигурацию.
Почему используются грани именно треугольной формы? Это просто: через три точки в трехмерном пространстве всегда можно провести плоскость, и притом только одну. Если бы нам приходилось разбивать поверхности объектов на грани вручную, то каждому пользователю 3ds max 7.5 пришлось бы осваивать смежную профессию огранщика алмазов. Само по себе это, может быть, и не плохо, да вот только процесс моделирования мог бы оказаться слишком сложным. К счастью, программа производит такое разбиение самостоятельно.
Образцы модификаторов и стеки объектов-образцов
Имена модификаторов в стеке могут отображаться не только нормальным шрифтом, но также полужирным или курсивом. Отображение имен модификаторов курсивом, как, например, в случае с модификатором Bend (Изгиб) на рис. 8.4, означает, что данные модификаторы являются копиями-образцами и используются одновременно стеками нескольких объектов сцены. Дело в том, что модификаторы со всеми присвоенными им параметрами можно копировать с объекта на объект. Простое копирование разрывает связь модификатора-копии с оригиналом, а копирование в виде образца сохраняет связь модификаторов, назначенных разным объектам. В этом случае изменение параметров любого из модификаторов-образцов сказывается на всех остальных дубликатах-образцах этого модификатора. Это иногда бывает удобно, если приходится настраивать параметры большого количества сходных объектов, например листьев на деревьях или травинок на лужайке.
Для копирования модификаторов одного объекта и применения их к другому проделайте следующее:
1. Выделите в сцене объект, имеющий стек с одним или несколькими модификаторами. Перейдите на командную панель Modify (Изменить) и выделите имя нужного модификатора в стеке объекта. Можно выделить группу из нескольких модификаторов, не обязательно расположенных в стеке последовательно, щелкая на них при удерживаемой клавише Ctrl. Щелкните на имени выделенного модификатора правой кнопкой мыши. Появится контекстное меню модификатора, показанное на рис. 8.5.
Рис. 8.5. Контекстное меню модификатора содержит команды, позволяющие копировать, вставлять, переименовывать, удалять модификаторы и производить ряд других операций
2. Выберите в меню команду Сору (Копировать). Модификатор скопирован, теперь его можно вставить в стек другого объекта. Переместите курсор в окно проекции и выделите нужный объект. Вновь вернитесь на командную панель Modify (Изменить), выделите в стеке текущего объекта строку, над которой должен быть вставлен скопированный модификатор. Щелкните правой кнопкой мыши на выделенной строке стека и выберите в появившемся меню, аналогичном показанному на рис. 8.5, команду Paste (Вставить). Чтобы вставить в стек образец, а не копию модификатора, выберите в меню команду Paste Instanced (Вставить как образец). В этом случае имя модификатора отобразится в стеке курсивом.
ЗАМЕЧАНИЕ
Модификаторы можно копировать с объекта на объект и простым перетаскиванием с помощью мыши. Выделите объект, выделите в его стеке нужный модификатор, щелкните на нем, перетащите в окно проекции, положите поверх другого объекта и отпустите кнопку мыши. Новый объект выделится, а перетащенный модификатор появится наверху стека этого объекта. |
Отображение всех строк стека жирным шрифтом указывает на то, что это стек объекта, представляющего собой дубликат-образец. Все образцы используют один и тот же общий стек модификаторов, вот почему применение модификатора к любому из образцов или к объекту-оригиналу сразу же сказывается на всех остальных. Попробуйте, к примеру, выделить у использованного нами ранее объекта Kreslo.max одну из боковин, которые являются копиями-образцами. Вы увидите, что стек модификаторов каждой боковины состоит из строк Line (Линия) и Extrude (Выдавливание), отображаемых жирным шрифтом.
Общие действия по созданию анимаций с помощью модуля reactor
Чтобы создать анимацию с использованием модуля reactor (Реактор), необходимо в общем случае выполнить следующие действия:
1. Создайте геометрическую модель трехмерной сцены. Следует иметь в виду, что единственной силой, действующей на объекты по умолчанию, является сила тяжести. Поэтому, чтобы получить при имитации динамики модулем reactor (Реактор) какое-то действие в сцене, необходимо располагать объекты в состоянии неустойчивого равновесия. Например, приподнять часть объектов над плоскостью опорной поверхности или наклонить их так, чтобы они начали падать, поместить объекты на наклонной плоскости, чтобы они начали скользить и т. п. При необходимости настройте предварительную анимацию объектов традиционными средствами. Например, придайте объектам сцены, которые должны столкнуться, поступательное движение. Добавьте в состав сцепы хотя бы одну камеру и осветители и настройте их положение и ориентацию.
2. При необходимости смоделировать мягкие тела, ткани и нити примените к объектам, которые должны изображать такие деформируемые тела, модификаторы reactor SoftBody (Реактор: Мягкое тело), reactor Clothe (Реактор: Ткань) и reactor Rope (Реактор: Нить).
3. Добавьте в состав сцены вспомогательные объекты-коллекции в соответствии с тем, тела каких типов вы собираетесь имитировать. Например, если в составе сцены будут только жесткие тела, добавьте только вспомогательный объект Rigid Body Collection (Коллекция жестких тел). Если в составе сцены будут жесткие тела и ткани, добавьте коллекции Rigid Body Collection (Коллекция жестких тел) и Cloth Collection (Коллекция тканей) и т. п. Поместите объекты геометрической модели сцены в списки соответствующих коллекций.
4. При необходимости добавьте в состав сцены простые или объединенные ограничители. Укажите для каждого из ограничителей объекты сцены, на которые они будут действовать. Если в состав сцены будут включены объединенные ограничители, добавьте еще вспомогательный объект Constraint Solver (Решение ограничений). В список этого объекта на панели Modify (Изменить) поместите имена всех объединенных ограничителей сцены. С помощью кнопки RB Collection (Коллекция жестких тел) укажите данному решению на имеющуюся в составе сцены коллекцию жестких тел.
5. Переключитесь на командную панель Utilities (Утилиты) и запустите утилиту reactor (Реактор). Настройте индивидуальные физические свойства каждого из объектов сцены, которые должны будут играть роль жестких тел, используя свиток Properties (Свойства) этой утилиты, показанный на рис. 17.7. С той же целью можно использовать окно диалога Rigid Body Properties (Свойства жестких тел), вызываемое по команде меню reactor > Open Property Editor (Реактор > Открыть Редактор свойств) или щелчком на кнопке с таким же названием панели инструментов reactor (Реактор). Группа параметров Physical Properties (Физические свойства) свитка Properties (Свойства) утилиты reactor (Реактор) позволяет настроить следующие свойства жестких тел:
Рис. 17.7. Свиток Properties утилиты reactor на командной панели Utilities
Mass (Масса) — масса тела в килограммах. Если для жесткого тела указана нулевая масса, такое тело остается абсолютно неподвижным при анимации. Чтобы задавать массу тела не произвольно, а исходя из физических принципов, следует использовать величину плотности вещества. Перемножьте объем тела в кубических метрах на взятую из справочника по физике плотность в килограммах на кубический метр и получите массу тела в килограммах, которую и следует ввести в поле параметра Mass (Масса). Для измерения объема трехмерного тела установите в качестве единиц измерения метры, выделите тело и щелкните на кнопке Measure (Измерить) на командной панели Utilities (Утилиты). Прочитайте объем тела в строке параметра Volume (Объем);
Elasticity (Эластичность) — свойство, определяющее способность жестких тел к отскоку при столкновении. Меняется от 0 до 5. При столкновении двух жестких тел па результат влияют величины эластичности каждого из них;
Friction (Трение) — коэффициент трения. Меняется от 0 до 1. При скольжении одного жесткого тела по поверхности другого имеют значение величины коэффициента трения каждого из них.
Четыре флажка под счетчиками позволяют включать и выключать следующие свойства жестких тел:
Inactive (Неактивно) — установка этого флажка заставляет жесткое тело вступать в анимацию, рассчитываемую модулем reactor (Реактор), как неактивное. На такое тело не действуют сила тяжести, давление ветра или крутящий момент, даже если у него есть ненулевая масса, пока какие-то другие тела не вступят с ним в столкновение. После этого тело автоматически активизируется;
Disable All Collisions (Отменить все столкновения) — установка этого флажка исключает участие жесткого тела в столкновениях с другими телами, которые будут свободно проникать сквозь него;
Unyielding (Неподатливо) — этот флажок устанавливают для объектов, имеющих анимацию, созданную средствами программы max 7.5, если требуется, чтобы жесткое тело при анимации модулем reactor (Реактор) сохраняло свое поведение, определяющееся ключами анимации max 7.5. При этом сохраняется возможность других жестких и деформируемых тел взаимодействовать с данным телом;
Phantom (Фантом) — жесткие тела, для которых установлен этот флажок, не участвуют в столкновениях с другими жесткими телами, проходя сквозь них. Однако тела-фантомы запоминают информацию о столкновениях, которую затем можно использовать.
6. Для каждого из жестких тел укажите, является ли оно выпуклым или вогнутым, используя средства управления из раздела Simulation Geometry (Моделируемая геометрия) свитка Properties (Свойства).
7. Настройте физические свойства мягких тел, тканей и нитей, используя для этого свиток Properties (Свойства) соответствующего модификатора, примененного к таким телам, появляющийся на командной панели Modify (Изменить).
8. Чтобы изображение в окне предварительного просмотра модуля reactor (Реактор) соответствовало виду сцены в окне камеры max 7.5, укажите нужную камеру. Для этого щелкните в свитке Display (Дисплей) командной панели Utilities (Утилиты) на кнопке с надписью None (Нет), а затем щелкните на значке камеры в любом из окон проекций (рис. 17.8). Имя камеры появится на кнопке. Для того чтобы в окне предварительного просмотра действовали осветители сцены max 7.5, щелкните в свитке Display (Дисплей) на кнопке Pick (Указать) под списком Lights (Осветители). Затем щелкните на нужном источнике света, имя которого появится в списке. Для добавления в список сразу нескольких источников света щелкните на кнопке Add (Добавить), выделите имена нужных осветителей в списке окна
Рис. 17.8. Свиток Display утилиты reactor на командной панели Utilities
Select Lights (Выделить осветители), а затем щелкните на кнопке Select (Выделить). Если в составе сцены не будет осветителей, модуль reactor (Реактор) использует встроенный прожектор.
9. На командной панели Utilities (Утилиты) щелкните на кнопке Preview in Window (Просмотреть в окне) в свитке Preview & Animation (Просмотр и анимация) (рис. 17.9), чтобы вызвать появление интерактивного окна reactor Real-Time Preview (Просмотр в реальном времени модуля Реактор).
Рис. 17.9. Свиток Preview & Animation утилиты reactor на командной панели Utilities
10. После этого может появиться окно диалога Detected Errors (Обнаруженные ошибки) с перечнем ошибок, обнаруженных модулем reactor (Реактор) в подготовленной сцене, или похожее на него окно World Analysis (Анализ реальности) с перечнем предупреждений (рис. 17.10). Для закрытия окна Detected Errors (Обнаруженные ошибки) щелкните на кнопке Close (Закрыть), а окна World Analysis (Анализ реальности) — па кнопке Cancel (Отмена). Предупреждения можно и проигнорировать, щелкнув в окне World Analysis (Анализ реальности) на кнопке Continue (Продолжить). Устраните ошибки и еще раз вызовите окно просмотра анимации. Для начала предварительного просмотра настроенной анимации нажмите клавишу Р, для восстановления исходного состояния — клавишу R. Просмотрев анимацию, закройте окно.
Рис. 17.10. Окно диалога World Analysis утилиты reactor
11. Чтобы создать ключи анимации объектов трехмерной сцены, позволяющие просматривать анимацию в окнах проекций, задайте номера начального и конечного кадров анимации в счетчиках Start Frame (Начальный кадр), End Frame (Конечный кадр) свитка Preview & Animation (Просмотр и анимация) утилиты reactor (Реактор). Щелкните на кнопке Create Animation (Создать анимацию). Появится окно предупреждения о том, что данная операция не подлежит отмене. Щелкните на кнопке ОК. Если установить флажок Update Viewports (Обновлять окна проекций), то по мере выполнения расчетов будет происходить обновление изображения сцены в окнах проекций mах 7.5. Когда анимация будет готова, выполните ее визуализацию обычным порядком.
Общие действия по созданию любых объектов-примитивов
Чтобы создать стандартный или улучшенный геометрический примитив любого типа, выполните для начала следующие действия:
1.
Щелкните на кнопке Geometry (Геометрия) командной панели Create (Создать) и выберите в раскрывающемся списке нужную разновидность объектов — Standard Primitives (Стандартные примитивы) или Extended Primitives (Улучшенные примитивы). В свитке Object Type (Тип объекта) появятся кнопки с надписями, соответствующими типам стандартных или улучшенных примитивов.
2. Щелкните на кнопке объекта нужного типа. В нижней части командной панели Create (Создать) появятся три свитка: Creation Method (Метод создания), Keyboard Entry (Клавиатурный ввод) и Parameters (Параметры). Из всех типов рассматриваемых объектов только улучшенные примитивы Hedra (Многогранник), Ring Wave (Круговая волна) и Hose (Шланг) не имеют свитков Creation Method (Метод создания) и Keyboard Entry (Клавиатурный ввод). Назначение свитка Creation Method (Метод создания) - обеспечивать выбор метода создания примитива, зависящий от его типа, а назначение свитка Keyboard Entry (Клавиатурный ввод) было рассмотрено выше.
3. В свитке Parameters (Параметры) всех типов стандартных и улучшенных примитивов имеется флажок Generate Mapping Coords (Проекционные координаты). Установите этот флажок, если вы собираетесь применять к объекту материалы на основе текстурных карт. В этом случае вершинам оболочки объекта будут назначены проекционные координаты, необходимые для правильного нанесения текстур.
4. Большинство примитивов имеет параметры, в названия которых входят слова Segs или Segments (Сегментов), например Length Segs (Сегментов по длине) или Height Segs (Сегментов по высоте). С их помощью задается число сегментов, то есть количество граней, на которые будет разбита оболочка объекта вдоль соответствующей координаты. Увеличьте число сегментов по сравнению с принятым по умолчанию до 10-20 или более (нужное число подбирают опытным путем), если планируется последующее редактирование и модификация сетчатой оболочки объекта с целью, например, его плавного изгибания с помощью модификатора Bend (Изгиб) или формирования неровностей на его поверхности с помощью модификатора Noise (Неоднородности). Чтобы наглядно контролировать изменение числа сегментов, используйте каркасный режим отображения объектов или включите режим Edged Faces (Контуры граней) при тонированном отображении.
Дальнейшие действия различаются в зависимости от типа выбранного примитива. Мы будем рассматривать только особенности применения интерактивного метода создания объектов. Общий принцип создания примитивов методом численного ввода описан выше, а назначение используемых при этом параметров будет понятно из описания конкретных примитивов. Опорные точки объектов-примитивов различного типа располагаются в разных частях объекта, но всегда размещаются на координатной плоскости активного окна проекции, в котором создается примитив.
Разумеется, в рамках нашей книги мы не можем подробно ознакомиться с приемами построения и настройки параметров всех тел-примитивов max 7.5. Для этого существует электронный справочник 3ds max 7.5, а также справочные пособия, среди которых не последнее место занимают книги серии «Энциклопедия», выпускаемые издательством «Питер». Ограничимся знакомством с теми примитивами, с которыми вам уже пришлось иметь дело (чтобы показать, что и у них есть свои секреты) или которые понадобятся нам при выполнении упражнений но использованию этих примитивов для создания практически полезных объектов.
Общие сведения о прожекторах
Свободные и нацеленные прожекторы во многом схожи, но приемы их создания различаются. Нацеленный прожектор, состоящий из двух объектов — собственно прожектора и мишени в виде объекта-пустышки, — создается на координатной плоскости активного окна проекции таким образом, что его конус световых лучей виден сбоку, как показано на рис. 11.22.
Рис. 11.22. Нацеленный прожектор и его элементы
Значок прожектора имеет вид миниатюрного конуса, значок мишени — вид маленького кубика, оба желтого цвета. Голубовато-серым цветом обозначается внешняя граница конуса света, за пределами которой интенсивность света прожектора равна нулю. Если рассматривать пятно света, оставляемое прожектором на плоской преграде, то внешней границе конуса света будет соответствовать край пятна (Falloff). Светло-голубым цветом обозначается граница области, в пределах которой интенсивность света остается постоянной. Эта область носит название яркого пятна (Hotspot). В кольцевой области между ярким пятном и наружным краем пятна свет постепенно затухает от максимальной яркости до нуля. Размеры яркого пятна и его внешней кромки задаются в градусах при вершине конуса лучей прожектора. Светло-голубая линия, соединяющая значки прожектора и мишени, носит название оси осветителя. Если щелкнуть на ней кнопкой мыши, то значки прожектора и мишени выделятся одновременно. Это позволяет перемещать нацеленный осветитель, не изменяя ориентации его оси. Если же перемещать отдельно значок прожектора, то мишень будет оставаться на месте, обеспечивая постоянную нацеленность пучка света на выбранную точку сцены. И наоборот, если перемещать мишень, то на месте будет оставаться значок прожектора, изменяя только свою ориентацию в направлении на мишень.
Свободные прожекторы не имеют мишени и при создании ориентируются так, чтобы ось конуса света была перпендикулярна координатной плоскости активного окна проекции. При этом конус света виден сверху, как показано на рис. 11.23.
Рис. 11.23. Так выглядит свободный прожектор в том окне проекции, в котором он создан
Свободный прожектор имеет те же элементы, что и нацеленный, за исключением мишени. При перемещении свободного прожектора ориентация его оси не меняется. Чтобы изменить ориентацию оси такого прожектора, необходимо применить к его значку преобразование поворота.
Окна диалога
Как и во всех приложениях системы Windows, в программе max 7.5 широко используются окна диалога. Работа с ними не имеет никаких специфических особенностей. Стоит остановиться лишь на одной тонкости. В max 7.5 используются два типа окон диалога: модальные и немодальные (что ж, не я придумал эту терминологию).
Присутствие на экране модального окна исключает возможность работы с другими элементами интерфейса max 7.5, такими как главное меню или панель инструментов. Иными словами, пока такое окно присутствует на экране, вы должны уделить все свое внимание работе с ним и закончить эту работу, щелкнув на кнопке ОК или Cancel (Отмена). Примерами таких окон могут служить окна диалога Open File (Открытие файла), Select Objects (Выделение объектов) или Preference Settings (Настройка параметров).
Немодальные окна диалога не столь привередливы: их присутствие на экране не препятствует работе с окнами проекций, меню, командными панелями и другими окнами диалога. Такие окна, как правило, не имеют кнопок ОК или Cancel (Отмена). Действия, выполняемые в немодальных окнах диалога, не требуют подтверждения и немедленно отражаются на состоянии max 7.5. Примерами немодальных окон диалога могут служить Display Floater (Плавающая палитра Дисплей), Selection Floater (Плавающая палитра Выделение объектов), Transform Type-In (Ввод данных преобразования), Material Editor (Редактор материалов), Schematic View (Просмотр структуры) или Track View (Просмотр треков).
Окна проекций
Окна проекций позволяют отображать геометрические модели, источники света, камеры и другие объекты трехмерной сцены, о которых мы поговорим подробнее несколько ниже, в виде ортографических или центральных проекций с различным уровнем качества тонирования изображения, а также наблюдать материалы и карты текстур.
Каждое окно проекции имеет рамку и имя, располагающееся в левом верхнем углу этого окна. Одновременно на экране max 7.5 может присутствовать не более четырех окон проекций, расположение и размеры которых выбираются пользователем из числа заранее заготовленных вариантов и могут изменяться произвольным образом. По умолчанию на экране max 7.5 располагаются три окна ортографических проекций — Тор (Вид сверху), Front (Вид спереди) и Left (Вид слева), а также окно центральной проекции Perspective (Перспектива). В окнах проекций по умолчанию отображается координатная сетка, относящаяся к соответствующей координатной плоскости глобальной системы координат и называемая исходной сеткой (home grid). В левом нижнем углу каждого из окон по умолчанию изображается тройка координатных векторов (coordinate axis tripod), указывающих истинные направления осей глобальной системы координат.
Из всех присутствующих на экране окон проекций только одно является активным, то есть находится в готовности к применению команд и инструментов max 7.5. Рамка активного окна изображается ярко-желтым цветом (на рис. 2.1 активно окно проекции Perspective — Перспектива). Неактивные окна служат только для наблюдения за сценой.
Чтобы сделать окно активным, просто щелкните левой кнопкой мыши в его пределах. Так как щелчок левой кнопкой мыши обычно служит для выделения объекта сцены, такое действие может вызвать сброс текущего выделения объектов.
Чтобы сделать окно активным, сохранив текущее выделение, щелкните правой кнопкой мыши на любой точке окна или щелкните левой кнопкой мыши на имени окна, когда курсор приобретет показанный на рисунке вид, соответствующий режиму активизации окна.
Щелчок правой кнопкой мыши на имени окна вызывает меню окна проекции, содержащее команды выбора уровня качества отображения объектов типа проекции, включения режимов показа координатной сетки или фона сцены и другие команды управления отображением сцены в этом окне. С назначением и использованием этих команд вы будете знакомиться по мере необходимости.
В max 7. 5 имеется возможность произвольным образом перемещать границы, разделяющие четыре окна проекций. Если установить курсор на вертикальную или горизонтальную линию, разграничивающую окна проекций, он примет вид двунаправленной стрелки. После этого можно щелкнуть кнопкой мыши и перетащить линию границы, изменив горизонтальный или вертикальный размер двух пар окон в пределах отведенной для них области экрана max 7.5. Как только кнопка мыши будет освобождена, окна приобретут новый размер, в них будет перерисована сетка координат и отображаемая в данный момент сцена. Если установить курсор на точку пересечения границ окон, он примет вид четырехконечной стрелки, позволяя произвольным образом изменять размеры и пропорции сразу всех четырех окон проекций, как показано на рис. 2.9.
Рис. 2.9. Вид экрана программы max 7.5 в процессе изменения размеров и пропорций всех четырех окон проекций
Для восстановления исходного расположения окон проекций, определяемого их текущей компоновкой, следует установить курсор на линию границы окон или на точку пересечения границ и щелкнуть правой кнопкой мыши. Появится контекстное меню, содержащее всего одну команду: Reset Layout (Восстановить компоновку). Выберите эту команду, и исходные пропорции и размеры окон проекций будут восстановлены.
ЗАМЕЧАНИЕ О том, что такое компоновка окон проекций и как она задается, вы узнаете из главы 3, «Осваиваем настройку max 7.5 и работу с файлами». |
Окно дерева иерархии
Окно дерева иерархии содержит допускающий развертывание древовидный список всех элементов сцены с их характеристическими параметрами, включая объекты, материалы, звуки и эффекты внешней среды. Каждую из ветвей дерева можно развернуть, щелкнув на кружке со знаком «плюс» рядом с именем ветви. С каждым из элементов дерева иерархии связан трек, расположенный напротив него в окне правки треков и содержащий ключи анимации элемента или статические значения параметров, если элемент не имеет анимации.
Если иерархический список не помещается в окне, его можно прокручивать подобно свитку командной панели.
Окно диалога Key Info и свитки командной панели Motion
Окно диалога, содержащее сведения о свойствах ключа анимации, появляется на экране max 7.5 при выборе любого из элементов списка ключей, содержащегося в верхней части контекстного меню. Это окно может быть представлено в простом и развернутом виде, как показано на рис. 16.46. Для перехода к развернутому представлению окна следует щелкнуть на кнопке Advanced (Расширенное) в правом верхнем углу окна, а для возврата к простому варианту — на кнопке Simple (Простое).
Рис. 16.46. Окно диалога Key Info содержит элементы управления для настройки параметров ключа и может быть представлено в простом (слева) и развернутом (справа) виде
Данное окно называют окном Key Info (Справка о ключах), хотя его заголовок образуется из названия объекта, которому принадлежит ключ анимации, и указанного через двоеточие наименования анимируемого параметра, например Sphere01: X Position (Сфера01: Положение по X). Такое название окна связано с названиями двух свитков командной панели Motion (Движение), полностью аналогичных данному окну по составу параметров: Key Info (Basic) (Справка о ключах (Базовая)) и Key Info (Advanced) (Справка о ключах (Дополнительная)), показанных на рис. 16.47.
Рис. 16.47. Свитки Key Info (Basic) и Key Info (Advanced) панели Motion аналогичны по составу параметров окну диалога Key Info
Для редактирования свойств ключа анимации с помощью элементов управления окна диалога Key Info (Справка о ключах) действуйте следующим образом:
1. Выберите нужный ключ анимации по его номеру, используя две кнопки с черными стрелками в левом верхнем углу свитка для перехода к следующему или предыдущему ключу. Номер текущего ключа отображается в текстовом поле справа от кнопок (см. рис. 16.46). Щелчок на кнопке со стрелкой, указывающей вправо, вызывает загрузку в окно диалога свойств следующего ключа анимации выбранного параметра объекта, а на кнопке со стрелкой, указывающей влево, — предыдущего ключа.
2. Для изменения момента времени наступления (номера кадра) текущего ключа анимации используйте счетчик Time (Время). Меняя значение в этом счетчике, можно перемещать текущий ключ вместе с его пара-Метрами вдоль трека анимации (из кадра в кадр). Например, раскройте поочередно окна справки о ключах анимации «Летящий шар», управляющих положением объекта по осям X, Y и Z и расположенных в кадре № 25, и измените для каждого из них номер кадра на 0. Ключи переместятся в начало строки треков. Если щелкнуть на кнопке с буквой L (Lock — Блокировать) справа от счетчика номера кадра, то выбранный ключ будет заблокирован в текущем кадре анимации, что исключает возможность ошибочного перемещения ключа по шкале времени.
3. Контролируйте значения компонентов анимируемого параметра (например, координат положения, коэффициентов масштаба, силы блеска или интенсив-ностей RGB-компонентов цвета материала), соответствующих текущему кадру, в счетчиках, расположенных под счетчиком Time (Время). Например, для ключа преобразования положения по оси X объекта Sphere01 (Сфера01) анимации «Летящий шар» это будет счетчик Value (Значение). При необходимости измените значения параметров в этом счетчике для настройки анимации. К примеру, выберите в окне справки о ключе анимации положения по оси X ключ, расположенный в кадре № 40 (это ключ № 2), и измените значение в счетчике Value (Значение) с -1000 см на -100 см. Если теперь воспроизвести анимацию, то окажется, что шар «летит» не по прямолинейной траектории, как раньше, а по плавной дуге, проходящей через точки его начального и конечного положения, а также через точку (-100 см; 2000 см; 0 см), заданную в кадре № 40. Кривая траектории перемещения объекта через заданные точки является плавной потому, что преобразованию положения при анимации по умолчанию назначается контроллер Bezier (Безье), преобразующий траекторию движения объекта в сплайн Безье, плавно проходящий через ключевые точки. Линию траектории перемещения объекта в процессе анимации можно сделать видимой (рис. 16.48), если выделить объект и щелкнуть на кнопке Trajectories (Траектории), расположенной на командной панели Motion (Движение) под списком Selection Level (Уровень выделения). Эту кнопку можно видеть на рис. 16.47. Сама траектория изображается пунктирной линией красного цвета, а ключи анимации отмечаются на ней маркерами в виде квадратиков.
Рис. 16.48. Линия траектории перемещения шара до {слева) и после (справа) добавления нового ключа анимации в кадре № 40
ЗАМЕЧАНИЕ В рассматриваемом нами примере анимации перемещения сферы удобно иметь дело с траекторией перемещения, которая является графиком изменения положения объекта в пространстве. Контроллер анимации на самом деле управляет не пространственной траекторией, а графиком изменения анимируемого параметра во времени — функциональной кривой анимации, которая тоже может иметь вид кривой Безье. Этот график нельзя сделать видимым в окнах проекций, но его легко наблюдать с помощью окна диалога Track View — Curve Editor (Просмотр треков — Редактор кривых). Если бы речь шла об анимации не положения, а какого-то иного свойства объекта, например цвета, то говорить о «траектории» изменения цвета было бы некорректно, зато вполне уместно рассматривать «функциональную кривую изменения цвета». |
4. Выберите вариант сглаживания сегментов сплайна Безье, играющего роль функциональной кривой перемещения объекта, слева и справа от точки ключа анимации, используя две большие кнопки In (Вход) и Out (Выход). Если щелкнуть на одной из больших кнопок и слегка задержать кнопку мыши в нажатом состоянии, раскроется панель дополнительных кнопок, показанных на рис. 16.49 и представляющих различные варианты поведения сегментов функциональной кривой в промежутках между ключами. Маленькие кнопки со стрелками по сторонам большой кнопки In (Вход) служат для копирования выбранных вариантов сглаживания на выход предыдущего ключа и на выход текущего ключа, а маленькие кнопки со стрелками по сторонам большой кнопки Out (Выход) — на входы текущего и следующего ключей.
Рис. 16.49. Кнопки выбора вариантов сглаживания функциональной кривой анимируемого параметра
Рассмотрим назначение отдельных кнопок сглаживания:
Smooth (Сглаженное управление) — обеспечивает гладкость функциональной кривой при входе в точку ключа или при выходе из него, что ведет к получению достаточно гладкого, плавного изменения анимируе-мого параметра в районе ключевого кадра. Этот вариант использовался по умолчанию в прежних версиях 3ds max, из-за чего часто возникали проблемы в виде паразитных движений объекта. Посмотрите, например, как выглядит на виде сверху траектория нашей летающей сферы при таком варианте управления (рис. 16.50). Попытка программы провести гладкую, не имеющую изломов кривую через точки с координатами (-1000; 2000; 0), (-100; 2000; 0) и (100; -300; 0), приводит к тому, что сфера в интервале между первым и вторым ключами вместо того, чтобы сохранять свою Y-координату, равную 2000, улетает почти до отметки 2153. Это и есть паразитное движение;
Рис. 16.50. Линия траектории перемещения шара при сглаженном управлении на входе и выходе ключей анимации по X и Y в кадрах № 0, 40 и 100
Linear (Линейное управление) — обеспечивает линейный вид функциональной кривой вблизи входа в точку ключа или выхода из него, что ведет к равномерному изменению параметра анимации. Для примера выберите данный вариант сглаживания в группе кнопок In (Вход) ключа № 2 анимации «Летящий шар», управляющего положением по X. Затем проделайте аналогичное действие для ключа № 2, управляющего положением по Y. Щелкните на маленькой кнопке со стрелкой справа от кнопки Linear (Линейное управление), чтобы распространить действие линейного управления и на выход из ключа. Траектория примет вид ломаной линии, как показано на рис. 16.51. Соответственно и шар при анимации будет сначала равномерно смещаться вправо, а затем равномерно двигаться на зрителя по косой траектории;
Рис. 16.51. Линия траектории перемещения шара после применения линейного управления на входе и выходе ключа анимации в кадре № 40
Step (Скачкообразное управление) — обеспечивает скачкообразный характер функциональной кривой, что ведет к отсутствию изменений параметра анимации в интервалах между ключами и резкому изменению параметра при достижении ключевого кадра. Попробуйте применить такой вариант управления анимацией к ключу № 2 анимации «Летящий шар». При воспроизведении анимации в окне проекции вы увидите, что шар стоит на месте от нулевого кадра до кадра № 40, в момент наступления кадра № 40 резко перемещается в точку второго ключа положения и находится в этой точке до момента наступления кадра № 100, когда резко «перескакивает» в точку своего конечного положения;
Fast (Быстрое управление) — создает вогнутую функциональную кривую, обеспечивающую изменение параметра с ускорением в районе точки ключа;
Slow (Медленное управление) — создает выпуклую функциональную кривую, обеспечивающую изменение параметра с замедлением в районе точки ключа;
Custom (Специальное управление) — создает на функциональной кривой в точке ключа касательные векторы, которые можно перемещать в режиме показа функциональных кривых в окне просмотра треков. Если выбрана эта кнопка, становятся доступными параметры дополнительной части окна диалога Key Info (Справка о ключах), а также свитка Key Info (Advanced) (Справка о ключах (Дополнительная)) командной панели Motion (Движение). Используйте группы счетчиков координат In (Вход) и Out (Выход) для точной настройки положений маркеров касательных векторов. Наличие счетчиков обеспечивает полный контроль над поведением функциональной кривой в окрестности ключа анимации. Щелкните на кнопке Normalize Time (Нормализовать время) для перераспределения выделенных ключей по шкале времени так, чтобы величина приращения параметра анимации, например величина смещения объекта, от ключа к ключу была одинаковой для всех выделенных ключей. Установите флажок Constant Velocity (Постоянная скорость), чтобы обеспечить поддержание постоянной скорости изменения ани-мируемого параметра между ключевыми кадрами;
ЗАМЕЧАНИЕ Настройку касательных векторов лучше всего выполнять в окне диалога Track View — Curve Editor (Просмотр треков), переключенном в режим функциональных кривых, поскольку в этом случае можно манипулировать касательными векторами в интерактивном режиме, сразу же наблюдая результат на графике. |
Flat Tangent (Выровненное управление) — это новый тип сглаживания, появившийся впервые в max 7.5. При этом варианте управления сглаживанием, так же как и при варианте Custom (Специальное управление), в качестве функциональной кривой используется сплайн Безье, вершины которого, соответствующие ключам анимации, имеют касательные векторы, позволяющие настраивать форму кривой на входе и выходе из ключа. Особенность данного типа сглаживания состоит в том, что программа старается провести кривую по кратчайшему расстоянию между точками ключей, в то же время исключая резкие перегибы и изломы. Вид траектории нашей летящей сферы при выборе данного варианта управления показан ранее на рис. 16.48, справа. Данный тип сглаживания функциональных кривых в большинстве случаев является наиболее оптимальным, так как не создает паразитных движений и при этом обеспечивает плавность хода анимации. Он используется в max 7.5 по умолчанию.
Различные варианты управления использованы в анимации Kukla i miach.avi, которую можно найти в папке Animations\Glava__16 компакт-диска, прилагающегося к книге. В папке Scenes\Glava_16 этого диска находится файл сцены max 7.5, реализующей данную анимацию. Попробуйте самостоятельно проанализировать свойства ключей анимации этой сцены и разобраться в необходимости применения того или иного вида управления каждого ключа.
Закрепим знания о приемах редактирования ключей анимации, выполнив еще несколько упражнений.
Окно правки треков
Окно правки треков снабжено шкалой времени, исходно располагающейся в нижней части окна правки и про-градуированной в текущих единицах времени, выбранных в окне диалога Time Configuration (Настройка временных интервалов). По умолчанию шкала нумеруется в кадрах. Шкалу можно перетаскивать вверх и вниз для удобства отсчета времени.
По умолчанию в окне правки треков Редактора кривых отображаются ключи и функциональные кривые анимации параметров элементов сцены. В окне Редактора кривых ключи изображаются в виде квадратиков на кривых, как показано на рис. 16.55, вверху, в точках временной шкалы, соответствующих ключевому кадру. В окне Диаграммы ключей (рис. 16.55, внизу) ключи отображаются в виде разноцветных прямоугольников на треках окна правки, а диапазоны действия ключей — в виде черных полосок с белыми квадратиками на концах, так же как и в строке треков, с которой вы уже познакомились.
При помощи инструментальных средств окон Редактора кривых и Диаграммы ключей можно настраивать форму кривых анимации, удалять отдельные ключи, добавлять новые ключи, перемещать их по шкале времени, копировать и т. п. Для преобразования ключа его следует выделить. Выделение ключей производится точно так же, как выделение объектов сцены: установите курсор на значок ключа и щелкните кнопкой мыши. Для одновременного выделения нескольких ключей удерживайте нажатой клавишу Ctrl и т. д. Выделенный ключ анимации изображается квадратиком белого цвета. Если параметр не имеет анимации, то на соответствующем треке окна Диаграммы ключей отображается его статическое значение. Вертикальная полоска в окне правки треков заменяет ползунок таймера анимации. Если ее перетаскивать с помощью мыши, то можно менять момент времени (номер кадра анимации).
СОВЕТ
Для вызова окна диалога Key Info (Справка о ключах) достаточно щелкнуть на ключе анимации в любой из разновидностей окна Track View (Просмотр треков) правой кнопкой мыши. |
Окно стека модификаторов
Когда к объекту применяется тот или иной модификатор (количество модификаторов, примененных к одному и тому же объекту, не ограничивается), он помещается в стек. Стек — это список, состоящий из наименования типа исходного объекта, например Circle (Круг), Box (Параллелепипед) или Editable Mesh (Редактируемая сетка), и всех модификаторов, примененных к объекту, в порядке, обратном порядку их применения. Можно сказать, что этот список представляет собой полную «биографию» объекта, позволяя определить, кем и каким он был при «рождении» и как менялся в процессе «роста». Благодаря этому списку вы всегда можете вернуться к настройке параметров как самого объекта, так и того или иного модификатора, изменить эти параметры, а при необходимости вообще удалить модификатор из стека.
Управление стеком производится с помощью окна стека модификаторов и расположенных под ним кнопок, о которых мы поговорим несколько ниже. Если выделить объект, то в качестве первой, самой нижней строки в окне стека модификаторов появится наименование типа выделенного в данный момент объекта. Выше будет располагаться перечень модификаторов, которые были применены к объекту, как можно видеть на рис. 8.1 и 8.2. Если модификатор расположен в списке выше другого, значит, он был применен к объекту позднее. Если выбрать в стеке нижнюю строку наименования тина объекта, то ниже окна стека модификаторов появятся свитки параметров объекта, а если выбрать в стеке имя любого из модификаторов, там появятся свитки параметров модификатора. Иными словами, состав свитков на командной панели Modify (Изменить) всегда определяется тем, какая из строк выбрана в окне стека модификаторов выделенного объекта.
Как же действует стек модификаторов max 7.5? Стек вновь созданного объекта состоит только из наименования типа этого объекта. Программа хранит в памяти все характеристические параметры, присвоенные данному объекту на момент его создания. Вот почему, выделив объект и перейдя на командную панель Modify (Изменить), вы обнаружите там свитки параметров этого объекта и сможете изменить эти параметры в любой момент. Когда к объекту применяется первый модификатор, он помещается в стек. При этом на вход модификатора поступают данные об исходном объекте, а на выходе получается объект, измененный с учетом параметров модификатора. Теперь программа помнит не только характеристические параметры объекта, но и параметры примененного к нему модификатора. Если снова выделить в окне стека строку с наименованием типа объекта и изменить какие-то из его характеристических параметров, то на вход первого модификатора поступят данные об уже видоизмененном объекте, что скажется на результате модификации. Если выделить в стеке имя модификатора и изменить его параметры, это также скажется па результате модификации. Когда в стек помещается второй модификатор, на его вход поступают данные об объекте, преобразованном первым модификатором. Программа запоминает параметры второго модификатора наряду с характеристическими параметрами объекта и параметрами первого модификатора. Вновь, как и прежде, вы можете выделить в стеке имя типа объекта и изменить его характеристические параметры или выделить имя первого модификатора и изменить его параметры. Все это приведет к изменению данных на входе второго модификатора и скажется на результате модификации. Очевидно, вы можете выделить в стеке имя второго модификатора и также изменить его параметры, что тоже скажется на результате. И так далее, ведь число модификаторов в стеке объекта не ограничивается.
Итак, наличие стека обеспечивает вам уникальную возможность возврата в любой момент к любой стадии работы над модифицируемым объектом и свободного изменения тex или иных параметров самого объекта или любого из примененных к нему модификаторов вместо создания объекта заново, с нуля. Например, одним из характеристических параметров объекта-примитива является сегментация его сетки по каждой из координат. Очень часто после применения к примитиву того пли иного модификатора становится очевидной недостаточность сегментации и приходится ее увеличивать.
Чтобы попрактиковаться в работе со стеком модификаторов, проделайте следующее:
1. Откройте ранее сохраненный в главе 6 файл Kreslo.max (файл с аналогичным именем имеется в папке Scenes\Glava_06 компакт-диска, прилагающегося к книге) и выделите спинку кресла (без подушки). Помните, при создании спинки вы применяли к сплайну типа Line (Линия) модификатор Extrude (Выдавливание)? К сформированному трехмерному телу экструзии затем был применен модификатор Bend (Изгиб).
2. Перейдите на командную панель Modify (Изменить) и посмотрите в окно стека модификаторов. Вы увидите в нижней строке списка наименование типа исходного объекта — Line (Линия), а выше — имена примененных к нему модификаторов, Extrude (Выдавливание) и Bend (Изгиб), как показано на рис. 8.4.
Рис. 8.4. Стек модификаторов спинки кресла
3. Выделите в списке строку Line (Линия), и ниже окна стека модификаторов появятся свитки Rendering (Визуализация), Interpolation (Интерполяция), Selection (Выделение), Soft Selection (Плавное выделение) и Geometry (Геометрия), предназначенные для правки сплайнов. С помощью этих свитков вы можете изменить общие параметры линии, такие как число линейных отрезков в пределах криволинейных сегментов, толщину линии при ее визуализации и т. п., а также выполнить редактирование линии на уровне различных подобъектов. Обратите внимание на то, что при выделении строки Line (Линия) в окнах проекций вместо изогнутого тела экструзии отображается исходная кривая.
4. Теперь выделите строку Extrude (Выдавливание). В нижней части командной панели Modify (Изменить) появится свиток параметров модификатора экструзии. Можете попробовать изменить значение толщины тела экструзии в счетчике Amount (Величина), наблюдая за результатом в окнах проекций. Затем выделите строку Bend (Изгиб), обратите внимание на появление свитка с параметрами модификатора изгиба и попробуйте изменить эти параметры.
5. Закончив эксперименты, завершите действие программы, не сохраняя изменения в файле. Для этого ответьте No (Нет) на запрос The scene has been modified. Do you want to save your changes9 (Сцена изменена. Хотите сохранить изменения?).
ЗАМЕЧАНИЕ Запомните правило: преобразования в max 7.5 всегда применяются к объекту на выходе стека модификаторов, даже если какие-то из модификаторов были назначены объекту после применения преобразования. В связи с этим, например, max 7.5 выдает предупреждение о некорректности операции неравномерного масштабирования объекта, имеющего стек модификаторов. Чтобы сделать такую операцию корректной, необходимо поместить в стек модификатор XForm (Преобразование) и применить масштабирование к габаритному контейнеру этого модификатора. |
Опробуем средства управления визуализацией
Рассмотрим для начала набор средств управления визуализацией, в число которых входят группы кнопок панели инструментов и команд меню Rendering (Визуализация).
Оптические эффекты
Перейдя в свиток Camera Effects (Эффекты камеры) вкладки Renderer (Визуализатор), можно настроить параметры визуализации таких оптических эффектов, как глубина резкости объектива камеры и смаз изображения, вызванный относительным движением камеры и объекта.
Особенности лофтинга NURBS-поверхностей
Построение методом лофтинга NURBS-поверхностей имеет свои особенности, наиболее важными из которых являются следующие:
сечения будущего трехмерного тела должны быть представлены NURBS-кривыми;
при расстановке сечений не используется форма-путь, поэтому сечения необходимо размещать в нужных точках трехмерного пространства вручную;
преобразование сечений в NURBS-поверхность производится при помощи специальных инструментов Create U Loft Surface (Создать поверхность методом U-лофтинга) или Create UV Loft Surface (Создать поверхность методом UV-лофтинга), располагающихся в палитре инструментальных средств для работы с NURBS-объектами. Эти инструменты позволяют создать NURBS-поверхность как огибающую набора сечений, заданных NURBS-кривыми по оси U (условно говоря, «вдоль» будущего объекта) или но осям U и V («вдоль» и «поперек») локальных координат объекта.
Рассмотрим эти особенности на практике при выполнении следующего упражнения.
Особенности отражения света — основа имитации материалов
Зеркальный блик возникает на том участке поверхности, где угол падения лучей света относительно нормали поверхности равен (или примерно равен для поверхностей, не являющихся идеально гладкими) углу отражения в направлении глаз наблюдателя, как показано на рис. 13.1. Чем более гладкой, или глянцевитой, является поверхность, тем меньше по размеру область блика. Для идеально гладкой поверхности блик стягивается в точку. Сильно шероховатые поверхности, такие как ткань или обожженная глина, могут почти совсем не давать блика. Цвет блика обычно выбирается так, чтобы он соответствовал цвету лучей главного осветителя сцены или являлся более ярким и менее насыщенным оттенком цвета диффузного рассеивания. Внешний вид объекта, наблюдаемого при условиях, соответствующих приведенной на рис. 13.1 схеме, показан на рис. 13.2.
Рис. 13.1. Схема отражения лучей света от трехмерного объекта: 1 — нормаль; 2 — область блика, 3 — область диффузного рассеивания, 4 — область тени
Рис. 13.2. Области поверхности объекта, различающиеся по условиям освещения и отражения света
Диффузное рассеивание имеет место на всей площади поверхности, освещаемой прямыми лучами света от одного или нескольких источников. В отличие от зеркального отражения, диффузное рассеивание света происходит во всех возможных направлениях, поэтому глаз наблюдателя достигает только часть рассеянного света, а значит, яркость поверхности в области диффузного рассеивания оказывается ниже, чем в области блика. Яркость диффузного рассеянного света максимальна, когда лучи света направлены перпендикулярно поверхности, и плавно убывает с ростом угла падения лучей, отсчитываемого от нормали, уменьшаясь до нуля при достижении этим углом величины 90°, когда лучи скользят параллельно поверхности. Цвет диффузного рассеивания, как правило, является насыщенным, сочным и представляет собой основной цвет материала. Именно этот компонент цвета материала мы обычно имеем в виду, когда говорим о том, что помидор красный, лимон желтый, а огурец зеленый.
В области тени, куда прямые лучи света не проникают, объект освещается только рассеянным светом, который в 3ds max обычно имитируется подсветкой. Впрочем, вы уже знаете, что в max 7.5 рассеянный свет может воспроизводиться и как результат многократных отражений от других объектов сцены при расчете глобальной освещенности.
Цвет материала в области тени зависит от условий освещенности. Для не слишком яркого комнатного освещения в качестве этого цвета можно выбирать просто более темный оттенок цвета диффузного рассеивания. Для условий яркого света в помещении или солнечного освещения следует использовать в этом качестве оттенок цвета лучей главного осветителя.
Особенности трехмерной компьютерной графики и анимации
Что же это такое — компьютерная ЗD-графика, и в чем ее отличия от обычной, двумерной графики? В самых общих словах можно сказать, что двумерная компьютерная графика - это совокупность средств и приемов для рисования изображений с помощью компьютера, в то время как ЗD-графика предназначена для имитации фотографирования или видеосъемки трехмерных образов объектов, которые должны быть предварительно подготовлены в памяти компьютера.
Поясним сказанное на примере. Предположим, вам потребовалось нарисовать деревенский домик. Используя средства двумерной компьютерной графики, вы изображаете видимые контуры элементов домика и окружающего пейзажа наподобие того, как показано на рис. 1.1, слева. Если после этого возникает потребность нарисовать тот же домик с другого ракурса (например, с тыльной стороны), то всю работу приходится повторять заново от начала и до конца: снова рисовать видимые контуры элементов, придумывая детали, наблюдаемые при данном направлении взгляда (рис. 1.1, справа). Полученные эскизы рисунков требуется затем раскрасить в нужные цвета, учитывая воображаемое направление лучей света для правильного воспроизведения теней и бликов.
Рис. 1.1. Эскиз рисунка деревенского домика, подготовленный средствами двумерной графики (слева); если требуется нарисовать тот же домик с тыльной стороны, всю работу нужно повторять заново (справа)
При использовании средств трехмерной графики синтез изображения той же сцены выполняется по иному алгоритму, включающему в общем случае следующие этапы:
предварительная подготовка;
создание геометрической модели сцены;
настройка освещения и съемочных камер;
подготовка и назначение материалов;
визуализация сцены.
Из перечисленных этапов только последний посвящен собственно формированию изображения, а все остальные являются подготовительными. Оно и понятно: ведь чтобы выполнить «фотографирование» сцены, ее нужно сначала создать. Это похоже на подготовку макета или строительство декораций, с тем отличием, что и макет, и декорации создаются не в натуре, а только в памяти компьютера.
Остальные примитивы
Надеюсь, проницательные читатели уже уловили магическую последовательность действий, которая остается практически неизменной при создании примитивов любых типов: «Выбрали инструмент — щелкнули кнопкой мыши в окне проекции — перетащили курсор — отпустили кнопку — переместили курсор — щелкнули кнопкой — дополнительно переместили курсор и т. д.». Конечно, применение данной формулы в ряде случаев требует учитывать некоторые тонкости, которые можно узнать из электронного справочника 3ds max 7.5 или выявить методом проб и ошибок (частенько использую именно этот способ).
Предоставляю вам возможность испытать эту формулу на практике при освоении приемов использования инструментов создания тел-примитивов, которые остались за пределами нашего рассмотрения. Вот они:
Cone (Конус) — позволяет построить конус и усеченный конус, многогранную пирамиду и усеченную пирамиду, а также конический сектор;
Pyramid (Пирамида) — позволяет построить стандартную пирамиду с прямоугольным или квадратным основанием и вершиной, располагающейся над центром основания — прямо как у египетских фараонов;
Capsule (Капсула) — позволяет создавать тело в виде двух полусфер, разделенных цилиндрической вставкой, а также цилиндрический сектор на базе такого тела;
Oil Tank (Цистерна) — служит для создания цилиндра с основаниями в виде сферических сегментов, а также цилиндрического сектора на базе такого тела;
Spindle (Веретено) — позволяет построить тело в виде цилиндра с заостренными основаниями конической формы, а также цилиндрический сектор на основе такого тела;
Prism (Призма) — дает возможность построить треугольную призму с произвольным соотношением сторон основания;
Gengon (Многогранная призма) — позволяет построить многогранную призму с фаской вдоль ребер или без нее;
Hedra (Многогранник) — с помощью данного инструмента можно построить целое семейство тел, представляющих собой многогранники различного вида;
Torus (Top) — позволяет построить тор (объект в виде цилиндра, замкнутого в кольцо), а также тороидальный сектор;
Torus Knot (Тороидальный узел) — служит для создания целого семейства экзотических тел, напоминающих резиновую трубку, завязанную в различные виды узлов и соединенную торцами. При этом можно изменять как форму осевой линии трубки узла, называемой базовой кривой (например, если базовой кривой сделать круг, то получится обычный тор), так и форму поперечного сечения трубки. Чтобы придумать вариант практического использования такого примитива, придется поднапрячь фантазию;
L Extrusion (L-тело экструзии) или С Extrusion (С-тело экструзии) — с помощью данных инструментов можно построить тела, представляющие собой результат выдавливания плоской формы в виде латинских букв L или С (па самом деле последнее сечение больше похоже на русскую букву «П»). Подобные тела могут использоваться для конструирования стен помещений при моделировании сцен для архитектурных проектов или дизайна интерьеров;
Ring Wave (Круговая волна) — еще один экзотический примитив, найти которому практическое применение не так-то просто. Позволяет построить тело, напоминающее собой трубу, внутренняя поверхность которой волнообразно деформирована в радиальном направлении, да к тому же имеет встроенную анимацию. Насколько можно понять, этот объект был разработан для анимации картины взрывной волны, распространяющейся во все стороны от эпицентра взрыва. При умелом использовании материалов данный объект играет эту роль довольно успешно;
Hose (Шланг) — дает возможность создавать примитивы, похожие по умолчанию на гофрированный цилиндр (что-то вроде пыльника автомобильного амортизатора). Имеет множество настраиваемых параметров, обеспечивающих, в частности, выбор сечения объекта — круглого, прямоугольного или D-образного, и к тому же допускающих анимацию.
Осваиваем приемы редактирования формы независимых NURBS-поверхностей
Так же как и стандартные куски Безье, стандартные NURBS-поверхности создаются изначально как прямоугольные фрагменты плоскости. В главе 5 мы уже знакомились с последовательностью действий по созданию таких поверхностей, как точечных {Point Surface), так и с управляющими вершинами (CV Surface).
Имея слабое представление о том, как можно изменять форму подобных прямоугольных фрагментов, кажется, что от стандартных NURBS-поверхностей мало проку. Это одна из причин, почему они до сих пор не слишком широко используются в практике моделирования трехмерных сцен.
Вообще говоря, поверхности типа CV имеют более общий характер, а их редактирование предоставляет разработчику трехмерной графики больший простор в реализации творческих замыслов.
В данном разделе мы рассмотрим основные приемы редактирования формы стандартных NURBS-поверхностей типа CV, позволяющие превращать такие поверхности в практически полезные объекты, на конкретном примере в ходе выполнения упражнения.
Осваиваем приемы выделения объектов
Чаще всего в max 7.5 используется способ выделения объектов с помощью инструмента Select Object (Выделить объект) или одного из пяти комбинированных инструментов, объединяющих функции выделения объектов с выполнением над ними определенных действий: Select and Link (Выделить и связать), Bind to Space Warp (Связать с воздействием), Select and Move (Выделить и переместить), Select and Rotate (Выделить и повернуть) и Select and Uniform Scale (Выделить и равномерно масштабировать). Инструмент Select and Manipulate (Выделить и манипулировать), несмотря на схожесть его названия, может использоваться только в паре с одним из комбинированных инструментов выделения. Нажатие этой кнопки после выбора инструмента Select Object (Выделить объект) или одного из инструментов выделения и преобразования объектов придает этим инструментам дополнительные возможности, о которых вы узнаете из главы 5, «Создаем тела-примитивы, куски Безье и NURBS-поверхности». Названные инструменты, а также другие вспомогательные средства выделения объектов показаны на рис. 4.3.
Рис. 4.3. Инструменты выделения объектов
Помимо перечисленных инструментов для выделения объектов служит группа команд меню Edit (Правка), показанная на рис. 4.4.
Рис. 4.4. Фрагмент меню Edit с командами выделения объектов
В max 7.5 имеются и другие специализированные средства для выделения объектов, скажем, по их цвету или материалу. Выделение объектов сцены можно производить также с использованием окон диалога Track View (Просмотр треков) или Schematic View (Просмотр структуры). Эти средства и способы выделения объектов предлагаю вам изучить самостоятельно с помощью электронной справочной системы max 7.5.
Осваиваем привязки
Привязки позволяют размещать отдельные точки создаваемых или редактируемых объектов сцены в точно определенных местах. Средства привязки заставляют курсор «притягиваться» к определенным точкам объектов сцены, таким как вершины, ребра, центры граней или точки опоры, а также к линиям или узлам координатной сетки. Кроме того, привязки позволяют указать, с каким шагом должны изменяться угол поворота или коэффициент масштаба объектов, а также значения параметров в счетчиках.
Научиться пользоваться привязками — значит уметь выполнять их активизацию, выбор типов и настройку общих параметров.
Выбор типов привязок производится на вкладке Snaps (Привязки), показанной на рис. 3.27, а настройка их общих параметров — на вкладке Options (Параметры) окна диалога Grid and Snap Settings (Настройка сетки и привязок). Для начала нас устроят установленный по умолчанию тип привязки к узлам координатной сетки (Grid Points) и ее параметры, поэтому перейдем сразу к вопросу об активизации привязок.
Рис. 3.27. Вкладка Snaps окна диалога Grid and Snap Settings позволяет производить выбор типов привязок
Осваиваем создание систем частиц
Под занавес этой главы освоим работу с еще одним классом объектов щах 7.5 — системами частиц. Система частиц — это совокупность малоразмерных объектов, управляемых по целому ряду параметров. Первоочередное назначение этих объектов состоит в том, чтобы имитировать всяческие атмосферные явления вроде дождя, падающего снега или клубов дыма, однако с их помощью легко смоделировать и, скажем, брызги фонтана, струю воды из пожарного брандспойта, искры электросварки и т. п.
Средства создания систем частиц отличаются от остальных средств моделирования, поскольку частицы существуют в динамике, меняясь во времени. Следует помнить, что для генерации частиц недостаточно только создать их источник. Чтобы увидеть частицы, необходимо после создания источника перейти к кадру с номером, отличным от нуля, перетащив ползунок таймера анимации вправо.
Осваиваем тонкости создания прически
Пример использования модуля Hair and Fur (Волосы и шерсть), рассмотренный выше, подразумевал работу над формой, размером и другими параметрами эффекта только с использованием настроек модификатора. Но разработчики модуля Hair and Fur (Волосы и шерсть) предусмотрели еще одно средство настройки внешнего вида волосяного покрова — окно диалога Style (Стиль) (рис. 12.7). Оно позволяет подбирать размер волос, направление их роста и другие параметры не при помощи числовых значений счетчиков, как это обычно делается при работе с max 7.5, а используя виртуальную кисть. Можно сказать, что, работая в этом окне диалога, вы превращаетесь в парикмахера, «подстригающего» и «причесывающего» свою модель.
Рис. 12.7. Окно диалога Style
Для вызова окна диалога Style (Стиль) используется кнопка Style Hair (Стиль прически) в свитке Tools (Инструменты) настроек модификатора Hair and Fur (WSM) (Волосы и шерсть (WSM)). В окне диалога Style (Стиль), как и в окне проекции, волосы отображаются схематически, однако в данном случае можно рассмотреть, что каждая кривая-волос имеет вершины в виде небольших квадратиков красного цвета. Перемещая эти вершины, можно придавать форму отдельным волоскам.
В нижней части окна Style (Стиль) размещены кнопки активизации инструментов, с помощью которых и производится настройка эффекта. Инструменты окна Style (Стиль) разделены на три группы:
инструменты выделения волос;
инструменты, определяющие режим работы с волосами;
инструменты для укладки волос.
В целом, работа в окне Style (Стиль) происходит следующим образом:
1. Выбирается режим выделения волос — по корням, по кончикам, полностью или ручной.
2. Выбирается средство для работы с выделенными участками волос — инструмент увеличения длины, «подстригания» и т. п.
3. Выбирается, на что будут воздействовать инструменты для укладки — на все волосы или только на те, которые попадают в область действия кисти.
4. Производится выбранная операция.
Активные инструменты подчеркиваются желтой линией. Одновременно может быть активным только один инструмент, который принадлежит к той или иной группе.
Рассмотрим инструменты окна диалога Style (Стиль) подробнее.
Осваиваем управление камерой — панорамирование, наезд и облет
Понимая важность и сложность выбора выигрышного ракурса съемки, разработчики mах 7.5 предусмотрели для управления камерами целый ряд специализированных инструментов. Познакомимся с этими инструментами, располагающимися в уже знакомой вам группе кнопок управления окном проекции в правом нижнем углу экрана max 7.5.
Как только вы активизируете окно проекции любой из камер сцены, группа кнопок управления окном проекции принимает вид, показанный на рис. 11.68.
Рис. 11.68. Кнопки управления окном проекции типа Camera
Рассмотрим назначение только тех кнопок, которые вам еще не знакомы или которые изменяют свою роль в окне камеры. Каждая из перечисленных ниже кнопок после щелчка фиксируется и подсвечивается зеленым цветом, причем курсор приобретает в окне проекции вид изображенного на кнопке значка. Вот эти кнопки:
Dolly Camera (Наезд камерой) — позволяет перемещать свободную камеру ближе или дальше по отношению к объекту съемки, а нацеленную камеру — ближе к неподвижной мишени или дальше от нее, не изменяя ширину поля зрения. Это приводит к тому, что изображение объектов в кадре становится крупнее, когда камера приближается к объекту съемки, или мельче, когда камера удаляется от объекта. Для выполнения наезда щелкните на кнопке и перетаскивайте курсор в окне камеры по вертикали. Если активизировано окно нацеленной камеры, то на раскрывающейся панели данной кнопки размещаются еще два инструмента: Dolly Target (Наезд мишенью) и Dolly Camera + Target (Наезд камерой и мишенью). Инструмент Dolly Target (Наезд мишенью) позволяет перемещать мишень ближе к неподвижной камере или дальше от нее, при этом изображение в окне камеры совершенно не меняется, а инструмент Dolly Camera + Target (Наезд камерой и мишенью) обеспечивает перемещение камеры вместе с мишенью при неизменном расстоянии между ними.
Perspective (Перспектива) — позволяет перемещать свободную камеру ближе или дальше по отношению к объекту съемки, а нацеленную камеру — ближе к неподвижной мишени или дальше от нее, одновременно изменяя ширину поля зрения таким образом, чтобы сохранить геометрические размеры наблюдаемого участка сцены. Такой прием позволяет уменьшить перспективные искажения изображения сцены, не изменяя масштаб предметов в кадре. В этом состоит отличие данного инструмента от кнопки Dolly Camera (Наезд камерой). Для изменения перспективы щелкните на кнопке и перетаскивайте курсор в окне камеры по вертикали.
Roll Camera (Крен камеры) — позволяет поворачивать камеру по крену (вокруг оси пирамиды видимости). Для выполнения действия щелкните на кнопке и перетаскивайте курсор в окне камеры влево-вправо. Результат будет такой, как будто изображение в окне камеры раскачивается, подобно палубе корабля во время шторма.
Field of View (Поле зрения) — позволяет менять ширину поля зрения при фиксированных положениях камеры и мишени. Для изменения ширины поля зрения щелкните на кнопке и перетаскивайте курсор в окне камеры по вертикали.
Truck Camera (Сопровождение камерой) — позволяет перемещать камеру вместе с мишенью вправо-влево и вверх-вниз, не меняя ориентации линии визирования в глобальной системе координат. Для сопровождения следует после выбора данной кнопки щелкнуть в окне камеры и перетащить курсор в любом направлении.
Orbit Camera (Облет камерой) — позволяет изменять положение камеры в трехмерном пространстве относительно неподвижной мишени, сохраняя неизменным расстояние до последней. Ширина поля зрения при этом не меняется. На раскрывающейся панели данной кнопки имеется еще один инструмент — Pan Camera (Панорамирование камерой), позволяющий при неизменном положении камеры менять направление ориентации линии визирования. Расстояние от нацеленной камеры до мишени при этом не меняется. Для выполнения действий с этими инструментами следует щелкнуть в окне камеры и перетащить курсор в произвольном направлении.
Предлагаю вам самостоятельно попрактиковаться в использовании этих инструментов, создав небольшую тестовую сцену или используя готовую сцену проекта «МАХ-кафе» с ее камерами. Только в последнем случае после экспериментов выходите из программы без сохранения файла, чтобы не внести ненужных изменений в положение и настройку камер.
Осваиваем визуализацию анимаций
Процесс визуализации анимации отличается от визуализации отдельного статичного кадра сцены только количеством повторений циклов синтеза изображений отдельных кадров. Тем не менее, чтобы визуализировать анимацию, необходимо выполнить настройки некоторых параметров в окне диалога Render Scene (Визуализация сцены).
От издательства
Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты
comp@piter.com
(издательство «Питер», компьютерная редакция). Мы будем рады узнать ваше мнение! Подробную информацию о наших книгах вы найдете на web-сайте издательства:
http://www.piter.com
.
Краткое содержание
Введение
Часть I. Картинки в твоем букваре
Глава 1. Что такое ЗD-графика и анимация
Глава 2. Знакомимся с 3ds max 7.5
Глава 3. Осваиваем настройку max 7.5 и работу с файлами
Глава 4. Учимся выделять, дублировать и преобразовывать объекты
Часть II. Что нам стоит дом построить
Глава 5. Создаем тела-примитивы, куски Безье и NURBS-поверхности
Глава 6. Рисуем кривые, осваиваем методы вращения и выдавливания
Глава 7. Пробуем метод лофтинга, создаем булевские объекты и системы частиц
Глава 8. Совершенствуем навыки модификации объектов
Глава 9. Осваиваем секреты моделирования
Глава 10. Продолжаем постигать секреты NURBS-моделирования
Часть III. Просто ты работаешь волшебником...
Глава 11. Расставляем и настраиваем осветители и съемочные камеры
Глава 12. Изучаем работу с модулем Hair and Fur
Глава 13. Осваиваем создание материалов и применение их к объектам
Глава 14. Учимся применять карты текстур и многокомпонентные материалы
Глава 15. Осваиваем тонкости визуализации сцены и внешней среды
Глава 16. Пробуем выполнять анимацию объектов
Глава 17. Постигаем основы динамики
Краткий словарь терминов по трехмерной графике и анимации
Отделение объектов от группы и присоединение их к группе
От группы можно отделять некоторые объекты. Для этого выполните следующие действия:
Откройте группу.
Выделите один или несколько объектов из состава открытой группы.
Выберите команду меню Group > Detach (Группа > Отделить).
Закройте группу.
Чтобы присоединить к группе новые объекты, выполните следующие действия:
Выделите один или несколько объектов, не входящих в группу.
Выберите команду меню Group > Attach (Группа > Присоединить). Эта команда становится доступной только при наличии группы и выделенного объекта или объектов.
Щелкните на любом из объектов, входящих в группу. Если присоединение производится к открытой группе, щелкните на параллелепипеде розового цвета.
Открытие и удаление окон диалога Track View
Для удобства настройки анимации различных объектов в одной сцене может одновременно использоваться до 13 окон диалога Track View (Просмотр треков), сохраняемых вместе со сценой в файле типа max.
Открытие окна Track View
Не думаю, что вы сразу начнете работать с тринадцатью или хотя бы двумя окнами просмотра треков. Чтобы открыть первое окно просмотра треков в модификации Редактора кривых, просто щелкните на кнопке Curve Editor (Open) (Редактор кривых (открыть)) главной панели инструментов max 7.5 или выполните команду основного меню Graph Editors > Track View — Curve Editor (Графические редакторы > Просмотр треков — Редактор кривых).
Чтобы открыть окно просмотра треков в модификации Диаграммы ключей, выполните команду основного меню Graph Editors > Track View — Dope Sheet (Графические редакторы > Просмотр треков — Диаграмма ключей).
Для открытия дополнительных окон просмотра треков служит команда меню Graph Editors > New Track View (Графические редакторы > Новое окно Просмотр треков). Первое из открытых с помощью этой команды окон Track View (Просмотр треков) приобретает имя Untitled 1 (Без имени 1), второе — Untitled 2 (Без имени 2) и т. д.
Отмена и повторение изменений режима отображения сцены в окне проекции
Если вы ошибочно изменили масштаб или повернули изображение в окне проекции, не пытайтесь выполнить отмену этих ошибочных действий с помощью кнопки Undo (Отменить) панели инструментов, она здесь не поможет. Чтобы отменить изменения режима отображения сцены в окне, щелкните на имени окна правой кнопкой мыши и выберите в меню окна, показанном выше на рис. 3.7, команду Undo (Отменить). Название отменяемого действия появляется в меню правее наименования команды. Вместо этого можно также выполнить команду основного меню Views > Undo View Change (Проекции > Отменить изменение проекции). Емкость очереди отмен по умолчанию составляет 20 команд.
Для отмены последней отмены, то есть для повторения отмененного изменения состояния активного окна проекции, выберите в меню окна команду Redo (Повторить). Можете с той же целью выполнить команду основного меню Views > Redo (Проекции > Повторить).
СОВЕТ
Для отмены изменений масштаба, положения или ориентации плоскости проекции изображения в активном окне можно просто нажать клавиши Shift+z, а для повторения отмененного изменения проекции в окне — клавиши Shift+a. |
Отмена ошибочно назначенной карты текстуры
Чтобы полностью отменить карту текстуры, назначенную той или иной оптической характеристике материала, поступайте следующим образом:
1. Перейдите с уровня редактирования параметров материала к редактированию параметров карты текстуры, щелкнув на кнопке с именем выбранной карты в свитке Maps (Карты текстур).
2. Щелкните в окне Редактора материалов на кнопке справа от раскрывающегося списка имен материалов, на которой написан тип отменяемой карты текстуры, и дважды щелкните на строке None (Отсутствует) в появившемся окне диалога Material/Map Browser (Просмотр материалов и карт текстур).