Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Репин ЭВ-11(READY)222.docx
Скачиваний:
43
Добавлен:
28.05.2015
Размер:
1.7 Mб
Скачать

1 Понятие трёхмерной графики

Трёхмерная графика (3D (от англ. 3 Dimensions — «3 измерения») Graphics, Три измерения изображения) — раздел компьютерной графики, совокупность приемов и инструментов (как программных, так и аппаратных), предназначенных для изображения объёмных объектов.

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

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

  1. Моделирование — создание трёхмерной математической моделисцены и объектов в ней;

  2. Текстурирование — назначение поверхностям моделей растровых или процедурных текстур(подразумевает также настройку свойств материалов — прозрачность, отражения, шероховатость и пр.);

  3. Освещение — установка и настройка источников света;

  4. Анимация (в некоторых случаях) — придание движения объектам;

  5. Динамическая симуляция (в некоторых случаях) — автоматический расчёт взаимодействия частиц, твёрдых/мягких тел и пр. с моделируемыми силами гравитации,ветра,выталкиванияи др., а также друг с другом;

  6. Рендеринг (визуализация) — построение проекциив соответствии с выбранной физической моделью;

  7. Композитинг (компоновка) — доработка изображения;

  8. вывод полученного изображения на устройство вывода— дисплей или принтер.

Моделирование сцены (виртуального пространства моделирования) включает в себя несколько категорий объектов:

  1. Геометрия (построенная с помощью различных техник (напр., создание полигональной сетки) модель, например здание);

  2. Материалы (информация о визуальных свойствах модели, например цвет стен и отражающая/преломляющая способность окон);

  3. Источники света (настройки направления, мощности, спектра освещения);

  4. Виртуальные камеры (выбор точки и угла построения проекции);

  5. Силы и воздействия (настройки динамических искажений объектов, применяется в основном в анимации);

  6. Дополнительные эффекты (объекты, имитирующие атмосферные явления: свет в тумане, облака, пламя и пр.)

Задача трёхмерного моделирования — описать эти объекты и разместить их в сцене с помощью геометрических преобразований в соответствии с требованиями к будущему изображению.

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

  • Cinema3D;

  • Autodesk [Mudbox], Autodesk 3Dmax studio;

  • Maya;

  • Google SketchUp.

  • Blender

Для создания трехмерной модели человека или существа может быть использована, как прообраз (в большинстве случаев) Скульптура.

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

Текстурирование подразумевает проецирование растровых или процедурных текстур на поверхности трехмерного объекта в соответствии с картой UV-координат, где каждой вершине объекта ставится в соответствие определенная координата на двухмерном пространстве текстуры.Как правило, многофункциональные редакторы UV-координат входят в состав универсальных пакетов трехмерной графики. Существуют также автономные и подключаемые редакторы от независимых разработчиков, например Unfold3D magic, Deep UV, Unwrella и др.

1.1.2 Освещение

Заключается в создании, направлении и настройке виртуальных источников света. При этом, в виртуальном мире источники света могут иметь негативную интенсивность, отбирая свет из зоны своего «отрицательного освещения». Как правило, пакеты 3D графики предоставляют следующие типы источников освещения:

  • Omni light (Point light) — всенаправленный;

  • Spotlight — конический (прожектор), источник расходящихся лучей;

  • Directionallight — источник параллельных лучей;

  • Arealight (Planelight) — световой портал, излучающий свет из плоскости;

  • Photometric — источники света, моделируемые по параметрам яркости свечения в физически измеримых единицах, с заданной температурой накала.

Существуют также другие типы источников света, отличающиеся по своему функциональному предназначению в разных программах трехмерной графики и визуализации. Некоторые пакеты предоставляют возможности создавать источники объемного свечения (Spherelight) или объемного освещения (Volumelight), в пределах строго заданного объёма. Некоторые предоставляют возможность использовать геометрические объекты произвольной формы.

1.1.3 Анимация

Одно из главных призваний трехмерной графики — придание движения (анимация) трехмерной модели, либо имитация движения среди трехмерных объектов. Универсальные пакеты трехмерной графики обладают весьма богатыми возможностями по созданию анимации. Существуют также узкоспециализированные программы, созданные сугубо для анимации и обладающие очень ограниченным набором инструментов моделирования:

  • AutodeskMotionBuilder

  • PMG MessiahStudio

1.1.4 Рендеринг

На этом этапе математическая (векторная) пространственная модель превращается в плоскую (растровую) картинку. Если требуется создать фильм, то рендерится последовательность таких картинок — кадров. Как структура данных, изображение на экране представлено матрицей точек, где каждая точка определена по крайней мере тремя числами: интенсивностью красного, синего и зелёного цвета. Таким образом рендеринг преобразует трёхмерную векторную структуру данных в плоскую матрицу пикселов. Этот шаг часто требует очень сложных вычислений, особенно если требуется создать иллюзию реальности. Самый простой вид рендеринга — это построить контуры моделей на экране компьютера с помощью проекции, как показано выше. Обычно этого недостаточно и нужно создать иллюзию материалов, из которых изготовлены объекты, а также рассчитать искажения этих объектов за счёт прозрачных сред (например, жидкости в стакане).

1.2 Blender

Blender — свободный пакет для создания трёхмерной компьютерной графики, включающий в себя средства моделирования, анимации, рендеринга, постобработки видео, а также создания интерактивных игр. Характерной особенностью пакета Blender является его небольшой размер. Установленный пакет занимает от 30 до 45 МБ. В базовую поставку не входят развёрнутая документация и большое количество демонстрационных сцен.

Функции пакета:

  1. Поддержка разнообразных геометрических примитивов, включая полигональные модели, систему быстрого моделирования в режиме subdivisionsurface (SubSurf), кривые Безье, поверхности NURBS,metaballs (метасферы), скульптурное моделирование и векторные шрифты.

  2. Универсальные встроенные механизмы рендеринга и интеграция с внешним рендерером YafRay, LuxRender и многими другими.

  3. Инструменты анимации, среди которых инверсная кинематика, скелетная анимация и сеточная деформация, анимация по ключевым кадрам, нелинейная анимация, редактирование весовых коэффициентов вершин, ограничители, динамика мягких тел (включая определение коллизий объектов при взаимодействии), динамика твёрдых тел на основе физического движка Bullet, система волос на основе частиц и система частиц на основе волос.

  4. Python используется как средство создания инструментов и прототипов, системы логики в играх, как средство импорта/экспорта файлов (например COLLADA), автоматизации задач.

  5. Базовые функции нелинейного редактирования и комбинирования видео.

  6. GameBlender — под-проект Blender, предоставляющий интерактивные функции, такие как определение коллизий, движок динамики и программируемая логика. Также он позволяет создавать отдельные real-time приложения начиная от архитектурной визуализации до видео игр.

1.2.1 GUI - интерфейс пользователя

Blender имел репутацию программы, сложной для изучения. Практически каждая функция имеет соответствующее ей сочетание клавиш, и учитывая количество возможностей, предоставляемых Blender, каждая клавиша включена в более чем одно сочетание (shortcut). C тех пор как Blender стал проектом с открытым исходным кодом, были добавлены полные контекстные меню ко всем функциям, а использование инструментов сделано более логичным и гибким. Прибавим сюда дальнейшее улучшение пользовательского интерфейса с введением цветовых схем, прозрачных плавающих элементов, новой системой просмотра дерева объектов и разными мелкими изменениями.

Отличительные особенности GUI:

  1. Режимы редактирования. Два основных режима Объектный режим (Objectmode) и Режим редактирования (Editmode), которые переключаются клавишей Tab. Объектный режим в основном используется для манипуляций с индивидуальными объектами, в то время как режим редактирования — для манипуляций с фактическими данными объекта. К примеру, для полигональной модели в объектном режиме мы можем перемещать, изменять размер и вращать модель целиком, а режим редактирования используется для манипуляции отдельных вершин конкретной модели. Также имеются несколько других режимов, таких как VertexPaint и UV Faceselect.

  2. Широкое использование горячих клавиш. Большинство команд выполняется с клавиатуры. До появления 2.x и особенно 2.3x версии, это был единственный путь выполнять команды, и это было самой большой причиной создания репутации Blender’y как сложной для изучения программы. Новая версия имеет более полноеграфическое меню.

  3. Управление рабочим пространством. Графический интерфейс Blender’а состоит из одного или нескольких экранов, каждый из которых может быть разделён на секции и подсекции, которые могут быть любой частью интерфейса Blender’a. Графические элементы каждой секции могут контролироваться теми же инструментами, что и для манипуляции в 3D пространстве, для примера можно уменьшать и увеличивать кнопки инструментов тем же путём, что и в 3D просмотре. Пользователь полностью контролирует расположение и организацию графического интерфейса, это делает возможным настройку интерфейса под конкретные задачи, такие как редактирование видео, UV mapping и текстурирование, и сокрытие элементов интерфейса которые не нужны для данной задачи. Этот стиль графического интерфейса очень похож на стиль, используемый в редакторе UnrealEd карт для игры Unreal Tournament.

Рисунок 1.1 - Главное окно Blender