Трёхмерная графика — раздел компьютерной графики, посвящённый методам создания изображений или видео путём моделирования объёмных объектов в трёхмерном пространстве.
3D-моделирование — это процесс создания трёхмерной модели объекта. Задача 3D-моделирования — разработать визуальный объёмный образ желаемого объекта. При этом модель может, как соответствовать объектам из реального мира (автомобили, здания, ураган, астероид), так и быть полностью абстрактной (проекция четырёхмерного фрактала).
Применение трёхмерной графики
Трёхмерная графика активно применяется для создания изображений на плоскости экрана или листа печатной продукции в науке и промышленности, например, в системах автоматизации проектных работ (САПР; для создания твердотельных элементов: зданий, деталей машин, механизмов), архитектурной визуализации (сюда относится и так называемая «виртуальная археология»), в современных системах медицинской визуализации.
Самое широкое применение — во многих современных компьютерных играх, а также как элемент кинематографа, телевидения, печатной продукции. Трёхмерная графика обычно имеет дело с виртуальным, воображаемым трёхмерным пространством, которое отображается на плоской, двухмерной поверхности дисплея или листа бумаги. В настоящее время известно несколько способов отображения трёхмерной информации в объемном виде, хотя большинство из них представляет объёмные характеристики весьма условно, поскольку работают со стереоизображением. Из этой области можно отметить стереоочки, виртуальные шлемы, 3D-дисплеи, способные демонстрировать трёхмерное изображение. Несколько производителей продемонстрировали готовые к серийному производству трёхмерные дисплеи. Но, чтобы насладиться объёмной картинкой, зрителю необходимо расположиться строго по центру.
Создание трёхмерной графики
Для получения трёхмерного изображения на плоскости требуются следующие шаги:
моделирование — создание трёхмерной математической модели сцены и объектов в ней;
текстурирование — назначение поверхностям моделей растровых или процедурных текстур (подразумевает также настройку свойств материалов — прозрачность, отражения, шероховатость и пр.);
освещение — установка и настройка источников света;
анимация (в некоторых случаях) — придание движения объектам;
динамическая симуляция (в некоторых случаях) — автоматический расчёт взаимодействия частиц, твёрдых/мягких тел и пр. с моделируемыми силами гравитации, ветра, выталкивания и др., а также друг с другом;
рендеринг (визуализация) — построение проекции в соответствии с выбранной физической моделью;
композитинг (компоновка) — доработка изображения;
вывод полученного изображения на устройство вывода — дисплей или специальный принтер.
Рассмотрим каждый шаг подробнее.
Моделирование (виртуального пространства моделирования) включает в себя несколько категорий объектов:
Геометрия (построенная с помощью различных техник (напр., создание полигональной сетки) модель, например, здание);
Материалы (информация о визуальных свойствах модели, например, цвет стен и отражающая/преломляющая способность окон);
Источники света (настройки направления, мощности, спектра освещения);
Виртуальные камеры (выбор точки и угла построения проекции);
Силы и воздействия (настройки динамических искажений объектов, применяется в основном в анимации);
Дополнительные эффекты (объекты, имитирующие атмосферные явления: свет в тумане, облака, пламя и пр.)
Задача трёхмерного моделирования — описать эти объекты и разместить их в сцене с помощью геометрических преобразований в соответствии с требованиями к будущему изображению. Назначение материалов: для сенсора реальной фото-камеры материалы объектов реального мира отличаются по признаку того, как они отражают, пропускают и рассеивают свет; виртуальным материалам задается соответствие свойств реальных материалов — прозрачность, отражения, рассеивания света, шероховатость, рельеф и пр.
Наиболее популярными пакетами сугубо для моделирования являются:
Pixologic Zbrush;
Autodesk Mudbox, Autodesk 3D max;
Robert McNeel & Assoc. Rhinoceros 3D;
Google SketchUp;
Blender;
Компас (САПР).
Для создания трёхмерной модели человека или существа может быть использован прообраз (в большинстве случаев) Скульптура.
Текстурирование
Текстурирование подразумевает проецирование растровых или процедурных текстур на поверхности трёхмерного объекта в соответствии с картой UV-координат, где каждой вершине объекта ставится в соответствие определённая координата на двухмерном пространстве текстуры.
Как правило, многофункциональные редакторы UV-координат входят в состав универсальных пакетов трёхмерной графики. Существуют также автономные и подключаемые редакторы от независимых разработчиков, например, Unfold3D magic, Deep UV, Unwrella и др.
Освещение
Заключается в создании, направлении и настройке виртуальных источников света. При этом в виртуальном мире источники света могут иметь негативную интенсивность, отбирая свет из зоны своего «отрицательного освещения». Как правило, пакеты 3D-графики предоставляют следующие типы источников освещения:
Omni light (Point light) — всенаправленный;
Spot light — конический (прожектор), источник расходящихся лучей;
Directional light — источник параллельных лучей;
Area light (Plane light) — световой портал, излучающий свет из плоскости;
Photometric — источники света, моделируемые по параметрам яркости свечения в физически измеримых единицах, с заданной температурой накала.
Существуют также другие типы источников света, отличающиеся по своему функциональному назначению в разных программах трёхмерной графики и визуализации. Некоторые пакеты предоставляют возможности создавать источники объемного свечения (Sphere light) или объемного освещения (Volume light), в пределах строго заданного объёма. Некоторые предоставляют возможность использовать геометрические объекты произвольной формы. Специалисты советуют начинать с одного основного источника света, а остальные добавлять постепенно - по одному, в зависимости от показаний тестового рендера.
Анимация
Одно из главных призваний трёхмерной графики — придание движения (анимация) трёхмерной модели, либо имитация движения среди трёхмерных объектов. Универсальные пакеты трёхмерной графики обладают весьма богатыми возможностями по созданию анимации. Существуют также узкоспециализированные программы, созданные сугубо для анимации и обладающие очень ограниченным набором инструментов моделирования:
Autodesk MotionBuilder
PMG Messiah Studio
Рендеринг
На этом этапе математическая (векторная) пространственная модель превращается в плоскую (растровую) картинку. Если требуется создать фильм, то рендерится последовательность таких картинок — кадров. Как структура данных, изображение на экране представлено матрицей точек, где каждая точка определена, по крайней мере, тремя числами: интенсивностью красного, синего и зелёного цвета. Таким образом рендеринг преобразует трёхмерную векторную структуру данных в плоскую матрицу пикселов. Этот шаг часто требует очень сложных вычислений, особенно если требуется создать иллюзию реальности.
Самый простой вид рендеринга — это построить контуры моделей на экране компьютера с помощью проекции. Обычно этого недостаточно, и нужно создать иллюзию материалов, из которых изготовлены объекты, а также рассчитать искажения этих объектов за счёт прозрачных сред (например, жидкости в стакане).
Наиболее популярными системами рендеринга являются:
PhotoRealistic RenderMan (PRMan)
Mental ray
V-Ray
FinalRender
Brazil R/S
BusyRay
Turtle
Maxwell Render
Fryrender
Indigo Renderer
LuxRender
YafaRay
POV-Ray
4. Программное обеспечение
3D-моделирование фотореалистичных изображений.
Программные пакеты, позволяющие создавать трёхмерную графику, то есть моделировать объекты виртуальной реальности и создавать на основе этих моделей изображения, очень разнообразны. Последние годы устойчивыми лидерами в этой области являются коммерческие продукты, такие, как:
Autodesk 3ds Max
Autodesk Maya
Autodesk Softimage
Blender
Cinema 4D
Houdini
Modo
LightWave 3D
Caligari Truespace
а также сравнительно новые Rhinoceros 3D, Nevercenter Silo и ZBrush.
Среди открытых продуктов, распространяемых свободно, числится пакет Blender (позволяет создавать 3D-модели, анимацию, различные симуляции и др. c последующим рендерингом), K-3D и Wings3D.
SketchUp
Бесплатная программа SketchUp компании Google позволяет создавать модели, совместимые с географическими ландшафтами ресурса Google Планета Земля, а также просматривать в интерактивном режиме на компьютере пользователя несколько тысяч архитектурных моделей, которые выложены на бесплатном постоянно пополняемом ресурсе Google Cities in Development (выдающиеся здания мира), созданные сообществом пользователей.
Blender — свободный, профессиональный пакет для создания трёхмерной компьютерной графики, включающий в себя средства моделирования, анимации, рендеринга, постобработки и монтажа видео со звуком, компоновки с помощью «узлов» (Node Compositing), а также для создания интерактивных игр. В настоящее время пользуется наибольшей популярностью среди бесплатных 3D редакторов в связи с его быстрым и стабильным развитием, которому способствует профессиональная команда разработчиков.
Список использованной литературы
Дж. Ли, Б. Уэр. Трёхмерная графика и анимация. — 2-е изд. — М.: Вильямс, 2002. — 640 с.
Д. Херн, М. П. Бейкер. Компьютерная графика и стандарт OpenGL. — 3-е изд. — М., 2005. — 1168 с.
Э. Энджел. Интерактивная компьютерная графика. Вводный курс на базе OpenGL. — 2-е изд. — М.: Вильямс, 2001. — 592 с.
В. П. Иванов, А. С. Батраков. Трёхмерная компьютерная графика / Под ред. Г. М. Полищука. — М.: Радио и связь, 1995. — 224 с. — ISBN 5-256-01204-5.