-------------------------------------------------------------------------------------------------
Пользовательские настройки графики
Любая компьютерная игра имеет свои технически характеристики графики. Их работа и возможность настройки зависят как от самой графики, так и от движка и компьютера. Чтобы понимать, как правильно подобрать графику под возможности вашей игры и сделать ее максимально удобной необходимо понимать эти технические характеристики хотя бы на уровне обычного пользователя. Этих знаний достаточно для создания небольшой flesh -игры. При разработке масштабных игровых проектов, в особенности высококачественных offline игр, онлайн игр или игр для консолей конечно же этих знаний недостаточно, но для общего понимания стоит изучить азы.
Самые базовые характеристики, которые есть абсолютно в любой графике независимо от ее качества и проработанности: разрешение, FPS , производительность. Все остальные настройки зависят от используемого типа графики и движка. Если говорить о тех же мини-играх, настройки их графики почти всегда ограничиваются еще парой пунктов. Более глобальные и хорошо проработанные проекты обладают намного большим количеством параметров, в том числе и тех, что отвечают за качество сложной анимации.
Не все графические характеристики подлежат настройке, часть из них невозможно изменить, не правя саму программу. Их количество зависит в первую очередь от самой графики и от настроек, предусмотренных производителем. В тех же flesh-играх чаще всего у графики есть всего пара настроек, например: качество графики(обобщенное изменение настроек), освещенность, качество анимации. Иногда настройки графики и вовсе отсутствуют. При проектировании игры необходимо заранее продумывать возможности изменения графики.
Пройдем по самым основам:
Разрешение – формат изображения, количество строк и столбцов пикселей на экране. Пиксель – основная единица цифрового изображения. В зависимости от полученной информации о необходимом изображении пиксель «зажигается» необходимым цветом, таким образом из множества пикселей мы получаем копию изначального объекта на экране. От разрешения зависит и качество воспроизводимой картинки, поэтому его необходимо правильно настраивать под монитор.
Наиболее распространенные сейчас разрешения для дисплеев 16/9: 1280x720 (720p), 1920x1080 (1080p), 2560x1440 (1440p) и 3840 x 2160 (4K или «Ultra-HD»). Для более широких экранов это соотношение меняется. Первое число в разрешение указывает на количество пикселей по горизонтали, второе - по вертикали. Зачастую разрешения пишут в сокращенном виде указывая только количество вертикальных пикселей, обозначая это как например: (1080 p ).
Frames per second или сокращенно FPS . FPS как следует из самого названия – количество кадров воспроизводимых в секунду. Чем лучше воспроизводимая графика – тем ниже FPS . Варьируется он от 1 до 100 кадров в секунду, при этом все что ниже 30, считается довольно низким, если говорить об онлайн играх и в особенности шутерах. При слишком низком FPS кадры начнут повторяться и наслаиваться, таким образом появится эффект торможения или наоборот «телепортации», если какие-то из кадров окажутся пропущенными.
Соответственно если графика игр слишком детальная, это может привести к проблемам с FPS . В таком случае либо необходимо упрощать графику / добавлять возможности ее снижения игроком, либо учитывать, что игра рассчитана на относительно мощные системы. Довольно редко в игры встраиваются специальные программы, стабилизирующие FPS .
Когда цикл обновления дисплея не синхронизирован с циклом рендеринга игры (обновление графического кадра), экран может обновляться в процессе переключения между готовыми кадрами. Получается эффект разрыва кадров, когда мы видим части двух или более кадров одновременно.
Вертикальная синхронизация не позволяет воспроизводить новые кадры, пока не обновится дисплей. Таким образом проблема смещения пропадает, однако появляется задержка FPS . В некоторых случаях рассинхронизация происходит в обратном порядке, когда частота кадров падает ниже частоты обновления дисплея. В таком случае намного полезнее будет адаптивная верхняя синхронизация.
Сглаживание (Anti-aliasing)
Aliasing в терминологии разработчиков – «эффект лесенки». Такое происходит, когда границы пикселей отображаются на дисплее создавая своими гранями прерывистые линии границ каждого отдельного изображаемого объекта. Таким образом картинка получается более грубой. Соответственно, чем ниже разрешение монитора, тем более «кубичным» будет изображение.
Как пример рассмотрим сглаживание – суперсэмплинг. Эта технология отрисовывает кадры с более высоким разрешением, чем у экрана, а затем сжимает их обратно до его размера.
Взгляните на пиксели крыши. Она оранжевого цвета. Тут же и пиксель голубоватого неба. Находясь рядом, они создают жесткий зубчатый переход от крыши к небу. Но если визуализировать сцену с четырехкратным разрешением, вместо одного пикселя оранжевой крыши на этом же месте будут четыре пикселя. Некоторые из них будут оранжевыми, некоторые «небесными». Стоит взять значение всех четырех пикселей, как получится нечто среднее — если по такому принципу построить всю сцену, переходы станут мягче и «эффект лестницы» пропадет.
Такова суть технологии. Но, она требует от системы очень много ресурсов. Ей приходится отрисовывать каждый кадр с разрешением в два или более раз больше, чем оригинальное разрешение экрана. Даже в случае с нашими топовыми видеокартами суперсэмплинг с разрешением 2560х1440 кажется нецелесообразным. К счастью, есть альтернативы:
Мультисэмплинг (MSAA): Эффективнее суперсэмплинга, но все еще прожорлив. В старых играх он был стандартом.
Усовершенствованный мультисэмплинг (CSAA): более эффективная версия MSAA от Nvidia для ее видеокарт.
Усовершенствованный мультисэмплинг (CFAA): тоже апгрейд MSAA , только от компании AMD для ее карт.
Метод быстрого приближения (FXAA): вместо анализа каждого отдельного пикселя, FXAA накладывается в качестве фильтра постобработки на всю сцену целиком после ее рендеринга. FXAA также захватывает места, которые пропускаются при включении MSAA . Хотя сам метод быстрого приближения тоже пропускает много неровностей.
Морфологический метод (MLAA): он свойственен видеокартам AMD и тоже пропускает этап рендеринга. MLAA обрабатывает кадр, выискивая алиасинг и сглаживая его. Как нам объяснил Николас Вайнинг: «Морфологическое сглаживание работает с морфологией (паттернами) неровностей на краях моделей; оно вычисляет оптимальный способ удаления лесенок для каждого вида неровностей путем разбиения краев и зубцов на небольшие наборы морфологических операторов. А затем использует специальные типы смешивания для каждого отдельного набора». Включить MLAA можно в панели управления Catalyst.
Улучшенное субпиксельное морфологическое сглаживание (SMAA): еще один вид постобработки, в котором сочетаются детали MLAA, MSAA и SSAA . Такой метод можно совмещать со SweetFX , а многие современные игры поддерживают его изначально.
Временное сглаживание (TAA или TXAA): TXAA изначально разрабатывалась для графических процессоров Nvidia уровня Kepler и более поздних. Но затем появились не настолько специфические формы временного сглаживания, которые обычно обозначаются, как TAA . При таком способе следующий кадр сравнивается с предыдущим, после чего обнаруживаются и устраняются неровности. Происходит это при поддержке разных фильтров, которые уменьшают «ползающую лесенку» в движении.
Николас Вайнинг объясняет: «Идея TAA заключается в ожидании того, что два идущих друг за другом кадра будут очень похожи, ведь пользователь в игре двигается не настолько быстро. Поэтому раз объекты на экране переместились несильно, мы можем получить данные из предыдущего кадра, чтобы дополнить участки, нуждающиеся в сглаживании».
Многокадровое сглаживание (MFAA): появилось с релизом графических процессоров Maxwell от Nvidia. Тогда как MSAA работает с устойчивыми шаблонами, MFAA позволяет их программировать. Представители Nvidia подробно объясняют технологию в видео ниже (о нем мы уже говорили раньше и очень скоро вы его увидите).
Суперсэмплинг с глубоким обучением (DLSS): новейшая технология Nvidia, доступная лишь в некоторых играх и с видеокартами GeForce RTX . По словам компании: «DLSS использует нейронную сеть для определения многомерных особенностей визуализированной сцены и интеллектуального объединения деталей из нескольких кадров для создания высококачественного финального изображения. DLSS использует меньше сэмплов, чем TAA , при этом избегая алгоритмических трудностей с прозрачностями и другими сложными элементами сцен».
Другими словами, DLSS справляется с задачей лучше и эффективнее, чем TAA , но технологию нужно отдельно готовить к каждой игре. Если не обучить ее должным образом, многие места окажутся размытыми.
В настройках сглаживания вы часто видите значения: 2x, 4x, 8x и т.д. Эти цифры рассказывают о количестве используемых образцов цвета и, как правило, чем больше число, тем точнее будет сглаживание (при этом оно потребует больше системных ресурсов).
Фильтрация текстур следит за тем, как двухмерные картинки накладываются на трехмерную модель. Пиксель на трехмерной модели не обязательно будет соответствовать пискелю на текстуре (кстати, на трехмерных моделях пиксели называются текселями). Ведь вы наблюдаете за моделью на разных расстояниях и под разными углами. Поэтому, когда нужно узнать цвет пикселя, фильтрация находит точку на соответствующей текстуре, берет несколько сэмплов из близлежащих текселей и усредняет их. Простейший метод фильтрации — билинейная фильтрация, которая выбирает четыре ближайших текселя, чтобы найти цвет нужного пикселя.
Появилось MIP- текстурирование и вместе с ним возникла новая проблема. Допустим, вы стоите на поверхности из треснувшего бетона. Если посмотрите прямо вниз, увидите большую, детальную бетонную текстуру. Но когда посмотрите вдаль, где дорога уходит в горизонт, вы увидите лишь пару пикселей, и особая детализация там не нужна. Поэтому, чтобы повысить производительность без потери качества, игра подгрузит текстуру более низкого разрешения, именуемую MIP- текстурой.
Так вот, когда мы рассматриваем нашу дорогу, не особенно хочется видеть, где одно MIP- изображение заканчивается, а другое начинается, потому что их качество различается и переход будет резать глаз. Билинейная фильтрация не интерполирует (не сглаживает) переходы, поэтому с этим типом фильтрации они заметны. Проблема решается при помощи трилинейной фильтрации, сглаживающей переход между MIP- текстурами, используя сэмплы каждой из них.
Анизотропная фильтрация
Трилинейная фильтрация работает, но текстуры все еще кажутся размытыми. Вот для чего была изобретена анизотропная фильтрация, которая значительно улучшает качество текстур при взгляде под углом.
Состав графики и ее виды
-------------------------------------------------------------------------------------------------
Основной элемент компьютерной графики – текстуры. В зависимости от вида и качества графики используется разное количество текстурных слоев. Из них можно выделить 6 наиболее часто используемых:
Color map – абсолютно плоское цветовое RGB изображение объекта. В 2D графике это единственная применяемая текстурная карта. По сути эту карту можно представить, как шкалу на которой каждый из цветов имеет свое значение, рассчитанное из соотношений основных цветов карты. Пример на изображении.
Различные типы color map имеют разные спектры цветов, некоторые из них:
- Высота - цветовая карта, где цвета постепенно изменяются от голубого к пурпурному и до черного.
- Оттенки серого - цветовая карта, где цвета постепенно изменяются от черного до белого.
- NDVI - цветовая карта для визуализации растительности. Значения, близкие к нулю – голубые. Низкие значения – коричневые. Затем цвета плавно переходят от красного к оранжевому, желтому, зеленому и до черного, по мере изменения индекса растительности от низкого до высокого.
- NDVI2 - цветовая карта для визуализации растительности. Низкие значения варьируют от белого до зеленого. Затем цвета плавно переходят от серого к пурпурному, фиолетовому, темно-голубому и до черного, по мере изменения индекса растительности от низкого до высокого.
- NDVI3 - цветовая карта для визуализации растительности. Значения, близкие к нулю – голубые. Затем цвета плавно переходят от красного к оранжевому, зеленому, по мере изменения индекса растительности от низкого до высокого.
- Произвольный - случайная цветовая карта.
Сразу же стоит немного рассказать о наиболее распространенных цветовых моделях:
RGB - наиболее популярная цветовая модель, которая воспроизводит цвет на экране, складывая красный, зеленый и синий . Устанавливается зависимость между специальными параметрами для трех цветов, такие как яркость и интенсивность, и выражаются в цифровых значениях от 0 – самого темного до 255 – самого светлого. При сложении в конечном цвете учитываются именно эти параметры. В данной модели цвет является вектором в трехмерной системе координат, образуя куб, внутри которого «расположены» все возможные цвета. Модель RGB применяется для телевизоров, мониторов, разных экранных панелей.
CMY (K ) - В модели CMY используют цвета RGB, отраженные от белой бумаги – голубой, малиновый и желтый и противоположны красному, зеленому и синему соответственно. Цвет формируется на белом фоне и в равных числовых значениях трех цветов получается черный. Модель CMY используется в полиграфии и цветных принтерах. Но из-за больших затрат краски и получения при печати вместо черного грязного коричневого, в модель ввели ключевой цвет (K) – черный – в этом и различие моделей. Появилась четырехцветная модель CMYK.
HSB - Предыдущие модели были ориентированы на цветопередающую аппаратуру, но из-за иного цветовосприятия человеком в реальной жизни создали модель НSB. Ее особенность – создание визуально интуитивных оттенков насыщенности и яркости. Система представлена в виде координат цилиндрической формы. Добавление белого уменьшает насыщенность, а добавление черного уменьшает яркость.
Normal map - это технология, используемая для имитации неровностей поверхности на объекте. При ее использовании изображение фактически становится 3D . Таким образом карта нормалей перестраивает цветовую карту, добавляя к ней дополнительно ось распределения координат цветовой единицы. В такой схеме ось X отвечает за положение право/лево, ось Y за верх/низ и ось Z за направление прямо от поверхности, т.е. глубину.
Gloss map – карта матовости поверхности. Она определяет какие участки должны быть глянцевыми, а какие соответственно матовыми. Схема карты изображается как черно-белое поле пикселей, каждая ячейка которого имеет свое значение. Чем более темный сегмент – тем больше его значение приближено к абсолютной зеркальности, чем светлее – к матовой структуре.
Transmission map – карта глубины. Другими словами, она отображает положение объекта в пространстве соответственной ему сцены, насколько близко он находится к камере/наблюдателю.
Fuzz map – создает дополнительные мелкие текстуры. Зачастую используется для создания растительности, текстиля или неровных поверхностей, в создаваемые ею объекты входит, например: трава, волосы, поверхность наждачной бумаги.
Однако fuzz map служит лишь для создания «над-текстур», текстур, наложенных на уже существующие, не имеющие своего собственного положения в сцене изображения. Для исправления этой проблемы существует дополнительный слой:
Occlusion map – на первый взгляд довольно похожа на карту глубины. На ней отображается каким образом свет распределяется по объекту, создает объем глубинных текстур. Например рассмотрим объект – человеческую голову, а вернее прическу. Все предыдущие текстуры создают ее общие формы, наиболее выраженные углубления и цветовое наполнение. Occlusion map в свою очередь пристраивает схему освящения причёски таким образом, что бы оно было не равномерным на всю модель, а отдельно распределялось на ее части в зависимости от их глубины относительно самого объекта.
-------------------------------------------------------------------------------------------------
Еще один важный элемент графики – тени. Они кажутся довольно простым и незначительным элементом, однако имеют огромное значение в создании реалистичного изображения. Хотя сами по себе тени и правда не являются сложным графическим элементом, ведь они представляют собой лишь корректное затемнение пикселей по очертаниям объекта. Однако для их правдоподобности этого недостаточно.
Soft shadow – технология размытия и интенсивности тени в зависимости от положения источника света. Фактически она вычисляет положение источника, математически рассчитывает интенсивность и в связи с ней определяет какая часть из этого света доходит до каждой точки падения тени.
-------------------------------------------------------------------------------------------------
В список наиболее важных элементов так же входит освещение. Типов освещения и их взаимодействия с объектами изображения довольно много, но не которые из них можно выделить как часто используемые:
Screen space god rays - это более «дешёвый» способ отображения солнечных лучей. Самый главный минус этого метода в том, что лучи находятся в пространстве экрана, если смотреть на источник освещения. Отводя камеру от источника света, лучей будет не видно и эффект объема пропадёт.
Volumetric light создаёт эффект объема сцены, лучи при повороте камеры не исчезают. Из-за этого такой метод предоставляет более красивую картинку, но при этом жертвуя производительностью.
Global illumination — это название ряда алгоритмов, используемых в трёхмерной графике для более реалистичной имитации света. Глобальное освещение рассчитывает не только прямое освещение, но и отражения света, цветовые отскоки.
-------------------------------------------------------------------------------------------------
Так же стоит упомянуть об отражениях. Они довольно тесно связаны с текстурным слоем gloss map . Однако она лишь задает поверхности отражающие окружающие его объекты, но не определяет качество отражения. Для этого существуют специальные технологии.
Cube map — методика для моделирования отражений на поверхности объекта. Кубические карты не показывают динамику, а это значит, что детали и персонажи не будут отображены при таком методе отражения.
Screen space reflections — отражения, построенные по принципу трассировки лучей в пространстве экрана. Главные минусы таких отражений, это артефакты (сбой пикселей) по краям экрана и исчезновение отражения при повороте камеры вниз или вверх.
Planar reflection – довольно дорогой метод, т.к. фактически создает копию уже существующей анимированной сцены. По сути он дублирует изображение со всеми деталями и анимацией и накладывает его на отражающую поверхность.
На этом список основных элементов графики можно закончить, хотя он далеко не полон. Все прочие элементы служат для создания более красочного и реалистичного мира, например: подповерхностное рассеивание, внутренние свечение и так далее, однако они не являются столь значимыми и без них возможно создать качественную графику.
-------------------------------------------------------------------------------------------------
Двухмерная графика представляет собой плоскую картинку и имеет два измерения – ширину и высоту. Соответственно имеет только 1 текстурный слой. Объема добиваются художественной игрой теней и света. Часто используется для производства макетов, логотипов, баннеров, интерфейсов. Двухмерная графика представлена растровой, векторной и фрактальной графикой.
Растровая графика - самый распространенный вид. Он проще всего воспринимается человеческим глазом, что безусловно дает ему преимущество перед другими вариантами, однако и у него есть свои минусы. Растр – совокупность пикселей, образующих сетку/матрицу. Таким образом растровое изображение (растр) собирается из множества пикселей каждый из которых имеет свой цвет, единую картинку они создают благодаря тому, что сами пиксели очень малы и границы между ними нам почти не видны. Его можно представить в виде вышивки крестиком, где каждый «крестик» и есть пиксель. К слову, характеристику растрового изображения – их расположение и размер - называют разрешением. Такой вид графики весьма реалистичен и быстро воспроизводится на экране, однако он занимает большое количество памяти, а при масштабировании и сбоях разрешения очень сильно страдает качество изображения.
Векторная графика. Легко провести сравнение с раскраской или рисованию по точкам. Вектор - изображение состоящие из точек и простроенных по ним линий, таким образом составляются фигуры, которые заливаются предусмотренным цветом. Таким образом для постройки векторной графики необходимо указать координаты точек – края изображения, через них будут автоматически проведены линии. Этот вид графики занимает небольшое количество памяти и приспосабливаются к любому формату экрана и масштабу, т.к. края объекта подстраиваются под формат, но им невозможно создать реалистичное изображение, оно всегда будет оставаться примитивным, кроме того он занимает больше количество сил на создание чем растровая.
Фрактальная графика. Как и векторная графика строится математическим способом. Однако создание фрактальной графики более сходно с решением алгебраического выражения. Фрактал – фигура, состоящая из частей, дублирующих и сходных с целой фигурой. Таким образом этот вид графики строится при помощи повторений. Самым наглядным примером такого построения, наверное, будет кровеносная система, сложное сплетение при ближайшем рассмотрении состоит из огромного количества одинаковых сосудов. Однако в графике их расположение и количество повторений записано не в генах, а при помощи формул, указывающих их направление и количество. Практически не занимает память, однако оказывает большую нагрузку на вычислительные устройства и затрудняет редактирование готового изображения.
-------------------------------------------------------------------------------------------------
Трехмерной графикой создают объемные изображения, внутри которых объекты имеют координаты ширины, высоты и глубины. В зависимости от качества 3D графики в ней может использоваться как 2, так и максимально возможное количество текстурных слоев. Существует 2 основных вида трехмерной графики:
- Полигональные изображения – все объекты строятся отдельно на основе прямоугольного «каркаса». Так при этом варианте у объекта создается каркас из некоего количества «паралеллограмных пространств», поверх них строятся детали объекта, состоящие из точек, ребер и граней. Таким образом получается наиболее реалистичное изображение.
- Воксельные изображения – объемные растровые изображения примитивных форм. При помощи отдельных «объемных пикселей» картинка строится аналогично плоскому растровому изображению.
Трехмерная графика на данный момент является самой реалистичной, кроме того изображения или отдельные объекты довольно удобно редактировать. К сожалению, этот вид требует большое количество памяти и требует мощного программного обеспечения, а также для работы этим способом придется пользоваться платными программами.
Стили графики
-------------------------------------------------------------------------------------------------
Реализм. Логично – этот стиль максимально приближен к реальности. От масштабных ландшафтов и проработки листьев деревьев, до строения человека и порезов на коже. Эта стилистика дает обширные возможности в создании игрового мира, позволяя максимально реалистично воссоздать любую эпоху или фантастическую вселенную. Сейчас этот вариант выбирают для всевозможных игровых направлений, будь то шутеры, аркады, симуляторы или классически MMO RPG . Однако за свое качество этот стиль требует соответствующие характеристики устройства, на которое устанавливается игра и зачастую игры с таким типом графики платны, т.к. их довольно сложно создавать. Несмотря на это реализм является одним из самых любимых стилей современных пользователей.
Low Poly Art. Минимализм - самое точное и короткое описание этого стиля. При его создании используются низкополингованные модели без сглаживания, т.е. каждый полигон четко виден со всеми своими гранями, а окраска происходит заливкой объекта одним цветом. Как правило в этом стиле не используют текстуры и все поверхности оставляют гладкими, зачастую глянцевыми, а все необходимые детали объектов дополняют простыми геометрическими фигурами. Однако эти правила действуют при классическом low poly art , сейчас придумывают все более «экзотические» и нестандартные применения этой стилистики, что нисколько не уменьшает ее очарования. Хотя активное использование минимализма и осталось в прошлом, сейчас находится довольно большое количество любителей этого стиля, он все еще не сдает свои позиции в глазах потребителей.
Hand Painted. Отличается тем что в том стиле текстуры рисуются от руки. Тени, блики, некоторые мелкие детали создаются отдельно, без использования формул и геометрии. Чаще всего тот стиль используют в играх с фентази тематикой и в совершенно различных направлениях. Это довольно «гибкая» стилистика, она может быть как с уклоном в комиксы, мультики или low poly art, так и в реализм. Как и у предыдущей стилистики, у hand painted и сейчас есть большое количество последователей, в ней были созданы некоторые культовые MMO RPG : Dota , Warcraft и некоторые другие, менее известные проекты.
Cartoon. На самом деле под этим тегом можно объединить все стили кроме реализма, однако если рассматривать его как более узкое понятие, все же он является отдельным видом, а не обобщающим. Он отличается красочностью, ярким акцентированием и нестандартными пропорциями. В некоторых случаях, как и в предыдущей стилистике он рисуется от руки, однако это далеко не всегда так. Ближе всего этот стиль, пожалуй, к hand painted , они очень близки между собой, однако cartoon все же делает акцент на своем мультяшном начале.
Воксельный стиль. Про него, вскользь, уже упоминалось раньше. Этот стилистика кубического мира, абсолютно все объекты состоят из большого количества одноцветных кубиков. Как ни странно, при том, что он не является представителем классического вокселя, наиболее знакомым всем в этом стиле, пожалуй, будет Minecraft . В отличие от классики в нем уже появились текстуры на кубах.
3D pixel art. Очень сильно напоминает воксель, однако имеет абсолютно другой способ создания. В отличии от него мир не «лепится» из одинаковых кубов, а используются низкополигональные модели с пиксельной текстурой. Т.е. это стандартная полигональная графика с использованием пиксельной текстуры (когда края каждого объекта не слаживаются, а наоборот выделяются их крайние пиксели).
Пластилиновый стиль. В таком стиле все модельки изображаются в виде пластилиновых фигурок, в некоторых случаях объекты могут выглядеть как игрушки, картонные или тканевые изделия. Довольно простой стиль, не имеющий никаких особенностей помимо внешнего вида объектов.
Возникновение новых сценариев
-----------------------------------------------------------------------------------------------
Игры появились далеко не сразу после разработки первых рабочих компьютеров. Первоначально они использовались сугубо для научной и другой лабораторной деятельности. Прародители этого вида развлечений крайне сильно отличались от современных игр и даже от игр конца прошлого столетия. Например, одна из первейших – Nimatron – на основе правил настольной игры «Ним», появившаяся в начале 1940х годов. Вся ее «графика» отображалась в зажигающихся и гаснущих лампочках, т.к. на тот момент еще не были изобретены никакие дисплеи, тем более для игровой графики. В 40-е и 50-е годы компьютеры не выходили за пределы научно-исследовательских лабораторий и выставок, поэтому у игр не было ни единого шанса стать массовым развлечением. Но постепенно технологии совершенствовались, и средства вывода информации всё больше стали напоминать привычные экраны.
Важным шагом на этом пути стала игра «Крестики-нолики», которая выводила информацию с помощью электронно-лучевой трубки — она формировала игровое поле размером 35*15 точек. Игра появилась в 1952 году, но никто за пределами Кембриджа её не увидел. Через шесть лет, в 1958 году, появилась игра «Теннис для двоих», экраном которой выступал осциллограф. Функция экрана в игре была предельно утилитарной: ни одного лишнего элемента — только поле и сам «мячик». Даже ракетки не отображались.
Spacewar, выпущенная в 1962, стала довольно значительным прорывом. На первый взгляд никаких особых изменений относительно предшественников в ней не было, однако намного более хорошие дисплеи, появившиеся примерно в это время открыли возможности создания антуража игры – т.е. фона. Помимо основных игровых элементов (звезды, кораблей и ракет) появились фоновые изображения звезд, создающие атмосферу космического сражения.
Начиная с 70-х годов, игры постепенно становились более доступными. Появились первые коммерческие игровые приставки и аркадные автоматы. Большим достижением стала приставка Magnavox Odyssey, которая подключалась к телевизору. Но графика на ней оставалась предельно простой — это всё ещё было монохромное изображение, состоящее из нескольких геометрических фигур.
Этот период ознаменовал эру аркад и первых шутеров. Именно они в этот период получили наибольшую популярность. Такое развитие этого направления повлекло за собой и усложнение графического элемента. Так появившаяся в 1973 году Maze War стала первой игрой с имитацией 3D пространства. Разумеется, тогда еще о трехмерной графике не могло быть и речи, однако это были первые шаги к ее созданию. Такое изображение стало возможно в шутере благодаря эффекту линейной перспективы, в котором игровой персонаж мог свободно перемещаться в пределах обозначенного пространства. В этом же направлении двигались и некоторые другие проекты, например: Spasim 74 года производства. В ней все «3D » объекты изображались как пустотелые каркасы созданные векторной графикой.
Следующим большим шагом к современной графике стало появление технологии, позволяющей закрашивать полигоны. Одной из причин ее возникновения стало развитие мощностей компьютеров, что давало достаточное для нее количество оперативной памяти. В этот период широкое распространение получили спрайты – движущиеся 2D изображения. Одним из таких стал Pac-Man. Помимо эстетической стороны, это значительным образом меняло и сам игровой процесс. Таким образом с появлением цвета в играх стало больше вариабельности и уникальности. Благодаря успеху Pac-Man направление получило дальнейшее развитие и графика не остановилась на цветных 2D моделях.
На тот момент основной проблемой была невозможность отрисовки изображения сразу на компьютере и приходилось переводить его с реального материала в цифровой формат. Одним из вариантов тогда была прорисовка и покраска картинки на целлулоиде и ее дальнейшее оцифровывание. Однако сканеры использовались далеко не везде: отсканированные изображения занимали слишком много места на жёстких дисках, которые в то время были слишком дорогими имели малый объем. Также сканеры не могли корректно передать цвета, поэтому художникам приходилось оцифровывать только контуры и общие черты изображения, а затем полноценно отрисовывать его на компьютере. Правда в таком случае они должны были обладать не только художественными навыками, но и навыками программирования, т.к. для окрашивания изображения на компьютере было необходимо использовать шестнадцатеричную кодировку для оцифровки каждой клетки изображения.
С развитием технологий и ростом популярности видеоигр стали появляться более мощные игровые приставки. Сперва на рынок вышли 8-битные консоли, поддерживающие до 64 цветов, а следом и 16-битные консоли с палитрой из 512 цветов. Несмотря на такое развитие, технические ограничения давали о себе знать. К примеру, на игровой консоли SNES из 512 доступных цветов одновременно на экране можно было использовать только 64.
Далее в моду игровой индустрии вошли гоночные симуляторы. Вместе с этим в играх начали появляться разные визуальные эффекты. Так Super Speed Racer, произведенная в 1979 году, привнесла скроллинг, благодаря которому окружение перемещалось сверху вниз и создавало ощущение движения. Эффект параллакс-скроллинга появился через три года в двумерной Moon Patrol и делал так, чтобы при движении объекта дальний план передвигался медленнее переднего, из-за чего возникала иллюзия глубины пространства и корректной перспективы. В этом же году Zaxxon показала, какими могут быть изометрические игры с иллюзией свободного передвижения по трёхмерному пространству.
С 1980х годов появляется большое количество платформеров, однако они не оказали особого влияния на развитие графики.
Начиная с 1983 игры становятся все более реалистичными. В этот момент появляется «живое кино». Одним из его первенцев стала Astron Belt, где космический корабль, управляемый игроком, был спрайтом, а движущийся фон – заранее записанным видео. Однако пока он не был полноценным представителем этого жанра. Ему на смену, уже не имеющий вкраплений от других жанров, пришла Dragon’s Lair. С ее рождением так же изменились и возможности геймплея. В нем присутствовали статичные фоновые элементы и анимированные, участвующие в самом игровом процессе. Активация любой анимированной сцены происходила после нажатия правильной кнопки.
В конце 1980х – начале 1990х годов пика своей активности достигли файтинги. В это время главному игровому персонажу уделялось намного большее внимание, т.к. он всегда находился на переднем плане, в центре внимания. Здесь уже было недостаточно примитивных форм и отдаленного сходства с реальным объектом. Для достойного уровня такой игры необходимо добавить детализации как минимум главным персонажам. Одним из первопроходцев в этом стала произведенная в 91 году Street Fighter II. К тому моменту как детализация только начала развиваться, разработчики игр уже научились создавать незамысловатую анимацию фона. Делали ее предельно просто, по тому же принципу что и мультипликацию – прорисовывая несколько кадров положения объектов в разные промежутки времени и вовремя выводя их на экран.
Для достижения этих же результатов, в некоторых проектах пробовали и другие технологии. Например, в Mortal Kombat 1992 года использовали оцифрованные кадры, это делало изображение намного более реалистичным относительно его современников.
Ближайшее десятилетие графика развивалась преимущественно благодаря усовершенствованиям пк. В этот период появилось развитие воксельной стилистики игры, а также начали зарождаться черты реализма. Ближе к началу 2000х годов начали появляться технологии сглаживания и первые реалистичные текстуры, хотя их качество, конечно же, тогда еще было далеко от современного. Появляются первые «стоп сцены», диалоговые окна и видео паузы, рассказывающие сюжет, первые игры со своим миром и историей, которую "создает" сам игрок. Далее постепенное развитие текстур и мощностей компьютеров привело графику к ее современному виду.
Заключение
-------------------------------------------------------------------------------------------------
Итак, мы разобрали наиболее важные графические характеристики, основные составные элементы, виды и стили графики, а также немного углубились в историю продвижения этого относительно нового направления. Хотя уже около 70 лет назад впервые приоткрылись двери компьютерной графики, пока она еще настолько несовершенная, что можно считать: сейчас мы лишь в самом начале ее развития. Дальше ей предстоит еще очень долгий путь, возможно даже вплоть до создания «совершенной» альтернативной реальности.
Никак нельзя сказать, что в этой статье изложены все аспекты компьютерной графики и представлены они в достаточном объеме, однако думаю для общего понимания этого достаточно. Теперь можно подвести итог и вкратце разобрать для чего же лучше всего подходит какой из стилей графики, в данном случае разбираться будут конкретно игры, т.к. в большей степени такая графика сейчас используется именно там, в некоторых случаях в кино. Думаю, стоит разобрать этот момент опираясь на стили графики, т.к. фактически все остальные ее параметры и особенности будут выходить уже из этого.
Начнем с наиболее навороченной графики к максимально простой. Первым в этом списке станет реализм. Т.к. это наиболее сложный, соответственно более трудный в создании и требующий больших ресурсов. В связи с этим его никогда не используют в каких-то небольших проектах, во-первых, потому что затраты на его создания не стоят времени и могут не окупиться, во-вторых, потому что в этом случае придется сильно завышать требования к пк, относительно игры. Чаще его используют в шутерах и жанре MMO RPG .
Далее Hand Painted и Low Poly Art , думаю стоит в данном случае объединить их в один, хотя они и совершенно разные. Они довольно универсальны, т.к. не слишком требовательны и сложны, однако внешне они вполне достойны и серьезного проекта. Чаще всего в такой стилистике создают аркады, симуляторы, более редкое использование MMO RPG и шутеры. Хотя на самом деле в 2 последних случаях использовать возможно любые стили графики, что собственно и делают разработчики, но более простые стили редко оказываются выигрышными.
Последние 4 стиля: Cartoon , Воксель, 3D Pixel Art и Пластилиновый находятся в данном списке примерно на одном уровне. Больше всего они подходят для небольших проектов, flesh -игр, наработок и так далее. Безусловно их можно использовать и в масштабной разработке, но в большинстве случаев такая незамысловатая графика только испортит качественный продукт. Если конечно это не является вашей интересно обыгранной изюминкой.
Конечно можно еще многое рассказать, добавить детали и интересные примеры «нетрадиционного» использования стилей, но думаю это будет уже лишним. Таким образом, помимо общей информации мы примерно представили как можно было бы применить ее на практике, в каких случаях что использовать и почему.