Министерство общего и профессионального образования российской федерации московский государственный институт электроники и математики (Технический университет)  icon

Министерство общего и профессионального образования российской федерации московский государственный институт электроники и математики (Технический университет)



НазваниеМинистерство общего и профессионального образования российской федерации московский государственный институт электроники и математики (Технический университет)
Дата конвертации29.03.2013
Размер189.14 Kb.
ТипКонтрольные вопросы
скачать >>>

МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО

ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Московский государственный институт электроники и математики (Технический университет)


Кафедра информационно-

коммуникационных технологий


Трёхмерная графика


Методические указания

к лабораторным занятиям

по курсу “Компьютерная графика”


Москва 2009

Оглавление

Цели и задачи 4

Основные теоретические положения 5

Основные понятия трёхмерной графики 5

Voxel и NURBS 8

Voxel 8

NURBS 9

3D API 9

OpenGL 10

    Direct3D 10

Подготовка к проведению работы 12

Проведение практического занятия 13

Освещение 16

Текстурирование 17

Анимация 17

Рендеринг 18

Выводы по результатам работы 19

Контрольные вопросы 20



Составители: канд. Тех. Наук Д.А. Королёв

препод. А. А. Соболевский


УДК 519


Трёхмерная графика: Метод. указания к лабораторным занятиям по курсу “Компьютерная графика” / Моск. гос. ин-т электроники и математики; Сост.: Д.А. Королёв, А. А. Соболевский. М., 2009.18 с.

Дан обзор основных понятий трёхмерной графики, форматов файлов с трёхмерными объектами, а так же методов работы с трёхмерными объектами. Показаны основные различия в работе с трёхмерными объектами и приведены примеры работы с обработкой трёхмерных объектов. Приведены примеры работы с трёхмерными объектами в программном обеспечении компании Autodesc.

Для студентов III курса АВТ кафедры ИКТ.


ISBN 5-230-22336-7
^

Цели и задачи

Основные теоретические положения


В этом разделе пойдёт разговор о трехмерной графике. Трехмерная графика - раздел компьютерной графики, охватывающий алгоритмы и программное обеспечение для оперирования объектами в трёхмерном пространстве, а также результат работы таких программ. Можно сказать иначе - 3D графика предназначена для имитации фотографирования или видеосъемки трехмерных образов объектов, предварительно подготовленных в памяти компьютера. Трёхмерные модели и объекты применяются во многих сферах нынешней жизни: кино, телевидении, рекламе, визуализации каких-либо объектов, архитектуре, компьютерных играх и технологиях. Трёхмерная графика так же используется в полиграфии и, иногда, в моделировании научных экспериментов. Несмотря на то, что в понятии 3D графика (3 Dimentions, 3 измерения) есть понятие объёма, по сути, мы с вами видим проекцию трёхмерных объектов, заданных математически, на пиксельную сетку монитора. Объекты в 3Д графике представляются различными способами – с помощью точек и связей между ними, с помощью рёбер и их расположения, с помощью кривых и их взаимодействия. Основными предметами, которые используются при построении и оперировании с 3D-объектами являются линейная алгебра, дискретная математика и, естественно, геометрия с алгеброй, с правилами проецирования и построения фигур.
^

Основные понятия трёхмерной графики


Любой элемент, представляемый трёхмерной графикой, визуализируется при помощи определённых элементов, структур и средств. В этой части мы ознакомимся с основными элементами и понятиями трёхмерной графики.

Полигон (polygon) – треугольник, задаваемый координатами трёх точек в трёхмерном пространстве. Он является базовым геометрическим примитивом в 3D-графике. В более широком смысле слова полигон – произвольный плоский многоугольник. Но в 3D-графике это понятие сужают до треугольника, т.е. до наиболее простой плоской фигуры, легче всего поддающейся расчётам (по трём точкам задаётся плоскость). Хотя иногда применяются и другие многоугольники в качестве геометрических примитивов.

Вертекс (vertex) – вершина (точка) полигона, задаётся тремя координатами. В принципе, всю полигональную сетку 3D-модели можно было бы задать массивом полигонов, каждый из которых в свою очередь представлял бы массив из трёх вертексов, а вертекс – массив из трёх координат. Но в этом случае мы получаем слишком много избыточности в информации, ведь соседние полигоны примыкают друг к другу, т.е. имеют общие вершины. Поэтому в большинстве случаев пользуются иным представлением. Попросту создаётся массив всех вертексов модели (вертексы в нём уже не повторяются, как это было в описанном выше представлении), затем каждому вертексу ставится в соответствие определённое число – индекс, и вся модель представляется массивом этих индексов. Этот способ значительно экономит место. Вертекс – понятие, аппаратно поддерживаемое современными видеокартами. Аппаратная поддержка реализована в виде вертексного (вершинного) конвейера, где с вертексами производятся различные скоростные операции (Например, это могут координатные преобразования, вследствие перемещения или вращения объектов.).

Текстура (texture)– плоское изображение, натягиваемое на полигон или несколько полигонов. Процесс заполнения полигона текстурой иногда называют wrapping-ом (обертыванием).

^ Тексель (texel) – точка на поверхности текстуры. Из таких точек состоит всё изображение текстуры.

Пиксель (pixel) (pixel, расшифровывается как PICture'S ELement, элемент изображения) – всем привычное название единичной точки, отображаемой на мониторе в конкретном месте. Кроме этого представления понятия пикселя, в трехмерной графике существуют еще два: пиксель – это адресуемый элемент буфера кадра или пиксель - это точка плоскости, на которую производится проекция трехмерной сцены после проведения всех требуемых вычислительных операций. Пиксель – понятие, аппаратно поддерживаемое современными бюджетными видеокартами. Аппаратная поддержка реализована в виде пиксельного конвейера, где с пикселями производятся различные скоростные операции (в основном это различные эффекты типа затуманивания, наложения шаблонов и т.д.).

^ Буфер кадра – (Frame buffer) Специально отведенная область памяти компьютера или отдельной платы для временного хранения данных о пикселях, требуемых для отображения одного кадра (полного изображения) на экране монитора. Емкость буфера кадра определяется количеством битов, задействованных для определения каждого пикселя, который должен отображать изменяемую область или количество цветов и их интенсивность на экране.

^ Буфер глубины (или Z-буфер) - используется главным образом для определения перекрывающихся частей полигонов, составляющих ЗD-модель. В более сложных случаях он используется специальным алгоритмом для удаления невидимых линий (поверхностей). В общем случае представляет собой двухмерный массив, содержащий значения глубины расположения соответствующей точки на экране (Z-координату). В результате программа путем простого сравнения глубины расположения точек полигонов узнает, точку какого из них необходимо отобразить.

Шейдер (shader) – графическая микропрограмма для CPU или GPU. Служит для определения окончательных параметров объекта или изображения. Это может включать в себя произвольной сложности описание поглощения и рассеяния света, наложения текстуры, отражение и преломление, затенение, смещение поверхности и эффекты пост-обработки. Различают вертексные (вершинные) и пиксельные (фрагментные) шейдеры.

^ Вершинные шейдеры - это программы, выполняемые видеочипами, которые производят математические операции с вершинами (vertex), иначе говоря, они предоставляют возможность выполнять программируемые алгоритмы по изменению параметров вершин и их освещению (T&L - Transform & Lighting). Вершинные шейдеры, в зависимости от алгоритмов, изменяют эти данные в процессе своей работы, например, вычисляя и записывая новые координаты и/или цвет. То есть, входные данные вершинного шейдера - это данные об одной вершине геометрической модели, которая в данный момент обрабатывается. Очень простой и грубый (но наглядный) пример: вершинный шейдер позволяет взять 3D объект сферы и сделать из него красный куб.

^ Пиксельные шейдеры позволяют программисту по шагам управлять процессом наложения текстур, определения глубины и вычисления цвета пикселей. Таким образом, во-первых, можно создавать в играх per-pixel lighting, т.е. попиксельное освещение. Во-вторых, позволяет создавать красивые эффекты с частицами (например, огонь, дым, капли дождя). Благодаря пиксельным шейдерам, кожа персонажей стала выглядеть естественнее, в играх можно наблюдать реалистичную поверхность воды, а также создавать определенные эффекты разрушения.

Рендеринг (rendering) – называют процесс расчёта конечного изображения, которое выводится на экран. Как видно из определения, это понятие является обобщающим, т.е. охватывает всё то, что происходит в центральном процессоре (CPU) или графическом процессоре видеокарты (GPU) во время их работы над расчетом трехмерной картинки.

^ Технологии, применяемые в трёхмерной графике

Anti-aliasing (фильтрация-Сглаживание). Явление Aliasing (которое в общем случае можно перевести, как «помеха дискретизации») возникает из-за несоответствия изображения рельного объекта и его представления в компьютере. В реальном мире объекты имеют сглаженные линии и контуры, монитор же может отображать лишь дискретные точки, т.е. пиксели. Так как пиксели имеют форму квадратов и равномерно закращиваются определенным цветом, линии объктов становятся зубчатыми или иначе говоря, ступенчатыми.

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


^ Temporal anti-aliasing (сглаживание движения) – это метод, который решает следующую проблему. Допустим, у нас есть объект, достаточно медленно движущийся по сцене. По идее это должно происходить плавно, но из-за того, что мы наблюдаем трехмерное изображение, как бы через пиксельную сетку, часть объекта вместо этого резко дернется в сторону движения. Для борьбы с этим используется motion blur, т.е. смазывание в движении.

^ Motion blur (смазывание в движении) происходит при фото- и киносъемке из-за движения объектов в кадре в течение времени экспозиции кадра.

В трехмерной же анимации, в каждый конкретный момент времени (т.е. в одном кадре) объекты расположены по определенным координатам в трехмерном пространстве, аналогично виртуальной камере с бесконечно быстрой выдержкой. В результате, смазывание, подобное получаемому камерой и человеческим глазом при взгляде на быстро движущиеся объекты, отсутствует. Это выглядит неестественно и нереалистично. Motion blur также дает четкое представление о скорости и направлении движения объектов.

^ Depth of field (глубина резкости), вкратце, это степень размытости объектов в зависимости от их положения относительно фокусного расстояния камеры.

High Dynamic Range (HDR) в применении к 3D графике - это рендеринг в широком динамическом диапазоне. Динамаческим диапозон в данном случае относится к различным уровням экспозиции. Суть HDR заключается в аккуратном представлении широкого набора уровней интенсивности света, начиная от прямых солнечных лучей и заканчивая самыми темными тенями.
^

Voxel и NURBS


В двумерной графике мы привязывались к понятию «пиксель». В трёхмерной графике, помимо полигонов, образующих поверхность моделируемых объектов, существуют и другие подходы к созданию моделей. Первый из них – это Voxel, или, так называемая, воксельная графика.

Voxel


Воксель – это, по сути, трехмерный пиксель (слово voxel образовано из VOlumized piXEL, то есть «объемный пиксель»). Как и пиксель, он имеет свой цвет. Иногда воксель называют квантом объема. Любой объект в 3D, как из кубиков, составляется из вокселей. Так как каждый воксель передает свой цвет, необходимость в текстурах отпадает. Объекты из вокселей очень просто сделать разрушаемыми – ведь перемещение каждого элемента объекта при, скажем, взрыве рассчитывается по очевидным законам. Воксельные объекты очень просто анимировать – достаточно задать последовательность трехмерных кадров.


Само собой, качество конечной картинки зависит от размера и формы вокселей. Чем они меньше – тем лучше. В идеале, даже в сложных криволинейных поверхностях они вообще не должны быть заметны. Форма вокселей подбирается из соображений производительности. Лучше всего выглядят воксели-сферы. Но их отрисовка довольно требовательна к ресурсам. В первых играх, которые использовали воксельную технологию, они были просто кубиками или даже плоскостями, повернутыми к наблюдателю. Из-за этого порой была заметна зернистость изображения и даже просветы между кубиками.

В целом, воксельное представление трехмерного мира куда более естественно, чем полигональное. Картинка, полученная с использованием этой технологии, будет четкой и красивой. Это в теории. У вокселей есть два существенных недостатка:

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

  • Архитектура графических ускорителей, которая не приспособлена к воксельному представлению.

NURBS


В природе отсутствуют идеально прямые линии и равномерные плоскости, она содержит различной формы и сложности кривые. Поэтому для моделирования растений, деревьев, животных и человека требовался метод, отличный от полигонального. Сокращение NURBS расшифровывается как Non-Uniform Rational B-Spline (Неравномерная рациональная кривая Безье), - это метод представления кривых, который получил дополнительную гибкость за счет узловых точек, находящихся на кривой. Некоторый из этих узлов можно как бы наделить большим весом так, что при изменении его координат, т.е при его перетаскивании в другое место за ним, как за магнитом потянутся другие точки. А если мы используем совокупность кривых, то получаем криволинейную поверхность. Графическая программа после просчета всех уравнений кривых, требуемых для формирования поверхности в заданной области, получает набор точек в трехмерном пространстве, из которых затем формируются полигоны.

В первую очередь NURBS играют громадную роль в автоматизации проектирования (CAD-системы), так как позволяют инженеру или дизайнеру создавать и визуализировать требуемые формы будущего изделия.

Также генерация поверхностей с помощью NURBS широко доступна в пакетах трехмерного моделировнаия. 3D-художник может поставить на поверхность столько опорных точек, сколько захочет, точнее на сколько хватит вычислительных ресурсов и памяти. Если он потом изменит положение одной из этих точек, все остальные точки поверхности будут рассчитаны так, чтобы в поверхности не образовалось разрывов.

К сожалению, для NURBS пока нет аппартного ускорения и поэтому они редко используются в приложениях реального времени, хотя первая попытка интерактивного рендеринга с их помощью была предпринята рабочих станциях компании Silicon Graphics в 1989 году. Именно поэтому NURBS в компьютерных играх в рамках динамической обработки не используются. И, например, редко встречающиеся колыхания одежды или другой ткани обычно просчитаны заранее

3D API


В современных 3D-ускорителях содержится больше транзисторов, чем в центральных процессорах Например, в видеокарте GeForce 8800 GTX их почти 700 миллионов, в то время как у ЦП Intel Core 2 Duo не больше 300 миллионов. У каждой видеокарты есть свой ассемблер и специальные команды, адреса и интерфейсы, через которые им можно управлять. У каждого конкретного ускорителя свои особенности, свои дополнительные команды.

Далеко не факт, что программная последовательность для одного ускорителя будет работать на другом. Поэтому для упрощения программирования графики для GPU существуют 3D API (Application Program Interface - Программные Интерфейсы Приложения). Трехмерные программные интерфейсы приложения выполняют следующие функции:

  • Взаимосвязь с ресурсами CPU и их памяти.

  • Взаимосвязь с драйвером GPU

  • Взаимосвязь с интерфейсом операционной системы, например с Windows API

  • Предоставление библиотечных функций для создания трехмерной сцены

  • Обеспечение через функции библиотеки полного прохождения конвейера рендеринга

OpenGL


OpenGL (^ Open Graphics Library) — это универсальная, аппаратно-независимая библиотека, которая поддерживает разнообразные 3D-объекты и конструкции, начиная с примитивов типа треугольника или линий и заканчивая NURBS.

Основной язык программирования, использующийся в паре с OpenGL – это C/C++, однако существуют адаптации и для других, например Java. Программист, использующий OpenGL, не может ограничится лишь описанием сцены, он должен создавать код, учитывающий многие детали, требуемые для ее рендеринга. От него требуется достаточно глубокое знание этапов визуализации сцены, зато архитектура OpenGL дает возможность реализовывать нестандартные и оригинальные алгоритмы рендеринга.

И еще одна деталь: в OpenGL есть интересный механизм расширений, когда любой желающий может добавить в библиотеку какие-то функции, не реализованные в базовой версии API. Например, какая-нибудь функция расширения компании Nvidia имеет название, которое заканчивается NV. Очень часто наиболее используемые расширения по решению большинства представителей ARB могут быть включены в официальную спецификацию.

Также, начиная с версии 2.0 OpenGL получил встроенное дополнение под названием OpenGL Shader Language, что позволило программисту выбирать между использованием жестко прописанных функций, обеспечивающих работу вертексных и шейдерных блоков конвейера и программируемыми шейдерами.

Важной особенностью OpenGL является кросс-платформенность, она доступна на многих операционных системах серий Mac OS, Windows, Linux, Unix и BSD. Это повлияло на то, что ядро OpenGL не поддерживает никаких функций обработки окон, вывода на экран или устройств ввода, для этого используются дополнительные библиотеки, например GLUT.
^

    Direct3D


Direct3D – это элемент комплексной библиотеки DirectX, разработанной компанией Microsoft для расширения и универсализации мультимедийных возможностей разных версий ОС Windows, начиная с Win95.

Рассматривая различные версии Direct3D, важно упомянуть версию 8.0, которая добавила поддержку шейдерных операций, что в результате вылилось в создание отдельного языка под названием HLSL (High Level Shader Language), доступного в уже в 9-ой версии. Версия же 10, встроенная в операционную систему Vista, позволило сделать также программируемым целиком сам конвейер рендеринга, отсюда и следует унификация шейдерной архитектуры, размытие четких граней между пиксельными и вертексными шейдерами.

Преимущество по части популярности Direct3D перед OpenGL у разработчиков компьютерных игр образовалось в основном за счет исторических факторов: версии Direct3D, начиная с 5-ой были проще в использовании. OpenGL же требовал при создании на нем программы включения всех его элементов, даже если они не поддерживались аппаратно, поэтому приходилось дописывать множество дополнительных процедур.
^

Подготовка к проведению работы


Для начала посмотрим на интерфейс 3DS MAX 2009 Design Edition. Он не сильно отличается от предыдущих версий продуктов компании Autodesk. В сравнении с продуктами компании Adobe он разительно отличается, поскольку, по сути, предназначен для решения задач совершенно другого рода. Интерфейс состоит из нескольких основных блоков:




^ Рис 1 Рабочий блок

Рабочий блок – основной блок в работе с 3DS MAX. Здесь собраны все функции, объекты и скрипты управление объектами этой программы. Через этот блок происходит создание объекта, его модификация, анимация, привязывание объекта к другим, а так же свойства отображения объекта. В этой же панели находятся другие операции и возможности 3DS MAX, такие как: MaxScript и Reactor.
Второй блок – блок быстрого управления объектами. Он находится сверху над рабочей областью и там находятся команды быстрой работы: Undo, Redo, привязка объектов, перемещение, поворот, работа со слоями и материалами.

Третий блок – рабочая область. По сути – это есть область, в которой происходит создание, модификация и отображение объектов и эффектов.

Рабочая область состоит из 4-х полей, каждая из которых отображает соответствующую проекцию сцены: фронтальную, ортогональную, боковую. Виды проекций можно менять. Так же сцену можно рассматривать с разных углов в ортогональной проекции. Такой подход является классическим для начертательной геометрии, где на чертеже отображались 3 проекции и перспективный вид объекта.



^ Рис 2 Рабочая область

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

По традиции, над всеми областями находится меню, которое является основным элементом работы в 3DS MAX.
^

Проведение практического занятия


Как пример простого урока в 3DS MAX, создадим модель гитары. Для этого найдём фотографию необходимой нам гитары и повторим её форму.



^ Рис 3 Моделируемая гитара

Для начала поставим это изображение, как задний план для одной из рабочих областей. Для этого перейдём на рабочую область Top(кликнем на неё) и выберем в меню Views->Viewport Backgroung (горячая клавиша Alt+B). После этого обрисуем деку нашей гитары по контуру линией. Для этого выберем Shapes->Line в рабочем блоке.



^ Рис 4 Shapes в рабочем блоке

После создания кривой её можно модифицировать, для этого перейти в панель модификации и выбрать Selection->Vertex. После этого можно выбирать и модифицировать точки линии и веса кривых Безье. Для перемещения точек и маркеров кривых выберите сверху кнопку Select and Move.



^ Рис 5 Вкладка Modify

После этого нужно выделить получившуюся кривую и применить к ней модификатор Bevel в выпадающем списке Modifiers List и установить параметр Bevel Values->Level 1->Height на 10-15 пунктов. После создания объекта, можно немного сгладить получившиеся углы, применив модификатор TurboSmooth или MeshSmooth.



^ Рис 6 Смоделированная дека гитары

После создания деки, можно перейти к созданию примитивных объектов на поверхности гитары (ручек, тумблеров). Для этого создадим два объекта типа Circle (в панели Shapes, как и раньше). Один круг будет больше, другой – меньше. И создадим линию, как направляющую для объекта. После этого выделим один круг и применим к нему модификатор Loft (Compound objects->Loft).



^ Рис 7 Compound Objects -> Loft

В параметрах Loft выберите Path Parameters->Path и поставьте значение 50. После этого нажмите Get Path и выделите направляющую линию, после этого нажмите Get Shape и выберите меньший круг. Получится ручка.



^ Рис 8 Моделируемая Ручка

Далее – скопируем полученную ручку 4 раза, как у настоящей гитары. Для этого выделите объект, зажмите кнопку Shift и переместите объект в любую из сторон. При таком копировании можно выбрать и количество копий. После создания копий разместите их на деке гитары. Для того, чтобы ручки легли ровно на поверхность применим Allign из блока быстрого управления (сверху). В параметрах выставим Align Position – “Y Position”, Current object – Minimum, Target Object – Maximum.



^ Рис 9 Выравнивание Align

На следующем этапе смоделируем звукосниматели. Для этого воспользуемся пунктом Standard primitives и создадим объект типа Box (параллелепипед). Замечу, что создавать объекты можно как простым протягиванием до нужного размера, так и вводом численных значений с клавиатуры (пункт Keyboard entry). После создания объекта его параметры можно изменять. Так же, при создании необходимых нам объектов воспользуемся примитивом Chamfer Box из пункта Extended Primitives. Для позиционирования воспользуйтесь пунктами Select and Move, Select and Rotate и Select and uniform Scale. Результат будет следующий.



^ Рис 10 Дека гитары с добавленными элементами

После этого, займёмся созданием струнодержателей. Создадим объект типа Box и второй объект, типа Chamfer Box, поместим один над другим, как это показано на рис 11.



^ Рис 11 Элементы Box и Chamfer Box

После этого выберите Box, перейдите в меню Compound objects и нажмите Boolean, после этого нажмите Pick Operand B и выберите Chamfer Box, который расположен над параллелепипедом. В результате мы получим вырез под струны. Таких вырезов нам нужно шесть, поэтому необходимо скопировать их и поместить в соответствующие места на деке.



^ Рис 12 Моделируемые крепления для струн

Всё теми же функциями добавляем гриф гитары. В этом уроке рассмотрены лишь основные моменты моделирования, в реальности для того, чтобы создать что-то более-менее нормальное, необходимо работать над каждым элементом подолгу – чтобы получить гладкий и красивый объект, в общем.



^ Рис 13 Гитара после моделирования

После создания объекта перейдём к его анимации – создадим камеру в соответствующем пункте рабочей панели с пиктограммой камеры. Существуют два типа камер – Free и Target. В данном случае мы возьмём камеру типа Target. У камеры, как и у любого объекта, есть свои параметры: фокусное расстояние, диафрагма (если вы применяете эффект Depth of Field).

Освещение


После этого создадим источник света, в панели ^ Lights. При установке дополнительных рендереров у вас появятся дополнительные источники света. В нашем случае, воспользуемся обычным Target Light. У источников света, в свою очередь, тоже немало параметров: интенсивность, температура, тип теней, форма источника, эффекты от источника.

Текстурирование


На следующем этапе наложим на модель текстуры. Для этого выберем всю гитару целиком и нажмём горячую клавишу «M».



^ Рис 14 Material Editor

В этом пункте меню можно выбрать материалы из коллекции готовых, попробовать создать свои материалы и интегрировать материалы из библиотек. Для нашей гитары возьмём материал Solid Glass (Стекло). И применим его к объекту кнопкой Assign Material To Selection.

Анимация


После этого можно перейти к анимации сцены. 3D Studio Max имеет обширные возможности по анимированию единичных и групп объектов, в нашем случае мы просто заставим двигаться камеру вокруг объекта. Для этого выделим камеру и в панели снизу нажмём кнопку Auto Key. После этого перемещаем бегунок счёта кадров на необходимые позиции и в этих позициях меняем положение камеры. Для того, чтобы камера двигалась вокруг объекта, создадим линию, по которой она будет двигаться. Допустим, это будет простая окружность. Перемещаем её на уровень камеры в соответствующей плоскости так, чтобы окружность охватывала объект. После этого выбираем камеру и кликаем на пункт меню Animation->Constraints->Path Constraint. Как путь выбираем окружность. После такого шага у нас автоматически появляется анимация, состоящая из движения камеры по окружности за определённое кол-во кадров.



^ Рис 15 Keyframes

Красными обозначены ключевые кадры, если перетаскивать их в стороны – то анимация будет происходить раньше или позже, в зависимости от того, в какую сторону был сдвинут ключевой кадр. В принципе, такого рода анимация весьма похожа на Flash, хотя обладает своими особенностями. Для того, чтобы принудительно назначить объекту ключевой кадр – необходимо нажать Set Key, предварительно выбрав нужный вам по положению кадр. В такого рода анимации можно изменять положение и параметры объектов, а так же работать со слоями и прозрачностью в видеоизображении.

Рендеринг


Финальной частью создания анимированного фильма в среде 3DS MAX можно считать Render. Предварительно нужно выбрать, с какого вида будет обрабатываться изображение. После выбора перейдите в окно Rendering->Render Setup (F10) для настройки параметров рендера. В этих настройках можно менять разрешение кадра, количество кадров, эффекты при рендере и сам рендерер. Для того, чтобы создать видео – нужно выбрать Active time segment в блоке Time Output, а так же в блоке Render Output выбрать название и тип файла, который будет служить выходом процесса обработки видео. После этого нажмите большую кнопку Render и отправляйтесь пить чай.



^ Рис 16 Параметры рендера

Стоит отметить, что существуют различные сторонние рендереры, со своими специфическими свойствами. К примеру, обработчик VRay даёт отличную картинку с учётом физических особенностей света. Зато обработка видео в таких рендерерах сводится почти на нет без привлечения огромной производительной мощности.
^

Выводы по результатам работы

Контрольные вопросы


  1. Что такое полигон?

  2. Что такое вертекс?

  3. Шейдеры и их виды.

  4. Anti-aliasing и его алгоритмы.

  5. Voxels и их применениею

  6. NURBS и проблемы их применения.

  7. Функции 3D API.

  8. Достоинства и недостатки Open GL.

  9. Достоинства и недостатки Dirext 3D.

  10. Основные алгоритмы трёхмерной графики.

Учебное издание


^ ТРЁХМЕРНАЯ ГРАФИКА


Составители: КОРОЛЁВ Денис Александрович

СОБОЛЕВСКИЙ Алексей Александрович


Редактор

Технический редактор


Подписано в печать . Формат 60х84/16. Бумага офсетная № 2. Ризография. Усл.-печ.л. 1,1. Уч.-изд.л. 0,9. Изд.¹55. Тираж 75 экз. Заказ . Бесплатно.

Московский государственный институт электроники и математики. 109028, Москва, Б. Трехсвятительский пер. 3/12.

Участок оперативной полиграфии Московского государственного института электроники и математики. 113054, ул. М. Пионерская, 12.





Похожие:

Министерство общего и профессионального образования российской федерации московский государственный институт электроники и математики (Технический университет)  iconМинистерство образования и науки российской федерации московский государственный институт электроники и математики (технический университет)

Министерство общего и профессионального образования российской федерации московский государственный институт электроники и математики (Технический университет)  iconМинистерство образования и науки российской федерации московский государственный институт электроники и математики (технический университет)

Министерство общего и профессионального образования российской федерации московский государственный институт электроники и математики (Технический университет)  iconМинистерство образования и науки российской федерации московский государственный институт электроники и математики (технический университет)

Министерство общего и профессионального образования российской федерации московский государственный институт электроники и математики (Технический университет)  iconПетров Глеб Игоревич
Государственное образовательное учреждение институт электроники высшего профессионального образования Московский Государственный...
Министерство общего и профессионального образования российской федерации московский государственный институт электроники и математики (Технический университет)  iconКовалев Тимофей Антонович
Государственное образовательное учреждение институт электроники высшего профессионального образования Московский Государственный...
Министерство общего и профессионального образования российской федерации московский государственный институт электроники и математики (Технический университет)  iconСтепуро Павел Анатольевич
Государственное образовательное учреждение институт электроники высшего профессионального образования Московский Государственный...
Министерство общего и профессионального образования российской федерации московский государственный институт электроники и математики (Технический университет)  iconФилимонцев Сергей Александрович
Государственное образовательное учреждение институт электроники высшего профессионального образования Московский Государственный...
Министерство общего и профессионального образования российской федерации московский государственный институт электроники и математики (Технический университет)  iconМуравьёв Сергей Андреевич
Государственное образовательное учреждение институт электроники высшего профессионального образования Московский Государственный...
Министерство общего и профессионального образования российской федерации московский государственный институт электроники и математики (Технический университет)  iconТереховский Андрей Григорьевич
Государственное образовательное учреждение институт электроники высшего профессионального образования Московский Государственный...
Министерство общего и профессионального образования российской федерации московский государственный институт электроники и математики (Технический университет)  iconУгрозов Антон Валерьевич
Государственное образовательное учреждение институт электроники высшего профессионального образования Московский Государственный...
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©rushkolnik.ru 2000-2015
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы