Научная статья на тему 'Принципы трехмерной графики в программах трехмерного моделирования и системах виртуальной реальности'

Принципы трехмерной графики в программах трехмерного моделирования и системах виртуальной реальности Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1065
90
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМПЬЮТЕРНАЯ ГРАФИКА / ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ / ТРЕХМЕРНАЯ ГРАФИКА И АНИМАЦИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Залогова Людмила Алексеевна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Принципы трехмерной графики в программах трехмерного моделирования и системах виртуальной реальности»

2010

ВЕСТНИК ПЕРМСКОГО УНИВЕРСИТЕТА

Математика. Механика. Информатика Вып.3(3)

УДК 004.92

Принципы трехмерной графики в программах трехмерного моделирования и системах виртуальной реальности

Л. А. Залогова

Пермский государственный университет, Россия, 614990, Пермь, ул. Букирева 15 zalogova.la@gmail.com; (342) 2-396-772

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

Ключевые слова: компьютерная графика; виртуальная реальность; трехмерная графика и анимация.

1. Особенности работы с трехмерным миром

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

В самом названии - "трехмерный" - заложено указание на то, что объект рассматривается в трех пространственных измерениях: ширина, глубина и высота. Все, что нас окружает (стул, стол, здания и т.д.), имеет три измерения. В то же время экранное изображение трехмерных объектов, как и печатное, является всего лишь их двумерным образом. Эти образы на экране выглядят вполне реально благодаря наличию источников света, естественной окраске, присутствию теней и бликов, придающих изображению глубину и делающих его визуально правдоподобным. Таким образом, основная задача пользователя программы трехмерного моделирования -создать сцену - совокупность образов трехмерных объектов.

© Л. А Залогова, 2010

Основным отличием двумерной графики от трёхмерной является полное отсутствие у двумерных объектов координаты глубины. Рисунки на плоскости обладают только шириной и высотой. Даже если плоские объекты будут нарисованы так, чтобы создавалось впечатление наличия у них третьего измерения, любая попытка взглянуть на эти объекты с другой точки наблюдения будет связана с необходимостью перерисовывания этих объектов заново. Поскольку при моделировании трёхмерных объектов появляется координата глубины, то достаточно однажды нарисовать такие объекты, чтобы потом иметь возможность рассматривать их под любым углом зрения, не перерисовывая заново. Именно эта особенность работы с трехмерным миром позволяет проникать внутрь объекта и исследовать его изнутри.

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

Создание виртуальных миров - одно из наиболее интересных направлений информа-

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

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

2. Основные этапы создания трехмерного мира

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

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

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

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

Рассмотрим краткую характеристику каждого этапа создания трехмерного мира.

1. Моделирование

Моделирование - создание формы трехмерного объекта. Для представления объектов, как правило, используются многоугольники (полигоны), которые располагаются таким образом, чтобы образовывать оболочку нужной формы. В ряде случаев для конструирования объекта требуется небольшое количество полигонов. Например, при работе с кубом необходимо отслеживать положение восьми вершин и шести граней. Для более сложных объектов число многоугольников может достигать десятков или тысяч.

2. Наложение материалов

Г еометрические модели определяют формы, которые не имеют поверхностных свойств. Все предметы реального мира состоят из каких-либо материалов (пластмассы, дерева, кирпича, мрамора и др.). Материалы - краски и текстуры, которыми покрываются объекты. Кроме того, материалы определяют поверхностные свойства объектов, такие как шероховатость, блеск, прозрачность. Любая модель будет с высокой степенью достоверности представлять реальные объекты, если ее поверхности придать вид некоторого материала.

3. Расстановка источников света

Освещение - процесс расстановки источников света таким образом, чтобы вид сцены точно соответствовал замыслу. Освещение придает сцене ощущение объемности и реальности, так как источники света способны создавать тени, когда их лучи падают на объекты. На сцене источник света аналогичен осветителю при фотографировании в фотостудии.

Расстановка источников света и настройка их параметров подразумевает экспериментирование методом проб и ошибок. К примеру, освещение интерьера является достаточно сложной задачей и предполагает использование нескольких источников для создания специальных подсветок и бликов. С другой стороны, наружное освещение зданий моделируется достаточно просто. В этом случае необходим единственный источник, имитирующий солнце.

4. Установка камер

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

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

5. Визуализация

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

дальнейшем может быть обработано любым редактором растровой графики, например AdobePhoshop.

Реализация этапа визуализации требует умения программировать на языках высокого уровня (например, С++); владения навыками использования графических библиотек (OpenGL, DirectX или др.), а также знаниями в таких областях, как численные методы, линейная алгебра, аналитическая геометрия и математический анализ. Пользователю программ трехмерного моделирования не требуется реализовывать алгоритмы визуализации. Эта задача решается специальным программным обеспечением. Однако понимание цели визуализации и способов ее достижения важно для успешного освоения процесса создания трехмерного мира.

6. Анимация

Компьютерная анимация - любые динамические изменения искусственно созданного изображения. Анимация изображений достигается за счет показа на экране последовательности кадров со скоростью, достаточной для создания иллюзии плавного движения. Этот принцип полностью аналогичен тому, который используется в рисованной мультипликации.

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

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

в реальном времени, например, для интерактивных систем виртуальной реальности.

3. Особенности работы в программах трехмерного моделирования и системах виртуальной реальности

Этапы создания мира в программах трехмерного моделирования и системах виртуальной реальности имеют свои отличительные особенности. Программы трехмерного моделирования, как правило, используются для построения реалистических изображений высокого качества, напоминающих фотографии. Поэтому на их создание требуется достаточно длительное время. Исследование же виртуального мира должно выполняться в реальном времени.

1. Моделирование

В программах трехмерного моделирования (3D Studio MAX, Maya, Blender) используется множество способов создания моделей объектов. В простейшем случае объекты строятся из примитивов (кубов, сфер, конусов, цилиндров, плоскостей и т.д.). После того, как объект создан, его можно перемещать, вращать, масштабировать, копировать, зеркально отражать и т.д. В случае необходимости применяют модификаторы - функции изменения формы объекта. Например, для хаотического перемещения вершин объекта с образованием впадин и бугров используется модификатор "Шум". Если применить его к плоскости, то получится модель ландшафта. Интересные эффекты возникают в результате использования модификаторов "Изгиб", "Скрутка" и др. Многие объекты создаются на основе сплайнов (линий, окружностей, текста, многоугольников и др.). Например, с помощью сплайнов можно создать выдавливаемые объекты или объекты вращения. Булевские объекты получаются в результате объединения двух или более трехмерных объектов по принципам булевой алгебры. Для построения таких объектов применяют три типа логических операций: объединение, пересечение и исключение. Более сложные объекты можно создавать с помощью кусков поверхности Безье. Кусок (patch) поверхности Безье состоит из двух частей: собственно поверхности и решётки деформации. Решетка деформации в свою очередь является совокупностью связанных между собой управляющих точек, окружающих поверхность куска Безье. Переме-

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

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

2. Материалы

Программы трехмерного моделирования и системы виртуальной реальности предоставляют возможность создания собственных стандартных материалов, которые придают объекту вид ровного куска пластика. Сходство стандартных материалов с поверхностями объектов реального мира достигается благодаря использованию различных параметров.

Диффузное отражение - это основной цвет материала объекта; именно этот цвет на-

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

Объекты можно закрашивать или тонировать с различными уровнями качества за счет применения различных моделей закраски.

Модель закраски определяет, каким образом алгоритм визуализации будет интерпретировать цвета материалов и бликов на поверхности объекта. При использовании закраски многоугольников вычисляется цвет одной из точек, расположенных на грани, и принимается за цвет всей грани. Закраска Гуро визуализирует объекты со сглаживанием окраски граней, так как в этом случае вычисляется цвет каждого пикселя; при этом объект выглядит гладким, несмотря на фактическое наличие граней в геометрической модели. В заскраске Фонга сохраняется сглаживание рёбер между гранями, как и в закраске Гуро, однако добавляется формирование зеркальных бликов, которые придают объекту блестящий или глянцевый вид. Эта модель хорошо подходит для раскрашивания любых типов пластиковых или блестящих поверхностей. Металлическая закраска подобна модели Фонга, но при этом поверхность приобретает металлический блеск. Блики и блеск в этой модели усиленно подчеркиваются.

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

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

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

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

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

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

Текстуры - узкое место при создании виртуальных миров. При просмотре сцены в браузере не воспроизводятся процедурные текстуры, а также эффекты зеркального отражения, преломления и рельефности. В то же время в окне браузера видны эффекты блеска и прозрачности. Использование текстур приводит к значительному снижению пропускной способности сети при передаче больших графических файлов с высоким разрешением. Для уменьшения времени загрузки мира необходимо искать всевозможные пути уменьшения файлов текстур. Поэтому следует применять 16-битовые цветовые палитры или текстуры из оттенков серого цвета. Многократное использование одной текстуры сокращает время, необходимое для отображения виртуального мира. В результате экспериментов с освещением и цветом нередко удается найти приемлемые и эффективные альтернативы текстурам, что в свою очередь повышает пропускную способность каналов связи.

3. Расстановка источников света

Изображение модели объекта, которому присвоен подходящий материал, не будет прав-

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

Можно настраивать параметры источников света, такие как цвет и яркость. В программах трехмерного моделирования источники света способны создавать тени, когда их лучи падают на объекты. Тени на основе карты теней имеют мягкие размытые края и в ряде случаев могут оказаться не очень точными. Поэтому они используются, как правило, для быстрой визуализации и предварительного просмотра изображения. Построение теней методом трассировки лучей позволяет получить четкие, резко очерченные тени, точно воспроизводящие контур объекта. Этот метод требует больших вычислительных затрат, что существенно снижает скорость визуализации.

Следует учитывать, что при просмотре виртуального мира в браузере не отображаются тени, падающие от освещенных объектов. Это в свою очередь может привести к нереалистическим эффектам. Однако тень можно создать искусственно путем наложения полупрозрачных геометрических объектов. Кроме этого, в браузере не видны такие оптические эффекты, как объёмное освещение и сияние.

4. Установка камер

Важнейшие параметры камеры: точка камеры, точка нацеливания, фокусное расстояние объектива.

Точка камеры аналогична местоположению фотографа в процессе реальной фотосъёмки, а точка нацеливания - той части пространства, куда нацелен объектив фотоаппарата. Фокусное расстояние теоретически может быть любым, но на практике используется отрезок от 15 до 200 мм. Вид сцены рассчитывается по специальным алгоритмам с учетом выбранного фокусного расстояния. Чтобы показать объект крупным планом, можно воспользоваться длиннофокусным объективом (85-200 мм). Если требуется показать большое пространство, в котором расположено несколько предметов, то предпочтительно применение короткофокусного объектива (15-24 мм). Вместо значения фокусного расстояния нередко задаётся поле зрения объектива (field of view - FOV) - угол при вершине конуса или пирамиды видимости, однозначно определяющий все, что будет наблюдаться через объектив с заданным фокусным расстоянием.

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

5. Анимация

В программах трехмерного моделирования используется покадровая анимация, основанная на ключевых (опорных или наиболее важных) кадрах. Идея метода ключевых кадров заключается в следующем. Сначала задаются новые значения параметров объекта в ключевых кадрах. В зависимости от вида объекта такими параметрами являются высота, ширина, угол поворота, местоположение, коэффициент масштабирования и т.д. Затем

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

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

изображениями высокого качества. Поэтому заранее неизвестно, в какой точке пространства будет находиться путешественник в каждый конкретный момент времени.

Список литературы

1. Мэрдок. К.Л. 3ds Max 2010. Библия пользователя. Киев: Диалектика, 2010. 1296 с.

2. Кундерт-Гиббс Дж., Ларкинс М., Дерак-шани Д., Кузендорф Э. Освоение Autodesk Maya 8.5. Киев: Диалектика, 2007. 928 с.

3. Аврамова О.Д. Язык VRML: практ. руководство / МИФИ. М., 2000. 288 с.

4. URL: http://b3d.mezon.ru / index.php / Blender Basics 3-rd edition.

3D Grapics princeples in 3D modeling programs and virtual reality systems

L. A. Zalogova

Perm State University, Russia, 614990, Perm, Bukireva st., 15 zalogova.la@gmail.com; (342) 2-396-772

3D Graphics principles are analyzed for 3D modeling programs and virtual reality systems.

Key words: computer graphics; virtual reality; three-dimensional graphics and animation.

i Надоели баннеры? Вы всегда можете отключить рекламу.