Изометрическая графика видеоигр - Isometric video game graphics


Изометрический видео игровая графика является графикой , используемой в видеоиграх и пиксельной графике , которые используют параллельную проекцию , но какой угол зрения , чтобы выявить аспекты окружающей среды , которые в противном случае не может быть видны из перспективных сверху вниз или сбоку , в результате чего получает три -размерный эффект . Несмотря на название, изометрическая компьютерная графика не обязательно является истинно изометрической - т.е. оси x , y и z не обязательно ориентированы под углом 120 ° друг к другу. Вместо этого используются различные углы, наиболее распространенными являются диметрическая проекция и соотношение пикселей 2: 1. Термины «3/4 перспектива», «3/4 вид», « 2.5D » и «псевдо 3D» также иногда используются, хотя эти термины могут иметь несколько иное значение в других контекстах.

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

Обзор

Преимущества

Соответствующие углы поворота 3D-камеры для истинной изометрической проекции (слева) и формы диметрической проекции, обычно встречающейся в видеоиграх и пиксельной графике (справа). Выражение arctan (sin (45 °)) равно ≈35,264 °.
Изометрический куб
Истинный изометрический рисунок куба. Обратите внимание на углы в 120 °, разделяющие оси x , y и z , а также на одинаковую длину каждого из ребер куба. Выражение arctan (sin (≈35,264 °)) или arctan (sin (arctan (sin (45 °)))) равно 30 ° и образует соотношение пикселей ≈1,732: 1.
Диметрический куб
Форма диметрической проекции, обычно используемая в видеоиграх и пиксельной графике. Только два из углов, разделяющих оси x , y и z , одинаковы, и только некоторые длины ребер куба равны. Выражение arctan (sin (30 °)) равно ≈26,565 ° и образует соотношение пикселей 2: 1.

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

Трент Остер, соучредитель BioWare и основатель Beamdog

В области компьютерных и видеоигр, а также в области пиксельной графики эта техника стала популярной из-за легкости, с которой можно сделать 2D - графику на основе спрайтов и плиток для представления трехмерных игровых сред. Поскольку параллельно проецируемые объекты не изменяются в размере при перемещении по области, компьютеру нет необходимости масштабировать спрайты или выполнять сложные вычисления, необходимые для имитации визуальной перспективы . Это позволило 8-битным и 16-битным игровым системам (а в последнее время - портативным и мобильным системам) быстро и легко отображать большие игровые области. И хотя проблемы с глубиной параллельной проекции иногда могут быть проблемой, хорошая игра и дизайн уровней могут решить эту проблему.

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

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

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

Недостатки

Некоторые недостатки предварительно оказанные изометрической графики , что, как разрешение дисплея и соотношение сторон отображений продолжают развиваться, статические 2D изображения должны быть повторно вынесен каждый раз , когда для того , чтобы идти в ногу, или потенциально страдают от последствий пикселизации и требуют анти -алиазинг . Однако повторный рендеринг игровой графики не всегда возможен; как это имело место в 2012 году, когда Beamdog переделал BioWare «S Бальдура Gate (1998). Beamdog не хватало оригинальных художественных ресурсов разработчиков (исходные данные были потеряны в результате наводнения) и выбрал простое масштабирование 2D-графики с «сглаживанием» без повторного рендеринга игровых спрайтов. Результатом была некоторая «нечеткость» или отсутствие «четкости» по сравнению с графикой оригинальной игры. Однако это не влияет на полигональные изометрические видеоигры, визуализируемые в реальном времени, поскольку для сравнения изменение их разрешения экрана или соотношения сторон тривиально.

Отличия от «истинной» изометрической проекции

Проекция, обычно используемая в видеоиграх, немного отличается от «истинной» изометрии из-за ограничений растровой графики . Линии в направлениях x и y не будут следовать аккуратному пиксельному узору, если они нарисованы под требуемыми 30 ° к горизонтали. В то время как современные компьютеры могут устранить эту проблему с помощью сглаживания , более ранняя компьютерная графика не поддерживала достаточное количество цветов или не обладала достаточной мощностью процессора для этого. Вместо этого для рисования осей x и y будет использоваться соотношение пикселей 2: 1 , в результате чего эти оси будут следовать под углом ≈26,565 ° ( arctan (sin (30 °)) ) к горизонтали. (Игровые системы, в которых не используются квадратные пиксели, могут, однако, давать разные углы, в том числе «истинные» изометрические.) Таким образом, эту форму проекции более точно описать как разновидность диметрической проекции , поскольку только два из трех углов между оси равны между собой, т.е. (≈116,565 °, ≈116,565 °, ≈126,870 °) .

История изометрических видеоигр

В то время как история видеоигр знала некоторые трехмерные игры еще в 1970-х годах, первыми видеоиграми, в которых использовался особый визуальный стиль изометрической проекции в описанном выше значении, были аркадные игры в начале 1980-х годов.

1980-е

Использование изометрической графики в видеоиграх началось с появлением Восточных данных «s DECO Кассетных систем аркады Острова сокровищ , выпущенным в Японии в сентябре 1981 года, но он не был выпущен на международном уровне до июня 1982 года Первой изометрической игры будет выпущен на международном уровне была Sega «S Zaxxon , который был значительно более популярным и влиятельным; он был выпущен в Японии в декабре 1981 года, а в мире - в апреле 1982 года. Zaxxon - это изометрический шутер, в котором игрок летает на космическом самолете по уровням с прокруткой . Это также одна из первых видеоигр, в которой отображаются тени.

Еще одна ранняя изометрическая игра - Q * bert . Уоррен Дэвис и Джефф Ли начали программировать концепцию примерно в апреле 1982 года, производство игры началось летом, а затем было выпущено в октябре или ноябре 1982 года. Q * bert показывает статическую пирамиду в изометрической перспективе, где игрок управляет персонажем, который может прыгать по пирамиде.

В следующем году, в феврале 1983 года, была выпущена изометрическая аркадная игра- платформер Congo Bongo , работающая на том же оборудовании, что и Zaxxon . Это позволяет персонажу игрока перемещаться по большим изометрическим уровням, включая истинное трехмерное лазание и падение. То же самое возможно в аркадной игре Marble Madness , выпущенной в 1984 году.

2D (слева) и 3D (справа) координаты типичного диметрического спрайта видеоигры

В 1983 году изометрические игры больше не были эксклюзивными для аркадного рынка, а также вошли в домашние компьютеры с выпуском Blue Max для 8-битного семейства Atari и Ant Attack для ZX Spectrum . В Ant Attack игрок мог двигаться вперед в любом направлении прокрутки, предлагая полное свободное движение, а не фиксированное на одной оси, как в Zaxxon . Виды также можно было изменять вокруг оси 90 градусов . Журнал ZX Crash впоследствии наградил его 100% в категории графики за эту новую технику, известную как «Soft Solid 3-D».

Годом позже на ZX Spectrum вышла Knight Lore , которая обычно считается революционной игрой, определившей последующий жанр изометрических приключенческих игр. По словам исследователя Яна Крикке, вслед за Knight Lore многие изометрические названия были замечены на домашних компьютерах - до такой степени, что когда-то считалось вторым по популярности клонируемым программным обеспечением после WordStar . Другими примерами из них были Highway Encounter (1985), Batman (1986), Head Over Heels (1987) и La Abadía del Crimen (1987). Однако изометрическая перспектива не ограничивалась аркадными / приключенческими играми; например, в стратегической игре 1989 года Populous использовалась изометрическая перспектива.

1990-е годы

Пиксель арт
Телевизор, нарисованный почти изометрической пиксельной графикой 2: 1 . (Увеличено, чтобы показать структуру пикселей.)
Рендеринг сцены, имитирующей перспективу Fallout 2
3D рендеринг имитируя Видеоигра Fallout ' использование х триметрической проекции и гексагональной сетки

На протяжении 1990-х годов в нескольких успешных играх, таких как Syndicate (1993), SimCity 2000 (1994), Civilization II (1996), X-COM (1994) и Diablo (1996), использовалась фиксированная изометрическая перспектива. Но с появлением 3D-ускорения на персональных компьютерах и игровых консолях игры, ранее использовавшие 2D-перспективу, как правило, вместо этого начали переключаться на истинное 3D (и перспективную проекцию ). Это можно увидеть в преемниках вышеупомянутых игр: например, SimCity (2013), Civilization VI (2016), XCOM: Enemy Unknown (2012) и Diablo III (2012) используют трехмерную полигональную графику; и хотя в Diablo II (2000) использовалась двумерная перспектива с фиксированной перспективой, как и в его предшественнике, она дополнительно позволяла масштабировать спрайты на расстоянии в перспективе, чтобы придать им «псевдо-трехмерный» вид.

Также в 1990-х годах изометрическая графика начала использоваться в японских ролевых видеоиграх (JRPG) на консольных системах , особенно в тактических ролевых играх , многие из которых до сих пор используют изометрическую графику. Примеры включают Front Mission (1995), Tactics Ogre (1995) и Final Fantasy Tactics (1997) - в последнем из которых использовалась трехмерная графика для создания среды, в которой игрок мог свободно вращать камеру. Другие названия, такие как Vandal Hearts (1996) и Breath of Fire III (1997), тщательно имитировали изометрический или параллельный вид, но на самом деле использовали перспективную проекцию.

Бесконечный двигатель

Black Isle Studios и BioWare помогли популяризировать использование изометрической проекции в компьютерных ролевых играх в конце 1990-х - начале 2000-х годов. Эти студии использовали игровой движок Infinity Engine в нескольких своих играх, разработанных BioWare для Baldur's Gate (1998). Этот движок приобрел значительную популярность среди игроков, и с тех пор многие разработчики пытались имитировать и улучшать его различными способами. Сам Infinity Engine был также переработан и модернизирован Beamdog в рамках подготовки к Baldur's Gate: Enhanced Edition (2012), а также к их ремейкам нескольких других классических игр Infinity Engine.

В двух других играх от Black Isle Studios, Fallout (1997) и Fallout 2 (1998), использовалась триметрическая проекция .

Kickstarter

Изометрическая проекция приобрела неизменную актуальность в новом тысячелетии с выпуском на Kickstarter нескольких недавно финансируемых за счет краудфандинга ролевых игр . К ним относятся серия Shadowrun Returns (2013-2015) от Harebrained Schemes ; серии Pillars of Eternity (2015-2018) и Tyranny (2016) от Obsidian Entertainment ; и Torment: Tides of Numenera (2017) от inXile Entertainment . И Obsidian Entertainment, и inXile Entertainment наняли или были основаны бывшими участниками Black Isle Studios и Interplay Entertainment. Obsidian Entertainment, в частности, хотели «вернуть внешний вид игр Infinity Engine, таких как Baldur's Gate , Icewind Dale и Planescape: Torment ». Наконец, в последние годы с помощью Kickstarter было собрано краудфандинговое финансирование для нескольких псевдоизометрических 3D-ролевых игр, таких как Divinity: Original Sin (2014), Wasteland 2 (2014) и Dead State (2014). Однако эти игры отличаются от вышеперечисленных игр тем, что в них используется перспективная проекция вместо параллельной .

Использование связанных прогнозов и методов

Сравнение нескольких типов графической проекции . Среди видов 3/4 наличие одного или нескольких главных углов 90 ° часто является хорошим индикатором того, что используемая перспектива является наклонной проекцией .

Термин «изометрическая перспектива» часто неправильно применяется к любой игре с - обычно фиксированным - углом обзора сверху, который сначала кажется «изометрическим». К ним относятся вышеупомянутые видеоигры с диметрической проекцией ; игры, использующие триметрическую проекцию , такие как Fallout (1997) и SimCity 4 (2003); игры, использующие наклонную проекцию , такие как Ultima Online (1997) и Divine Divinity (2002); и игры, в которых используется комбинация перспективной проекции и вида с высоты птичьего полета , такие как Silent Storm (2003), Torchlight (2009) и Divinity: Original Sin (2014).

Кроме того, не все «изометрические» видеоигры полагаются исключительно на предварительно обработанные 2D-спрайты. Есть, например, игры, которые полностью используют полигональную трехмерную графику, но визуализируют ее с использованием параллельной проекции вместо перспективной, такие как Syndicate Wars (1996), Dungeon Keeper (1997) и Depths of Peril (2007); игры, в которых используется комбинация предварительно обработанных 2D-фонов и трехмерных моделей персонажей, отображаемых в реальном времени, такие как The Temple of Elemental Evil (2003) и Torment: Tides of Numenera (2017); и игры, в которых 3D-фоны, отрисованные в реальном времени, сочетаются с нарисованными от руки 2D-спрайтами персонажей, такие как Final Fantasy Tactics (1997) и Disgaea: Hour of Darkness (2003).

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

Экран привязки к мировым координатам

Поиск мировых координат

Одна из наиболее распространенных проблем при программировании игр, использующих изометрические (или, скорее, диметрические) проекции, - это способность отображать события, происходящие на 2-й плоскости экрана, и фактическое местоположение в изометрическом пространстве, называемом мировым пространством. Типичный пример - выбор плитки, которая находится прямо под курсором, когда пользователь щелкает мышью. Один из таких методов заключается в использовании тех же матриц вращения, которые изначально создавали изометрический вид в обратном порядке, чтобы превратить точку в экранных координатах в точку, которая лежала бы на поверхности игрового поля до ее поворота. Затем мировые значения x и y могут быть вычислены путем деления на ширину и высоту плитки.

Другой способ, который требует меньших вычислительных затрат и может дать хорошие результаты, если метод вызывается для каждого кадра, основан на предположении, что квадратная доска была повернута на 45 градусов, а затем сжата до половины своей исходной высоты. Виртуальная сетка накладывается на проекцию, как показано на диаграмме, с осями virtual-x и virtual-y. Если щелкнуть любую плитку на центральной оси доски, где (x, y) = (tileMapWidth / 2, y), будет получено одно и то же значение плитки как для мира-x, так и для мира-y, которое в этом примере равно 3 (0 проиндексировано). . Выбор плитки, которая находится на одну позицию справа в виртуальной сетке, фактически перемещает на одну плитку меньше в мире-y и на одну плитку больше в мире-x. Это формула, которая вычисляет мир-x, беря виртуальный-y и добавляя виртуальный-x из центра доски. Точно так же world-y вычисляется путем взятия virtual-y и вычитания virtual-x. Эти вычисления производятся от центральной оси, как показано, поэтому результаты должны быть переведены на половину доски. Например, на языке программирования C:

float virtualTileX = screenx / virtualTileWidth;
float virtualTileY = screeny / virtualTileHeight;

// some display systems have their origin at the bottom left while the tile map at the top left, so we need to reverse y
float inverseTileY = numberOfTilesInY - virtualTileY;

float isoTileX = inverseTileY + (virtualTileX - numberOfTilesInX / 2);
float isoTileY = inverseTileY - (virtualTileX - numberOfTilesInY / 2);

Поначалу этот метод может показаться нелогичным, поскольку берутся координаты виртуальной сетки, а не исходного изометрического мира, и нет однозначного соответствия между виртуальными и изометрическими плитками. Плитка в сетке будет содержать более одной изометрической плитки, и в зависимости от того, где по ней щелкнуть, она должна отображаться в разных координатах. Ключевым моментом в этом методе является то, что виртуальные координаты представляют собой числа с плавающей запятой, а не целые числа. Виртуальные значения x и y могут быть (3.5, 3.5), что означает центр третьей плитки. На диаграмме слева это попадает в 3-ю плитку на y в деталях. Когда virtual-x и y должны в сумме равняться 4, мир x также будет равен 4.

Примеры

Диметрическая проекция

Косая проекция

Перспективная проекция

Смотрите также

использованная литература

внешние ссылки