VRБлог 

Общие принципы создания виртуальной реальности

Большинству пользователей Всемирной Паутины, так или иначе, известен редактор трёхмерной графики под названием 3ds Max или, как он именовался раньше, 3d Studio MAX. Этот программный пакет позволяет строить модели различных объектов в трёхмерном пространстве и создавать на их основе художественные произведения, путём показа таких объектов с разных сторон, как это происходит в реальном мире, при съёмке чего-либо фото- или видеокамерой. Вследствие этого, сцены, содержащие такие, смоделированные на компьютере, объекты и именуются виртуальной реальностью.

Однако, мало кто, за исключением специалистов, профессионально работающих в 3ds Max, представляет, на каких принципах построено функционирование этой программы. Об этих принципах и пойдёт речь.

Для начала, надо осознать, что не только 3ds Max, но и все существующие программы для работы с трёхмерной компьютерной графикой ближе к векторной двухмерной графике, а не пиксельной, которая ещё нередко именуется растровой. Почему же так происходит, если существует трёхмерный аналог пикселя, под названием воксель? Потому что мощности существующих компьютеров, во всяком случае, персональных, не хватает для хоть сколько-то эффективной работы с воксельной трёхмерной графикой. Ведь тот же 3ds Max представляет собой чрезвычайно ресурсоёмкую программу, которая способна нормально функционировать отнюдь не на каждом современном ПК.

Итак, что же представляют собой модели, созданные в 3ds Max? Как правило, готовые модели представляют собой структуру, называемую полигональной сеткой. Аналогом такой сетки в реальном мире можно считать каркас палатки, на который натянут тент. Точно также и виртуальные объекты состоят из рёбер, которые ограничивают плоские многоугольные поверхности, именуемые полигонами. Исходя из сказанного выше, нетрудно понять, что, например, сфера, на самом деле, состоит из большого числа таких полигонов. Причём, чем полигонов больше, тем сфера выглядит более качественной.

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

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

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

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

Однако надо учитывать, что видео такого уровня создать на домашнем ПК нельзя. Совсем нельзя, ибо каким бы ПК ни был мощным в своём классе, он слишком слаб для подобных задач. Статические картинки, впрочем, получить можно, но, как уже было сказано выше, ценой многочасовой визуализации.
Именно так и делается, в тех случаях, когда, к примеру, строительная компания пытается показать заказчикам «фото» ещё не построенного дома или интерьер ещё не отремонтированной комнаты.

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

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

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

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

Комментарии

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.