Виды трехмерной компьютерной графики
Что если я скажу, что мир не настоящий, а хорошо проработанная компьютерная графика, помещенная в виртуальную реальность? Тогда создатель этого мира по праву может считать себя богом. Звучит как сюжет фантастического фильма? Дайте CG десяток лет, и фантазии превратятся в пугающую реальность.
Однако, уже сейчас освоив компьютерную графику вы сможете использовать ее для веб-дизайна, 3D-игр, 3D-печати, анимации, виртуальной реальности, архитектурной визуализации, эффектов для кино и многого другого. В этой статье мы разберем основы компьютерной графики и ответим на два важных вопроса: “С чего начать?” и “Какой софт использовать?”. Сосредоточьтесь, мы начинаем.
Компьютерная графика или по другому CG — Computer Graphics разделяется на двумерную и трехмерную. Хоть статья в основном о 3D графике, скажу пару слов о 2D.
Двумерную графику обычно разделяют на векторную и растровую, хотя отдельно называют еще и фрактальный тип обособления изображений, говорить о котором мы не будем. Это тема отдельной статьи.
Векторная графика — представляет из себя набор геометрических примитивов, например: точки, прямые, окружности, прямоугольники. На страницах web-сайтов вектор можно увидеть в качестве шрифтов, иконок, логотипов. Вектор может без потерь масштабироваться, поворачиваться, деформироваться, также имитировать трехмерную графику, чем не может похвастаться растровая графика, которая берет за основу пиксели.
Растровая графика — всегда оперирует матрицей пикселей. Каждому пикселю сопоставляется значение яркости, цвета, прозрачности или комбинация этих значений. В растровом виде представимо любое изображение, однако этот способ хранения имеет свои недостатки: больший объём памяти, необходимый для работы с изображениями, потери при редактировании. Как пример растра — любые картинки, изображения, фотографии.
Это все очень интересно, теперь у вас есть базовое понимание о двумерной графике, которое пригодится веб-дизайнерам, 2D аниматорам, художникам. А теперь перейдем к графике будущего.
Независимо от того, в какой области вы хотите развиваться, базовое понимание 3D необходимо во всех, и то, что вы узнаете в одной области, часто можно применить в другой. Скажем, вы смоделировали персонажа. Можно нацепить на него скелет и анимировать, чтобы создать короткометражный мультик или же экспортировать его в игровой движок как персонажа. Его можно напечатать на 3D принтере, внедрить в виртуальную реальность, или просто сделать красивой отрендеренной картинкой. Так что начало работы с любой из этих областей требует базового понимания 3D. И что же это за основы? Ну, их можно сформулировать так:
1. Моделирование — самая популярная технология создания объектов в трехмерной графике — создание полигональной сетки. Это значит, что объект описывается вершинами, соединяющими их ребрами и гранями. То есть любой персонаж игры или кино — геометрическая фигура, состоящая из множества граней. По простому вы создаете сетку и деформируете, пока она не примет форму вашего объекта.
2. Текстурирование — создание текстур и материалов, чтобы поверхность выглядела реалистично при рендере. К этому же пункту относится Шейдинг — указание какие участки модели должны обладать оптическими эффектами: матовость или глянцевость.
3. Свет — настройка освещения для создания приятного финального изображения при рендере. Ничто не будет выглядеть естественно, если оно освещено примитивными источниками света. В играх используются точечные источники света, параллельные — для имитации условно бесконечно удаленных источников вроде Солнца и эмбиент — то есть просто подсветка без конкретно расположенного источника и, соответственно, теней. И глобальное освещение со множественными отскоками виртуальных фотонов — позволяющее критически добавить сцене реалистичности ценой десятка кликов и значительного увеличения времени рендера.
4. Анимация — создание скелета и анимирование.
Вот и все основные пункты. Думаю, для начала этого будет достаточно. К нашему списку еще можно добавить еще два пункта, которые ближе к работе с видео и кино.
5. Композ — многослойный монтаж, который используется для объединения всего съемочного материала в кадре.
6. Симуляция частиц — система точек в виртуальном пространстве. Сами по себе они не имеют визуальной составляющей, но таковую можно навесить поверх.
Частички полезны в системах, когда они как-то взаимодействуют с другими частичками рядом. В зависимости от правил этого взаимодействия, система частиц может вести себя похожим на воду, огонь, песок, желе, снег и еще много каким образом, подчиняясь заданным в симуляции силам и взаимодействуя с объектами в сцене. Например, эффекты магии в фентезийных фильмах созданы как раз на основе симуляции частиц.
Представим, что нам нужно создать магический меч для MMO игры. Моделируем путем деформации сетки, накладываем текстуру и добавляем свет. Теперь мы можем распечатать его на принтере или отрендерить в картинку. Меч двигается? Ну, это MMO, там всякое бывает. Допустим, создали скелет, анимаровали. Нужен магический эффект? Используем симуляцию. Упаковать это все в красивый трейлер — композ. Анимированный меч
Так что вот, с чего начать — с изучения основ. Теперь следующий вопрос. Он довольно непростой. Какое программное обеспечение мне использовать? Некоторые говорят, что нужно использовать то, что использую крупные студии, но в индустрии нет какого-либо определенного стандарта.
Вопрос становится еще более пугающим из за обилия вариантов. Компания Blizzard использует 3ds max, Maya, Zbrush, Mudbox. Disney — Maya и Zbrush. Некоторые студии вроде Pixar используют созданный внутри студии софт, который недоступен общественности. Для первых этапов в компьютерный графике нужен софт, который прост в освоении и не сильно дорогой. Думаю, в этом случае лучше всего подойдет программа Blender. Она распространяется по бесплатной лицензии, а скачать ее можно даже в steam.
Мы ищем обширные художественные и технические навыки, а не способность запускать программы.
Чтобы стать хорошим специалистом в CG потребуется освоить много сложной, но не менее интересной информации. Вот небольшая подборка интернет ресурсов, которые могут вам помочь:
Компьютерная графика уже очень очень востребованная сфера, а в будущем станет еще более востребованной. Читайте книги по моделированию, смотрите видео (благо таких предостаточно). И когда-нибудь в будущем сможете создать свой мир с блэкджеком и анимированными мечами.
Компьютерная графика, это такое научно-технологическое направление, которая занимается задачами по созданию, обработке и хранению изображений с помощью компьютера и его аппаратных и программных возможностей. Изображения на ПК хранятся в виде двоичного кода - координат, колера цвета, обозначенного в какой-либо цветовой модели. Сегодня мы поговорим о том, какие виды компьютерной графики существуют…
5 видов компьютерной графики
Способы отображения иллюстраций на экране выделяются по следующим типам:
- Двухмерная (2D);
- Векторная;
- Растровая;
- Фрактальная;
- Трехмерная (3D).
Что такое двухмерная графика
Двухмерная графика – это, простая картинка, которая выглядит плоской, вследствие того, что в нем применяются только два измерения – ширина и высота. Несмотря на подобный вид у иллюстрации можно добиться объема с помощью света и теней, но не реалистичности, за исключением фотографий. 2D рисунки обычно используют для создания логотипов, макетов веб-сайтов, рекламных баннеров, интерфейсов, мультипликации и кинематографа.
Векторная графика
Векторный рисунок можно представить в облике элементарных геометрических объектов: точки, прямые, кривые, окружности, многоугольники, и т.д. Фигурам присваиваются какие-либо качества, например, толщина линий, цвет заливки. Для создания иллюстраций используются формулы и координаты. К примеру, чтобы нарисовать треугольник нужно указать его вершины, цвет заполнения и обводку. Для сложных рисунков используют набор геометрических фигур, которые собираются вместе как аппликация из бумаги на уроке труда в начальной школе, но при этом сохраняется возможность в дальнейшем редактировать получившеюся картинку.
Преимуществами векторной графики считаются:
- Малый объем занимаемой памяти на ПК;
- Трансформация и масштабирование без потери качества;
- Выглядит всегда одинаково, независимо от характеристик устройства отображения.
Отрицательными сторонами векторов являются:
- Невозможность представления всех изображений с помощью примитивов;
- Трудоемкий процесс перевода растровых изображений в векторные;
- Отсутствие автоматического ввода;
- Проблемы с совместимостью программ просмотра и создания.
Векторные картинки широко востребованы на предприятиях, занимающихся проектированием, конструкторских бюро, в рекламных агентствах, типографиях, и т. д. Графические редакторы, работающие с данным иллюстрациями, являются: Adobe Illustrator, Corel Draw, AutoCad, ArhiCad.
Растровая графика
Растровые изображения представляет из себя, нечто, похожее на клетчатый лист бумаги, где одна клетка, это одна точка–пиксель, а образуемые ими строки и столбцы собираются в матрицу (растр). У каждого пикселя свой цвет и место, где он расположен. В комплексе, все пикселе образуют изображение.
Растровые изображения обладают следующими характеристиками:
- Разрешение – количество пикселей, приходящихся на единицу площади;
- Размер – ширина и высота в пикселях;
- Цветовое пространство – метод отображения цветов в координатах какой-либо цветовой системы;
- Глубина цвета – наибольшее количество оттенков цветов, которое может содержать изображение.
К плюсам растра относится:
- Реалистичность;
- Возможность автоматизированного ввода информации;
- Быстрая обработка трудных иллюстраций;
- Адаптивность под всевозможные устройства и программы просмотра.
К минусам растровых изображений можно отнести следующее:
- Большой размер занимаемой памяти;
- Невозможность деформации и масштабирования без потери качества.
Фрактальная графика
Во фрактальной графике реализован принцип наследования геометрических качеств, передающихся от одного элемента к другому. Основана данная модель на математических вычислениях (формулах) и так как детализированного описания мелких составляющих не требуется, то обрисовать такой объект можно несколькими уравнениями, результаты которых в дальнейшем машина отображает автоматически, и не требует хранения в памяти компьютера каких-либо объектов. Фрактальный принцип отображения графики нашел широкое применение во многих областях компьютерной графики, науки и искусства. Фракталы широко применяются в растровой, векторной и 3D графике. Можно отметить несколько программ для генерирования фракталов: Fractal Explorer, Apophysis, Mandelbulb3D.
Трехмерная графика
Трехмерная графика работает с объектами в трёхмерном пространстве – ширина, высота и глубина. Предметы моделируются и перемещаются в виртуальном пространстве и могут быть рассмотренными под различным углом.
Трехмерные модели могут быть двух типов:
- Полигональная – совокупность вершин, ребер и граней, которые определяют форму многогранного объекта, обволакивая пустое 3D пространство;
- Воксельная – совокупность элементов объемного изображения, содержащая значение растра, которые выкладываются в объёмные модели объектов, имеющие внутренности.
Трехмерная графика встречается повсеместно и используется в создании изображений во всевозможных областях деятельности человека: машиностроение, архитектура, дизайн интерьера, реклама, игровая и кино индустрия, интерактивные обучающие проекты. Можно выделить следующие редакторы: 3ds Max, Autodesk Maya, Cinema 4D, Blender.
Но так или иначе есть только один способ визуализации – это растр, т. к. любой монитор выводит изображение только в таком виде. А визуализация графики бывает только 2 типов – растровая и векторная, ибо 3D существует только в нашем воображении.
Все мы слышали о 3D графике (далее просто 3D, не путать со способом отображения — голограммами, 3D-мониторами и т.п.), многие прекрасно знают, что такое 3D и с чем его едят. Но, все же, есть и те, кто смутно себе представляет, что кроется под этой короткой аббревиатурой. Статья рассчитана на тех, кто не имеет представления о компьютерной графике. Также будет немного экскурса в историю компьютерной графики (в следующих планируемых частях).
Почему именно 3D? Как нетрудно догадаться, речь идет о 3 Dimension, или о трех измерениях. И не обязательно при этом, чтобы и отображение было в 3D. Речь идет о способе построения картинки.
Часть 1. Собственно, моделирование
Традиционно рисуют в 2D (по осям X и Y) — на бумаге, холсте, дереве и т.п. При этом отображают какую-то одну из сторон предмета. Картинка сама по себе плоская. Но если мы хотим получить представление обо всех сторонах предмета, то необходимо нарисовать несколько рисунков. Так поступают в традиционной рисованной анимации. Но, вместе с тем, существует, (кстати, в СССР была довольно хорошо развита) т.н. кукольная анимация. Один раз изготовленную куклу снимают в необходимых позах и ракурсах, получая серию «плоских картинок». 3D (к X и Y добавляется координата глубины Z) визуализация — это те же «куклы», только существующие в цифровом виде. Другими словами, в специальных программах (Blender, 3ds Max, Maya, Cinema 4D и т.п.) создается объемное изображение, например авто.
Преимущество данного метода в том, что в распоряжении, скажем, аниматора есть объемная модель, необходимо лишь поместить ее должным образом в кадр, анимировать (задать траекторию передвижения или рассчитать с помощью симулятора) при необходимости, а уж отображение авто в финальной картинке ложится на специальную программу называемую визуализатором (render). Еще одно преимущество в том, что модель достаточно нарисовать один раз, а потом использовать в других проектах (скопировав), изменять, деформировать и т.п. по своему усмотрению. Для обычного 2D рисунка, в общем случае, такое невозможно. Третье преимущество — можно создавать практически бесконечно детализированные модели, например смоделировать даже винтики на часах и т.п. На общем плане этот винтик может быть и неразличим, но стоит нам приблизить камеру, программа-визуализатор сама рассчитает, что видно в кадре, а что — нет.
Существует несколько способов моделирования, но самым популярным является полигональное моделирование. Нередко можно увидеть в роликах о 3D или фантастических фильмах как тот или иной объект представляется в виде т.н. сетки. (см. рисунок выше) Это и есть пример полигонального моделирования. Суть его в том, что поверхности представляются в виде простых геометрических двумерных примитивов. В компьютерных играх это треугольники, для других целей обычно используют четырехугольники и фигуры с большим кол-вом углов. Эти примитивы, из которых состоит модель, называют полигонами. Но при создании 3D объекта стараются обойтись, как правило, четырехугольниками. При необходимости четырехугольники (полигоны) без проблем превращаются в треугольники при экспорте в игровой движок, а при необходимости сглаживания или тесселяции модель из четырехугольников получается, как правило, без артефактов.
Что такое тесселяция? Если какой-то объект представляется в виде полигонов (особенно органические объекты, например человек), то понятно, что чем меньше размер полигонов, чем их больше, тем более близкой может быть модель к оригиналу. На этом основан метод тесселяции: сначала изготавливают грубую болванку из небольшого кол-ва полигонов, затем применяют операцию тесселяции, при этом каждый полигон делится на 4 части. Так вот, если полигон четырехугольный (а еще лучше, близок к квадрату) то алгоритмы тесселяции дают более качественный и предсказуемый результат. Также операция сглаживания, а это та же тесселяция, только с изменением углов на более тупые, при близких к квадрату полигонах, позволяет получить хороший результат.
Вот, на сегодня пока и все. Комментарии, а особенно вопросы и замечания по существу приветствуются.
Под понятие 3D-графики можно отнести двухмерные изображения с элементами объема, который придается за счет работы с освещением и другими элементами, создающими на экране визуальную иллюзию. Еще к 3D-графике относятся полноценные трехмерные модели, создаваемые в специальных программах и применяемые в играх, кинематографе и мультипликации.
Далее я предлагаю детальнее остановиться на этом типе графики, разобраться во всех ее тонкостях, характеристиках и принципах создания при помощи современных технологий.
Что такое 3D-изображение
Для начала остановимся на 3D-изображениях и поймем, что вообще делает их трехмерными и какие типы картинок можно отнести к этой категории. Если при просмотре изображения вы можете описать ширину и высоту, но не наблюдаете глубины, значит, это двухмерная графика. Значки на рабочем столе и указатели на улицах – все это относится к 2D-графике (за некоторым исключением, когда художник использует тень или другие приемы, чтобы сделать картинку объемной). 3D-изображение обязательно обладает глубиной, то есть является объемным. Простой пример такой графики вы видите на следующем изображении:
Если нарисовать квадрат, представив только основные его четыре линии, это будет двухмерная модель. Но если немного повернуть квадрат, дорисовать грани и вершины, получится куб, являющийся объемным элементом, а значит, к нему относится характеристика 3D-модели.
История развития 3D
Полноценное представление 3D-элементов на экране мир увидел в короткометражном фильме «A Computer Animated Hand», вышедшем в 1972 году. На скриншоте ниже вы видите то, как аниматоры смогли спроектировать человеческую руку и анимировать ее на экране.
Это дало сильный толчок в развитии анимационных технологий и применении подобных эффектов в кинематографе. Одним из первых фильмов, в котором зритель мог увидеть анимацию человеческого лица, считается «Futureworld», вышедший в 1976 году. Сразу после этого трехмерная графика начала прогрессировать очень быстро. Появились специальные программы, кинокомпании стали набирать сотрудников соответствующих должностей и реализовывали самые разные эффекты в своих проектах. Обладатели персональных компьютеров уже в начале 80-х годов могли скачать программу под названием 3D Art Graphics, которая включала в себя набор различных трехмерных объектов и эффектов.
Создание трехмерной графики
Как же работает трехмерная графика на компьютерах и на какие этапы делится ее создание?
3D-моделирование. На компьютере создается модель, в точности передающая форму объекта, который нужно представить. Это может быть любой предмет, животное или человек. В общем, все, что нас окружает. Существует несколько видов трехмерного моделирования, каждый из которых имеет свои особенности и принципы, но сейчас не будем вдаваться в эту тему. Если хотите, можете ознакомиться с такими программами, как Blender или 3Ds Max, чтобы узнать, как трехмерные объекты рисуются при помощи программ.
Сценарий и анимация. Модели всегда размещены на сцене и необходимы для выполнения определенного действия: перемещения, разрушения или передачи любого другого эффекта. Для расположения объектов на сцене и их анимирования может использоваться та же программа, которая применялась и для моделирования, но иногда разработчики обращаются к другому софту. Анимации тоже бывают разными, например, сейчас особо популярен захват движения (когда программа считывает движения человека и передает их на трехмерную фигуру).
Рендеринг. Завершающий процесс работы над проектом. Подразумевает обработку цветов, типов поверхности, освещения и всех других параметров сцены. Для обработки необходим мощный компьютер, способный быстро считывать кадры и выдавать на экран необходимый результат.
3D-моделирование
В рамках этой статьи остановимся только на 3D-моделировании, поскольку именно этот процесс и является основной трехмерной графики. Вы уже знаете, что для выполнения данной операции используется специальный софт. Аниматор может взаимодействовать как с отдельными геометрическими фигурами и точками, преобразовывая их в необходимый объект, так и с одной болванкой, доводя ее до необходимой формы (как скульптор в реальной жизни).
Изначально модель имеет серый цвет, поэтому обязательным этапом является наложение текстур и материалов. В крупных компаниях этим занимается специально обученный человек, получивший заготовку от 3D-моделировщика. Он по эскизам или специальным шаблонам накладывает на модель различные элементы, имитирующие волосы, ткань или типы поверхностей. Это и делает 3D-модель похожей на настоящую.
Тему можно развивать бесконечно, поскольку 3D-графика обладает огромным множеством интересных особенностей, которые делают индустрию такой сложной и высокооплачиваемой. Кинокомпании тратят миллионы долларов на создание моделей и эффектов, которые в реальной жизни повторить проблематично и еще более затратно. Сейчас при помощи 3D-графики создаются практически все современные игры и мультфильмы.
Читайте также: