Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КУРСОВАЯ 2016.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
37 Мб
Скачать
☆

1.2. Основные инструменты 3d программы. Blender 3d.

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

Для начала нужно выделить ряд основных программных пакетов, поставляемых различными разработчиками в данной отрасли и кратко их рассмотреть. Самой знаменитой и распространенной программой для 3D моделирования и анимации является 3D Max от компании Autodesk (рис. 13). Данное программное обеспечение выпускается на коммерческой основе и используется в основном в профессиональных целях в крупных компаниях, которые занимаются производством разнообразных мультимедийных продуктов для широких масс. Так же 3D Max используют в художественных и дизайнерских целях стандартные пользователи, но в силу стоимости его чаще всего обходят стороной в угоду бесплатным аналогам, например таким, как Blender 3D, который будет представлен позже.

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

Рис. 13. Autodesk 3D Max.

Следующей самой известной профессиональной коммерческой программой для создания трехмерных моделей является Zbrush от Pixologic. Несмотря на то, что данное программное обеспечение позволяет создавать простейшие 3D модели из примитивных фигур, с последующей их визуализацией с помощью функции рендера, используется она в основном для “лепки” высокополигональных моделей и их ретопологией в сторонних 3D пакетах. Здесь не просто так употреблено именно слово “лепка”, так как главной особенностью и достоинством этой программы является возможность “лепить” с помощью определенного инструментария различные трехмерные объекты, используя при этом обычные примитивы для начальной болванки (рис. 14).

Теперь стоит поговорить о бесплатных пакетах программного обеспечения. Из малого количества программ некоммерческого характера в лидеры, несомненно, выходит Blender 3D от Blender Foundation (рис. 15). Кроме того, что в пакете по умолчанию представлен полностью доступный и бесплатный функционал, данная программа является довольно простой в освоении и весьма гибкой в использовании, как для профессионалов, так и для начинающих. Так как данная программа доступна абсолютно всем пользователям и ее внутренняя составляющая не уступает коммерческим конкурентам, следует уделить ей больше внимания и на ее примере изучить состав инструментария, который используется в создании трехмерных изображений.

Рис. 14 Рис. 15

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

Для начала выделим основные этапы создания 3D изображения [12]:

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

  2. Текстурирование – назначение готовым моделям процедурных и растровых текстур (в данный этап также входит настройка материалов – отражений, фактурности, прозрачности).

  3. Освещение сцены – установка и последующая настройка источников освещения в сцене.

  4. Рендеринг – другими словами визуализация готовой сцены, настройка камеры, перспективы, композиции.

  5. Композитинг – финальная обработка готового трехмерного изображения, цветокоррекция, правка формата и композиции.

Теперь остановимся на каждом из них поподробнее. Моделирование объектов в сцене представляет собой создание его геометрии, то есть назначения координат точек на определенные позиции посредством задания самих координат, либо визуального редактирования с помощью инструментов перемещения в рабочем окне программы. Данные точки называются вертексами и из них состоят полигоны – четырех- или трех- угольные плоскости, из которых строится модель объекта. Степень детализации объекта зависит от самого пользователя и количества, использованных им полигонов при создании трехмерной модели [12] (Рис. 16).

Рис. 16. Пример редактирования модели стандартного примитива – Куба.

Когда нужная пользователю геометрия объекта была построена, начинается этап текстурирования. После немного монотонной работы с моделированием этот этап представляет собой свободную, творческую часть процесса создания 3D объекта. Текстурирование проходит в несколько основных этапов: создания швов развертки вашей готовой модели на отдельные группы полигонов, создания самой развертки с учетом искажения текстурного изображения на поверхности объекта и наложении самой текстуры и ее составляющих с помощью специальных координат, к которым будет привязано изображение, обычно используется UV тип развертки. UV – это тип преобразования координат или развертка в 3D графике, которая обеспечивает соответствие координат на самой трехмерной модели (X, Y, Z) координатам на текстуре (U, V) [12] (рис.17).

Рис. 17. Примеры UV текстурирования.

Далее следует настройка материала объекта, в которую так же входит создание карт (процедурных текстур, о которых упоминалось выше) отражений - Specular Map, рельефа – Normal Map, а также самого растрового изображения текстуры – Deffuse Map (рис. 18). Обычно данные карты генерирует сама программа, ссылаясь на высокополигональную модель и просчитывая световые преломления, но если требуется создать их с растрового изображения, не используя высокополигональную модель, можно использовать графические редакторы, например Adobe Photoshop и редактировать их вручную. Для примера можно привести результат генерации процедурных текстур с исходного растрового изображения.

Рис. 18. Specular Map, Normal Map, Deffuse Map.

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

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

Рис. 19. Визуализация материала с помощью рендера Cycles в Blender 3D.

Далее происходит работа с освещением, а именно расстановка источников света по периметру сцены. Обычно настройка материала и света происходит одновременно, что позволяет добиться нужного эффекта на исходной картинке. Свет в сцене помогает пользователю выгодно показать смоделированный объект с нужных сторон. Данный этап создания трехмерных изображений один из самых важных за весь ход работы, так как хорошее освещение поможет исправить большинство ошибок, сделанных в процессе моделирования в силу недостатка мастерства пользователя. Во всех 3D редакторах существует несколько типов “ламп”, которые позволяют варьировать способы освещения, например в Blender их пять: Lamp –испускает световые лучи во все стороны; Sun – источник направленного света, имеющий параллельные лучи, которые соответственно образуют параллельные тени; Spot – лампа, которая представляет собой точечный источник света, схожий с реальным, например прожектором; Hemi – лампа, которая не использует какую-либо технологию генерации теней и нужна для придания сцене общего цветового оттенка; Area – похож на сочетание Lamp и Spot, которое образует мягкие, красивые тени, самый реалистичный способ освещения, но требует большего времени визуализации [8, Раздел “Освещение”] (Рис. 20).

Рис. 20. Источники освещения.

Рис. 20. Источники освещения.

Рендеринг и Композитинг - это заключительные этапы в создании 3D изображения. Прежде чем приступить непосредственно к рендеру или, другими словами, процедурной визуализации, следует определить в каком формате будет происходить кадрирование исходной картинки. Для этого в абсолютно всех 3D пакетах имеется инструмент под названием “Камера”, размещая которую в определенном положении на сцене, где находится моделируемый объект, пользователь определяет для себя в каком ракурсе будет показана его сцена. Также, настраивая инструмент “Камера”, пользователь может использовать множество различных эффектов, включая глубину резкости изображения, изгиб линзы и дальность прорисовки объектов. После того как сцена полностью настроена и удовлетворяет пользователя, начинается сам процесс рендера – просчета теней, освещения, материалов и так далее. Время обработки зависит от количества ресурсов, которыми обладает персональный компьютер. Когда все готово, изображение сохраняется на жесткий диск и, по желанию, подвергается графической обработке, то есть композитингу в сторонних редакторах, таких как Adobe Photoshop, Gimp или любой другой графический редактор.

В некоторых программах большинство данных операций можно производить намного быстрее и удобнее, не открывая при этом огромное количество окон и вкладок. К примеру, в такой программе как Blender 3D имеется система нод – функциональных связок, которые несут в себе ту или иную функцию программы и могут уместить всю работу с текстурами и материалами в одном месте, облегчая при этом работу с проектом. В единственном специальном окне пользователь может создать “дерево” из различных нод, попутно смешивая или добавляя новые ответвления.

Рис. 21. Простая система нод, составляющая материал объекта на сцене.

На примере приведенной стандартной системы нод можно увидеть ее составляющие (рис. 21). В начале каждой основной ветви есть входная нода, которая определяет тип работы с объектом. В данном случае это работа со свойствами материала и шейдерами, которые определяют выходные параметры модели или изображения, в зависимости от задачи. Входная нода Image Texture, представленная в примере определяет изображение текстуры, которую пользователь назначает своей модели, и вектор ее наложения (как говорилось выше, в основном это UV координаты). Далее из нее выходит ответвление к первому типу шейдера – Diffuse BSDF (Рассеянный). Этот тип имеет свойства, при которых он принимает свет, полученный от источников в сцене, и распространяет его без видимых отражений на другие объекты поблизости. Вдобавок имеет функцию регулирующую шероховатость материала, что позволяет производить более тонкую настройку. Этот шейдер с помощью функции смешивания Mix Shader соединяется в общую ветку с Glossy BSDF (Глянцевый). Данный тип, напротив, сильно отражает окружающее пространство и добавляет отражения к модели. Так же имеет регулирование шероховатости, помимо набора типов отражения. Перед выходной нодой к общему материалу примешивается шейдер прозрачности Transparent BSDF (Прозрачный). И в итоге все это объединяется посредством выходной ноды Material Output, которая также как и входная определяет тип работы с материалом [14].

Технология нодов в настоящее время существует в большинстве 3D пакетов, так как позволяет добиться впечатляющих результатов в достижении реализма в трехмерном изображении. Например, если взять такой простой пример, как керамическая кружка, то в реальности она не будет обладать одним свойством материала. Помимо отражения света она будет также его и рассеивать в пользу своей шероховатости, поэтому при достижении результата следует объединять шейдеры Diffuse и Glossy посредством Mix Shader (рис. 22). А такой, казалось бы, простой материал, как стекло не только пропускает через себя свет, но и частично его поглощает и рассеивает (рис. 23).

Благодаря гибкости инструментария Blender 3D может стать хорошим подспорьем для любых проектов, в которых используется трехмерная графика. Большой набор различных шейдеров, таких как Glass BSDF (свойства стекла с симуляцией преломления), Velvet BSDF (свойство бархатной ткани), Subsurface Scattering (шейдер имитирующий рассеивание света под поверхностью объекта), Volume Absorption (влияние на объем материала с постепенным поглощением освещения), Volume Scatter (тип рассеивания света, используемый при симуляции дыма или пара) и так далее, используемых в различных комбинациях может дать впечатляющий результат, все зависит только от фантазии пользователя [14].

Рис. 22. Пример керамического материала. Рис. 23. Пример материала стекла.

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

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

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