- •3Ds max Учебный центр “успех”
- •Конфигурация окон проекций.
- •Интерфейс 3ds Max.
- •Кнопки управления окнами проекций.
- •Установка единиц измерения.
- •Настройка сетки координат.
- •Установка режимов привязки.
- •Учимся выполнять самые простые операции с примитивами
- •Как создать объект
- •Возможности настройки объектов
- •Что можно делать с объектами
- •Как выделить объект
- •Перемещение
- •Вращение
- •Масштабирование
- •Выравнивание объектов
- •Кнопки объектной привязки.
- •Использование инструментальных средств выделения.
- •Команды редактирования сплайнов
- •Трехмерные примитивы.
- •Раздел Vertex Weights – раздел отвечает за придание большей или меньшей гибкости отдельным частям вручную (необходимо перейти на уровень подобъектов Weights)
- •Scale – масштаб
- •Создание объектов типа Terrain
- •Моделирование на базе Лоскутков (Patch)
- •Создание nurbs - кривых
- •Редактирование кривых на уровне подобъектов
- •Редактирование поверхностей на уровне подобъектов
- •Работа с редактором материалов
- •Работа с базовыми параметрами материалов
- •Настройка базовых параметров раскраски по Блинну и Фонгу
- •Настройка базовых параметров раскраски по Оурену-Найру-Блинну
- •Настройка базовых параметров анизотропной и многослойной покраски
- •Настройка базовых параметров металлической раскраски и раскраски по Штраусу
- •Раздел Extended Parameters
- •Раздел SuperSampling
- •Раздел Dynamics Parameters (Динамические свойства)
- •Трехмерные карты текстур
- •Составные карты
- •Карты-модификаторы цвета
- •Карты отражения и преломления
- •Составные материалы
- •Системы проекционных координат
- •Источники освещения
- •Окружающая среда
- •Добавление фона в окне проекции.
- •Создание систем частиц
- •Создание объемных деформаций
- •Деформации категории Particles & Dynamics (Частицы и динамика)
- •Деформации pOmniFlect, sOmniFlect, UomniFlect
- •Визуализация сцен
- •Настройка параметров временных интервалов
- •Track View (Просмотр треков)
- •Интерфейс окна Track View.
- •Режим размещения диапазонов действия
- •Режим функциональных кривых
- •Свойства объектов
3Ds max Учебный центр “успех”
Что такое ЗD-графика и анимация
Первое знакомство с компьютерной ЗD-графикой
Этапы работы над трехмерной сценой
Начальные сведения об анимации
Области применения 3D-графики
Варианты отображения трехмерных объектов
Системы координат 3ds max
Раскраска объектов трехмерного мира
Итак, мы приступаем к освоению 3ds max - одной из лучших и наиболее популярных программ для моделирования трехмерной компьютерной графики или, как ее еще называют, ЗD-графики (от слов «3 Dimensional» — трехмерная). Чем же так привлекательна трехмерная графика, что заставляет множество компаний во всем мире выпускать все новые, более совершенные версии программ для ее моделирования, а множество пользователей — стремиться к их освоению, подобно вам, уважаемый читатель? В первой главе мы постараемся найти ответ на этот вопрос, а также получить те начальные сведения о ЗD-графике, которые послужат более эффективному изучению и практическому усвоению материала последующих глав. Возможно, при этом вам потребуется вспомнить некоторые сведения из школьного курса черчения.
Особенности трехмерной компьютерной графики и анимации
Что же это такое — компьютерная ЗD-графика, и в чем ее отличия от обычной, двумерной графики? В самых общих словах можно сказать, что двумерная компьютерная графика - это совокупность средств и приемов для рисования изображений с помощью компьютера, в то время как ЗD-графика предназначена для имитации фотографирования или видеосъемки трехмерных образов объектов, которые должны быть предварительно подготовлены в памяти компьютера.
Поясним сказанное на примере. Предположим, вам потребовалось нарисовать деревенский домик. Используя средства двумерной компьютерной графики, вы изображаете видимые контуры элементов домика и окружающего пейзажа. Если после этого возникает потребность нарисовать тот же домик с другого ракурса (например, с тыльной стороны), то всю работу приходится повторять заново от начала и до конца: снова рисовать видимые контуры элементов, придумывая детали, наблюдаемые при данном направлении взгляда. Полученные эскизы рисунков требуется затем раскрасить в нужные цвета, учитывая воображаемое направление лучей света для правильного воспроизведения теней и бликов.
При использовании средств трехмерной графики синтез изображения той же сцены выполняется по иному алгоритму, включающему в общем случае следующие этапы:
предварительная подготовка;
создание геометрической модели сцены;
настройка освещения и съемочных камер;
подготовка и назначение материалов;
визуализация сцены.
Из перечисленных этапов только последний посвящен собственно формированию изображения, а все остальные являются подготовительными. Оно и понятно: ведь чтобы выполнить «фотографирование» сцены, ее нужно сначала создать. Это похоже на подготовку макета или строительство декораций, с тем отличием, что и макет, и декорации создаются не в натуре, а только в памяти компьютера.
Создание изображения средствами трехмерной графики
Рассмотрим названные этапы более подробно, используя тот же пример с домиком.
Предварительная подготовка
На этом этапе продумывается состав сцены (домик, живая изгородь, пасущаяся корова и т. п.). Следует предусмотреть все объекты и их детали, которые будут видны с предполагаемых направлений наблюдения. При этом полезно бывает нарисовать один или несколько эскизов будущей сцены.
Если по предусмотренному сценарию взгляд зрителя должен будет проникать и внутрь домика, то следует продумать состав предметов обстановки: мебель (хотя бы стол и стул), светильники (скажем, настольная лампа), предметы быта, посуду и т. п.
Создание геометрической модели сцены
На этом этапе с использованием различных инструментов программы 3ds max , выполняется кропотливая работа — строятся трехмерные геометрические модели объектов сцены. О том, что собой представляют и из чего состоят такие объекты, речь в этой главе пойдет несколько ниже. Пока достаточно понимать, что трехмерными они называются потому, что имеют, как в реальном мире, три измерения — длину, ширину и высоту. После того как модели объектов созданы, их необходимо правильно расположить в трехмерном пространстве. Так, фундамент домика следует установить точно поверх плоскости, изображающей земную твердь, стены — точно на фундаменте, крышу — поверх стен и т. п. Трехмерность объектов позволяет вкладывать их друг в друга на манер матрешек. Например, стол и стул должны быть вложены внутрь домика и выровнены по высоте относительно плоскости пола.
Весь набор инструментов по созданию геометрических моделей объектов называют иногда геометрическим конструктором сцен. Так вот, 3ds max обладает одним из самых развитых и удобных геометрических конструкторов из всех программ ЗD-графики. Это позволяет максимально облегчить работу над геометрической моделью сцены и дает возможность воплотить в виде трехмерных моделей практически любые объекты реального или воображаемого мира.
После того как трехмерная геометрическая модель сцены создана, ее можно без труда рассматривать и «фотографировать» с любого требуемого ракурса.
Не следует, однако, забывать, что вы все-таки строите декорации, а не полное подобие реальности. Если в соответствии со сценарием будущей съемки камера никогда не будет заглядывать на домик со стороны заднего двора, нет никакой необходимости детализировать тыльную сторону геометрической модели домика. Это сэкономит ваши силы, сократит время работы над проектом, а также уменьшит объем вычислений, которые потребуется выполнять компьютеру при построении изображения моделируемой сцены. Как вы поймете по мере освоения материала данной книги, построение экономичной геометрической модели часто является принципиальным условием успеха в трехмерной компьютерной графике.
Кроме того, стоит взять на вооружение и такой прием. Если действие должно происходить как вне домика, на улице, так и внутри его, имеет смысл подготовить не одну, а две геометрические модели сцены. В модель, предназначенную для съемки уличных сцен, нет смысла помещать предметы интерьера, которые все равно не будут видны, но займут ресурсы компьютера, тормозя работу. И наоборот, в модель, предназначенную для съемки внутри помещения, нет смысла включать объекты наружной обстановки, кроме тех, которые могут быть видны через окна.
Работа над композицией: свет и камеры
На этом этапе с использованием соответствующих средств программы 3ds max производится настройка моделей источников освещения создаваемой сцены и расстановка моделей съемочных камер. Правильный подбор источников света позволяет выполнять имитацию фотографирования сцены в любых условиях освещенности. При этом освещенность всех объектов, отбрасываемые ими тени и блики света рассчитываются программой автоматически.
Следует отметить, что по части освещения программа 3ds max коренным образом отличается от своих предшествующих версий. Впервые в ней обеспечена возможность расчета так называемой глобальной освещенности {global illumination), при которой учитывается подсветка объектов сцены не только прямыми лучами света от воображаемых осветителей, но и лучами света, многократно отраженными от других объектов сцены. Это позволяет, к примеру, осветить всю сцену единственным источником, имитирующим свет от затянутого облаками неба, создав атмосферу неяркого пасмурного дня.
Модели съемочных камер дают возможность осматривать трехмерную сцену и выполнять ее съемку под любым выбранным углом зрения.
Если же вы потрудились смоделировать внутри домика определенную обстановку, скажем, стул, стол со скатертью, на котором стоит лампа и лежит шахматная доска с расставленными фигурами, то съемочные камеры позволят заглянуть внутрь домика и рассмотреть все это в подробностях. Гибкость возможностей, предоставляемых программой 3ds max в части настройки параметров освещения сцены и ее съемки, не может не вызывать восхищения, в чем вам предстоит убедиться в третьей части книги.
Подготовка и назначение материалов
На этом этапе производится работа, обеспечивающая придание сцене визуального правдоподобия, приближающего качество изображения к реальной фотографии. 3ds max предоставляет поистине огромные возможности по созданию новых материалов или выбору готовых из библиотек, распространяемых на компакт-дисках или по сети Интернет. Работая с материалами, можно настраивать такие их свойства, как сила блеска, прозрачность, самосвечение, зеркальность, рельефность и многие другие, о которых вы узнаете, прочтя главу 13. В состав материалов можно включать фотографии реальных объектов окружающего мира, наподобие кирпичной кладки, свежеструганной доски или листвы кустарника живой изгороди. Кроме того, реальные фотографии можно использовать для имитации фона, на котором располагается моделируемая сцена.
Визуализация сцены
После того как материалы подобраны и назначены объектам сцены, выполняется формирование ее изображения. Этот процесс в 3ds max называется визуализацией (rendering) и может иногда занимать довольно продолжительное время, зависящее от сложности сцены и быстродействия компьютера. Именно на этапе визуализации программа рассчитывает и наносит на изображение все тени, блики, взаимные отражения объектов и т. п. Для повышения достоверности изображения и создания необходимого эмоционального настроя в ходе визуализации можно выполнить имитацию некоторых природных явлений, таких как дымка, туман или пламя огня. И вот, наконец, готово!
Итак, мы рассмотрели основные этапы работы над трехмерной сценой, позволяющие получить близкое по качеству к фотографическому изображение воображаемого мира, создаваемого в памяти компьютера. Такой воображаемый мир часто называют виртуальным, то есть потенциально возможным. Очевидно, что трудоемкость работ на этапах, предшествующих визуализации изображения виртуальной трехмерной сцены, вряд ли была бы оправдана, если бы речь шла о простом воспроизведении реальной действительности. Не проще ли взять фотоаппарат или видеокамеру и заснять реальный сюжет, подобный рассмотренному выше примеру? Имеются, однако, ситуации, в которых использование ЗD-графики может существенно упростить и удешевить задачу создания нужного изображения и даже оказаться едва ли не единственным средством решения такой задачи.
Области применения трехмерной графики
Рассмотрим несколько типовых областей применения трехмерной графики. Разумеется, приводимый перечень нельзя считать исчерпывающим, и вы можете найти программе 3ds max новое применение, которое посчитаете более интересным.
Компьютерное проектирование
Вы хотите представить, как будут смотреться на стенах вашей комнаты те или иные обои при дневном свете и вечером, когда включена люстра или стоящий в углу комнаты торшер? А может быть, вы хотите заранее представить, как будет выглядеть ваша квартира или офис после расстановки в них новой мебели? ЗD-графика поможет вам сравнительно быстро и без особых затрат решить такие задачи, относящиеся к области проектирования интерьеров.
ЗD-графика поможет в случаях, когда требуется встроить воображаемую сцену в изображение реального мира. Такая ситуация типична для задач архитектурного проектирования. Одно дело — разглядывать чертеж будущего здания на листе ватмана (это задача для специалистов), и совсем другое дело — видеть зримый трехмерный образ этого здания на фоне реальной застройки с учетом естественного или электрического освещения и теней. В данном случае ЗD-графика устраняет необходимость создания макета и обеспечивает гибкие возможности синтеза изображения сцены для любых погодных условий и под любым углом зрения.
Можно представить и иную ситуацию: не воображаемый объект встраивается в реальный фон, а наоборот, изображение реального объекта встраивается в трехмерную сцену как ее составная часть. Такой способ использования ЗD-графики применяют, например, для создания виртуальных выставочных залов или галерей, по стенам которых развешаны изображения реальных картин. «Бродя» по таким залам, вы можете приблизиться к каждой картине и рассмотреть ее во всех подробностях.
К области автоматизированного проектирования с помощью компьютера (Computer Aided Design — CAD) относятся также применения ЗD-графики в целях синтеза внешнего вида сложных отливок, деталей, изготовляемых методами штамповки, токарных и фрезерных операций, визуального облика проектируемых автомобилей, катеров, самолетов и т. п. Создание трехмерных образов деталей и конструкций — хотя и непростая в целом, но все же менее трудоемкая задача, чем изготовление масштабных или полноразмерных макетов таких объектов.
Компьютерные игры
Разумеется, компьютерные игры — одна из наиболее широких и испытанных областей применения ЗD-графики. Уж если вы потратили массу сил на создание виртуального мира, то почему бы не населить его виртуальными трехмерными персонажами и не заставить их действовать в соответствии с лихим детективным сценарием? По мере совершенствования программных средств моделирования трехмерной графики, роста производительности и увеличения ресурсов памяти компьютеров виртуальные трехмерные миры, в которых действуют персонажи компьютерных игр, становятся все более сложными и похожими на реальную действительность. С точки зрения трехмерной графики игра «Doom» является еще далеко не лучшим, хотя и ярким образцом. Взгляните на игру «Myst». Потрясающее качество проработки используемых в этой игре трехмерных сцен и материалов, впечатляющие эффекты освещения и анимации в совокупности позволили создать невообразимо красивые загадочные миры, выглядящие совершенно реально.
Комбинированная съемка
Трехмерная графика помогает и там, где выполнение реальной фотосъемки невозможно, затруднительно или требует значительных материальных затрат, а также позволяет синтезировать изображения событий, которые не встречаются в обыденной жизни.
Например, с помощью ЗD-графики можно «заглянуть» внутрь работающего автомобильного двигателя, воссоздать научно-фантастический сюжет из далекого прошлого Земли, вроде прогулки с динозаврами, или из ее туманного будущего, а то и воплотить родившийся в воображении образ неведомых миров, где нам с вами (ну, по крайней мере, мне-то уж точно) дано побывать только мысленно.
Виртуальные объекты не имеют таких физических характеристик, как вес или жесткость, поэтому средствами 3D-графики легко заставить слона «парить» в воздухе, помахивая ушами, или позволить крокодилу «высунуть» голову из экрана телевизора, как в известных образцах рекламы.
ЗАМЕЧАНИЕ В программе 3ds max имеются средства, позволяющие имитировать действие на трехмерные объекты таких физических сил, как тяжесть, сопротивление воздуха, ветровое давление, трение или инерция, а также воспроизводить результаты столкновений объектов. |
Практическими областями использования ЗD-графики для комбинированной съемки и создания научно-фантастических сюжетов являются киносъемка с включением анимационных эффектов (примерами могут служить фильмы «Звездный десант» и «Звездные войны», «Парк Юрского периода», «Джуманджи», «Мумия» или «Стюарт младший»), создание видеотренажеров для обучения пилотов или автоводителей, книжная и журнальная графика, популяризация науки, реклама и художественное творчество.
Компьютерная мультипликация
Главные аргументы в пользу ЗD-графики появляются тогда, когда речь заходит не о синтезе отдельного фотореалистичного изображения трехмерной сцены, а о создании компьютерной мультипликации.
Те, кто хотя бы немного знаком с технологией создания мультипликационного, или, как его еще называют, анимационного кино, знают, каких трудов стоит заставить персонаж фильма совершить простейшее движение на экране. Каждое элементарное движение разбивается на целый ряд промежуточных стадий, изображаемых в виде отдельных кадров. Затем эти кадры снимаются на кино- или видеопленку и воспроизводятся на экране один за другим, создавая иллюзию движения. При типичной скорости воспроизведения 30 кадров в секунду для мультика продолжительностью всего 10 секунд требуется нарисовать 300 кадров! 3ds max позволяет существенно упростить работу над подобными мультипликационными видеофрагментами за счет использования методов анимации трехмерных сцен, введением в которые служит следующий раздел главы.
Областями использования 3D-графики для создания компьютерной мультипликации являются киноиндустрия (вы наверняка видели хотя бы один из таких фильмов, целиком снятых средствами трехмерной компьютерной графики, как «Суперсемейка» («The Incredibles»), «В поисках Немо» («Finding Nemo»), «Роботы» («The Robots»), « Корпорация монстров» («Monster Corporation»), «Шрек» («Shrek») или «Ледниковый период» («Ice Age»)), телевизионная реклама, подготовка видеороликов на научно-популярные или фантастические сюжеты, съемка клипов-прологов к компьютерным играм, разработка анимированных логотипов компаний и т. п.
Недостатки трехмерной графики
Выше мы рассмотрели особенности трехмерной графики, которые можно отнести к ее достоинствам по сравнению с обычной двумерной графикой. Но, как известно, не бывает достоинств без недостатков. Недостатками трехмерной графики, которые следует учитывать при выборе средств для разработки ваших будущих графических проектов, можно условно считать:
повышенные требования к аппаратной части компьютера, в частности к объему оперативной памяти, наличию свободного места на жестком диске и быстродействию процессора;
необходимость большой подготовительной работы по созданию моделей всех объектов сцены, которые могут попасть в поле зрения камеры, и по присвоению им материалов. Впрочем, эта работа обычно окупается полученным результатом;
меньшую, чем при использовании двумерной графики, свободу в формировании изображения. Имеется в виду, что, рисуя картину карандашом на бумаге или средствами двумерной графики на экране компьютера, вы имеете возможность совершенно свободно искажать любые пропорции объектов, нарушать правила перспективы и т. п., если это необходимо для воплощения художественного замысла. В 3ds max это также возможно, но требует дополнительных усилий;
необходимость контроля за взаимным положением объектов в составе сцены, особенно при выполнении анимации. В связи с тем, что объекты трехмерной графики «бестелесны», легко допустить ошибочное проникновение одного объекта в другой или ошибочное отсутствие нужного контакта между объектами. Это означает, что, например, модель персонажа анимации вместо того, чтобы плотно стоять на «земле», может зависнуть в «воздухе» или провалиться по колено. По этой же причине необходимо принимать специальные меры для деформации объектов при их столкновении или разрушении. Если этого не сделать, то, например, сталкивающиеся модели автомобилей просто проедут друг сквозь друга, а меч одного героя анимации пройдет сквозь тело другого, не причинив ему никакого вреда;
необходимость принятия дополнительных мер, обычно применяемых на этапе вторичной обработки синтезированных изображений, чтобы «испортить» картинку, придав ей более правдоподобный вид. Не секрет, что результаты визуализации сцен средствами трехмерной графики выглядят чересчур «прилизанными», идеально правильными, а потому недостаточно жизненными. В связи с этим в состав программ трехмерной графики входит целый ряд фильтров, позволяющих имитировать такие эффекты, как конечная глубина резкости изображений, зернистость воображаемой фотопленки или смаз, вызванный движением объектов в момент съемки.
Что представляют собой трехмерные объекты
Для нашего глаза трехмерные объекты выглядят на экране дисплея «как настоящие», а что они представляют собой с точки зрения компьютера? Что бы ни изображали собой трехмерные объекты, будь то скалистые горы, вода в реке, доисторический ящер, рыцарь в доспехах или трава на лужайке, — все это лишь пустотелые, не имеющие физической толщины оболочки. Эти оболочки становятся видимыми только благодаря тому, что программа 3ds max умеет рассчитывать, как от каждой их точки отражаются в направлении глаза наблюдателя воображаемые световые лучи, испускаемые заданными в составе сцены источниками света. Рассмотрим устройство оболочек объектов более подробно.
Оболочки: вершины, ребра, грани...
В программе 3ds max оболочки всех объектов, независимо от их формы, состоят в конечном счете из треугольных граней (faces), образующих сетку (mesh) с треугольными ячейками.
Каждая грань имеет три вершины (vertices) и три ребра (edges), соединяющих эти вершины. Смежные грани, лежащие в одной плоскости, образуют многоугольник или полигон (polygon). Начиная с четвертой версии в программе 3ds max появился новый тип объектов, в оболочках которых минимальным редактируемым плоским фрагментом является именно полигон, а не треугольная грань. Сетку, образованную из полигонов, называют редактируемой полисеткой (editable poly). В чем состоит удобство использования полисеток по сравнению с традиционными сетками, вам, надеюсь, станет понятно в ходе прочтения последующих глав книги. Несмотря на то что полигон как минимальную ячейку полисетки можно выделить только целиком, он все равно разбивается программой на треугольные грани, недоступные для редактирования.
Ребра между гранями, не лежащими в одной плоскости, изображаются на сетке сплошными линиями, а между гранями, лежащими в одной плоскости — демонстрирующим увеличенный фрагмент сферической оболочки. Есть еще один важный элемент грани — ее нормаль (normal), то есть перпендикуляр к поверхности грани. Нормаль позволяет определить, будет данная грань видимой или нет. Видимыми считаются только те грани, нормали которых направлены в сторону наблюдателя. Если нормаль грани перпендикулярна линии взгляда или направлена от наблюдателя, то грань перестает быть видимой. Например, если бы вы заглянули внутрь объекта-сферы (а это легко сделать в 3ds max с помощью модели съемочной камеры), то были бы разочарованы, не увидев ничего. Все грани сферы видны только снаружи.
В программе 3ds max каждая грань задается координатами своих вершин — как известно, положение любой точки в трехмерном пространстве можно задать тройкой координат: (X, Y, Z). Таким образом, даже для такого простейшего трехмерного объекта, как прямоугольный параллелепипед, программе приходится хранить координаты 8 вершин, то есть 8 троек чисел, с указанием того, какие из этих троек образуют каждую из 12 треугольных граней параллелепипеда. Сложные сцены иногда содержат в своем составе сотни тысяч граней, так что можете представить, какую работу приходится производить компьютеру при визуализации таких сцен!
Зачем же нужно разбивать оболочки на грани? Это делается из соображений единообразия. Точки поверхностей тел простой формы, таких как сфера, цилиндр или конус, можно было задать и не разбивая эти поверхности на грани, но в реальной жизни объекты правильной геометрической формы встречаются редко. Пришлось бы разрабатывать и использовать разные подходы к описанию поверхностей тел простой формы и всех остальных объектов, имеющих произвольную конфигурацию.
Почему используются грани именно треугольной формы? Это просто: через три точки в трехмерном пространстве всегда можно провести плоскость, и притом только одну. Если бы нам приходилось разбивать поверхности объектов на грани вручную, то каждому пользователю 3ds max пришлось бы осваивать смежную профессию огранщика алмазов. Само по себе это, может быть, и не плохо, да вот только процесс моделирования мог бы оказаться слишком сложным. К счастью, программа производит такое разбиение самостоятельно.
Ребра и группы сглаживания
С этими ребрами в 3ds max сплошная путаница. Во-первых, как вы уже знаете, в составе сетчатых оболочек имеются два типа ребер. Ребра первого типа разделяют грани, не лежащие в одной плоскости. Они всегда видны в составе сетки и изображаются сплошными линиями. Другие ребра, которые разделяют грани, лежащие в одной плоскости, по умолчанию не видны, а если и отображаются по специальному запросу, то пунктиром. Эти два типа ребер можно было бы охарактеризовать как видимые и невидимые, вкладывая в это определение вполне конкретный смысл, связанный с компланарностью граней. Однако, как выясняется, не все так просто. В 3ds max имеются инструменты, позволяющие превратить любое видимое (изображаемое сплошной линией) ребро в невидимое, которое будет отображаться пунктиром только в специальном режиме просмотра невидимых ребер. И наоборот, любое ребро, разделяющее грани, лежащие в одной плоскости, можно сделать видимым постоянно. При этом оно будет отображаться в составе сетки сплошной линией. Такое преобразование, смысл которого не вполне очевиден, становится понятнее, когда узнаешь, что в 3ds max есть средство для разрезания ребер, которое по-разному действует на видимые и невидимые ребра сетки.
Итак, видимые ребра — это те, которые изображаются в составе сетки сплошными линиями, а невидимые — те, которые в нормальном режиме не видны, а в специальном режиме отображаются пунктиром.
ЗАМЕЧАНИЕ Способ отображения ребер в окнах проекций зависит еще и от того, какой драйвер дисплея используется программой 3ds max . Например, драйвер Direct3D имеет режим, при котором в окнах проекций могут отображаться сплошными линиями все ребра треугольных граней сеток — как видимые, так и невидимые. |
Разобрались? Как бы не так! Ситуация осложняется тем, что понятие видимости ребер должно еще соотноситься с понятием их сглаживания при отображении сетки в виде сплошной поверхности, или, как говорят на языке трехмерной графики, в тонированном виде. Да, сетчатая оболочка любого объекта (скажем, простой сферы) состоит из трехмерных граней. Почему же мы видим на экране гладкую, а не ребристую поверхность сферы? Дело в том, что при отображении тонированной сетчатой оболочки программа автоматически выполняет сглаживание ребер между гранями, принадлежащими к одной и той же группе сглаживания (smoothing group). В итоге далеко не все видимые ребра сетки оказываются видны в виде линий излома поверхности объекта. Например, у сферы все грани сетки принадлежат к одной группе сглаживания, а у цилиндра грани боковой поверхности принадлежат к одной группе сглаживания, а грани оснований — к другой. В связи с этим при визуализации цилиндра ребра между гранями боковой поверхности не видны, а между боковой поверхностью и основаниями — видны.
У некоторых стандартных объектов трехмерной графики, таких как сфера или цилиндр, назначение групп сглаживания граням производится программой автоматически в момент создания объекта. Однако режим сглаживания ребер можно выключать. В результате при отображении будут видны в виде линий излома поверхности все ребра между гранями, не лежащими в одной плоскости. Обратите внимание на то, что даже у цилиндра со сглаженной боковой поверхностью ее исходное граненое строение прослеживается по кромкам оснований, состоящим из отрезков прямых линий.
Объединение граней в группу сглаживания может происходить автоматически с учетом угла между нормалями к этим граням. Любые две соседние грани, угол между нормалями которых не превышает заданного порогового значения, объединяются в одну группу сглаживания и при визуализации на границе между ними не будет видно излома поверхности.
Способ, каким программа производит сглаживание ребер между гранями, относящимися к одной группе сглаживания, зависит от выбора алгоритма тонированной раскраски граней, о чем речь пойдет несколько ниже.
Габаритные контейнеры
Каждый объект 3ds max , какую бы сложную форму он ни имел, заключается в габаритный контейнер (bounding box). Габаритный контейнер представляет собой всего-навсего прямоугольный параллелепипед, описанный вокруг объекта. В момент создания объекта стороны его габаритного контейнера ориентируются параллельно координатным плоскостям глобальной системы координат, о которой мы поговорим чуть ниже. При последующих поворотах объекта вместе с ним поворачивается и его габаритный контейнер.
Габаритные контейнеры играют важную роль в программе трехмерной графики и используются ею в целом ряде случаев. Вот лишь некоторые примеры:
использование габаритных контейнеров помогает программе быстро определять, заслоняют ли объекты друг друга при наблюдении сцены с определенного направления;
для того чтобы не тратить лишнее время на перерисовку экрана в ходе работы над сценой, часть объектов можно отображать в виде их габаритных контейнеров (как это сделать, вы узнаете в главе 3);
когда от программы требуется точно подогнать размер объекта под размер окна, в котором наблюдается этот объект, подгонка делается так, чтобы в окне целиком уместился габаритный контейнер объекта;
за геометрический центр объекта сложной формы принимается центр его габаритного контейнера.
Как происходит «оживление» сцены
Слово анимация {animation — оживление) имеет в компьютерной графике двоякий смысл. С одной стороны, анимацией часто называют результат «оживления» трехмерной сцены, зафиксированный в виде последовательности кадров. Каждый такой кадр, как мы уже отмечали ранее, представляет собой синтезированное программой изображение определенной стадии меняющегося во времени процесса, например, движения объекта, изменения его формы, прозрачности или цвета. При установке программы 3ds max на диске даже создается специальная папка Animations (Анимации), предназначенная для хранения готовых компьютерных мультиков.
С другой стороны, под анимацией подразумевают сам процесс «оживления» трехмерной сцены, в работе над которым программа трехмерной графики способна оказать вам существенную помощь.
Эта помощь состоит в автоматизации синтеза последовательности кадров, представляющих отдельные промежуточные стадии движения того или иного объекта сцены. От пользователя требуется всего лишь установить начальное и конечное положения объекта в пространстве сцены и указать, каким номерам кадров будущей анимации эти положения соответствуют, а все промежуточные положения программа синтезирует автоматически. При синтезе каждого отдельного кадра анимационной последовательности программа выполняет все те же трудоемкие процессы расчета и визуализации изображений с учетом взаимных затенений, изменений освещенности, отражений и переотражений света и т. п., как и при создании отдельного фиксированного изображения.
Используя специальные инструменты 3ds max — контроллеры анимации (animation controllers), — можно указывать, должен ли «оживляемый» объект в интервалах времени между заданными положениями двигаться равномерно, рывками, с ускорением в начале или в конце и т. п. Помимо анимации движения объектов сцены или их частей, 3ds max может также обеспечить «оживление» цвета объектов, их размеров или формы, яркости источников света и многих других параметров — почти все параметры max допускают анимацию.
При настройке анимации в состав сцены можно включать источники так называемых объемных деформаций, предназначенные для того, чтобы заставить объекты от кадра к кадру изменять свою форму или имитировать действие на объекты различных внешних сил, таких как сила тяжести или ветра. Использование объемных деформаций позволяет моделировать средствами ЗD-графики даже такие сложные динамичные объекты, как поверхность взволнованной воды, потоки раскаленной лавы или вихри снежной метели.
Способы отображения трехмерного мира на плоском экране
Итак, описания объектов виртуального трехмерного мира хранятся в памяти компьютера в виде множества троек чисел, задающих координаты вершин отдельных граней в пространстве с тремя измерениями: длиной, шириной и высотой. Объемную вещь реального мира мы можем разглядеть с разных сторон, вертя ее в руках или обходя вокруг, если она велика по размерам. Разглядеть с разных сторон объект трехмерной графики помогают проекции, известные вам по школьному курсу черчения. Возможно, воспоминания об этом нудном черчении и не вызывают у вас приятных эмоций, но что поделаешь: человечество пока не придумало лучшего способа рассматривать ЗD-графику.
Виды проекций, используемых в 3ds max
В 3ds max используются два вида проекций: параллельные (аксонометрические) и центральные (перспективные). При построении аксонометрической проекции трехмерного объекта его отдельные точки сносятся на плоскость проекции параллельным пучком лучей, а при построении центральной проекции — пучком лучей, исходящих из одной точки, соответствующей положению глаза наблюдателя.
Плоскость аксонометрической проекции располагается перпендикулярно всей совокупности проекционных лучей, а плоскость центральной проекции — перпендикулярно только одному, центральному лучу, соответствующему линии визирования сцены. При аксонометрической проекции не происходит искажения горизонтальных и вертикальных размеров, но искажаются размеры, характеризующие «глубину» объекта. При центральной проекции оказываются искаженными все размеры объекта.
Частным случаем аксонометрических проекций являются проекции ортографи-ческие, при построении которых плоскость проекции выравнивается параллельно одной из координатных плоскостей трехмерного пространства, в котором размещена сцена. К ортографическим проекциям относятся хорошо знакомые вам «вид сверху», «вид слева» и т. п. Примером перспективной проекции может служить любая фотография, сделанная обычным фотоаппаратом.
Перспективная проекция окружающего мира привычна и естественна для наших глаз, так как в жизни мы все предметы видим в перспективе. При такой проекции, чем дальше объект расположен от глаз наблюдателя, тем меньше он кажется по размерам. При параллельной проекции размеры объектов на изображении не зависят от их удаления от глаз наблюдателя. Это непривычно, но очень удобно: можно точно сопоставлять размеры объектов, на каких бы расстояниях они ни находились. Говоря о трехмерных объектах, мы уже упоминали слова «длина», «ширина», «высота». Теперь к ним добавились еще понятия «вид сверху», «вид слева». Что означают эти понятия применительно к виртуальному трехмерному миру, существующему только в памяти компьютера? Это определяется выбором системы координат.
Системы координат 3ds max
Основной для трехмерного мира 3ds max является глобальная система координат {world reference system) с началом в точке (0, 0, 0) пространства сцены. Условно можно считать, что в виртуальном трехмерном пространстве ось Z глобальной системы координат соответствует понятию высоты, ось X — ширины, а ось Y — длины или глубины сцены. Взгляд на сцену «спереди» означает наблюдение вдоль оси У в ее положительном направлении. В соответствии с этим, например, на проекции «вид спереди» ось X глобальной системы координат будет направлена вправо, ось Z — вверх по экрану, а ось 7 — от наблюдателя, перпендикулярно экрану, как показано на рис. 1.16, а. На проекции «вид сверху» оси глобальных координат будут располагаться так: ось X направлена вправо, Y — вверх по экрану, Z — на наблюдателя, перпендикулярно экрану. Плоскостями, на которых изображаются проекции объектов сцены, по умолчанию являются три плоскости, проходящие через оси глобальной системы координат. Для проекций «вид спереди» и «вид сзади» это будет плоскость ZX, проекций «вид сверху» и «вид снизу» — плоскость XY, а для проекций «вид слева» и «вид справа» — плоскость ZY.
В 3ds max есть еще одна система координат, играющая исключительно важную роль и называемая локальной (local). Такая система координат назначается каждому объекту и определяет понятия «верх», «лево» и «право» для этого объекта. Начало локальной системы координат помещается в опорную точку (pivot point) объекта, а сама опорная точка располагается для некоторых объектов в геометрических центрах их габаритных контейнеров, а для некоторых — в центре основания. Оси локальных координат объекта выравниваются параллельно сторонам его габаритного контейнера, причем ось Z указывает направление «вверх». При перемещении или повороте объекта его локальная система координат перемещается и поворачивается вместе с ним. Как бы ни был объект повернут в глобальных координатах, направлением «вверх» для него всегда остается направление оси Z локальной системы координат. Это бывает очень удобно, когда требуется переместить произвольным образом ориентированный в глобальном пространстве объект «вперед», «в сторону» или «вверх» по отношению к нему самому.
ЗАМЕЧАНИЕ Всего в 3ds max используется восемь видов различных систем координат, с которыми вы будете знакомиться по мере необходимости. |
Варианты раскраски объектов трехмерного мира
При постоянной раскраске каждая грань оболочки объекта изображается как плоская площадка, яркость которой зависит от ориентации нормали грани по отношению к направлению лучей падающего света и направлению взгляда наблюдателя.
ЗАМЕЧАНИЕ В 3ds max вместо алгоритма постоянной раскраски применяется режим Faceted (Огранка), который можно включать при использовании любого из имеющихся алгоритмов раскраски. |
Поскольку, как указывалось ранее, оболочки трехмерных объектов разбиты на треугольные грани искусственно, необходимо принимать специальные меры, обеспечивающие сглаживание ребер между гранями, принадлежащими к одной и той же группе сглаживания. В различных алгоритмах раскраски сглаживание ребер при выключенном режиме Faceted (Огранка) реализуется по-разному. Например, при раскраске по Фонгу сглаживание достигается за счет того, что ориентация нормали в каждой точке плоской грани считается переменной и рассчитывается как промежуточная между исходными ориентациями нормали данной грани и трех соседних. Такой подход обеспечивает достаточно высокое качество сглаживания ребер.
