Що таке середовище "2.5D"?


31

Я не розумію значення терміна "2.5D". Мене конкретно плутає різниця між 2.5D та 3D середовищем, хоча я читав різні визначення та статті про обидва. Я розумію частини, де 2.5D - це як 3D, але я не отримую частини, де 2.5D відрізняється.

Отже, що означає гра 2.5D? Наприклад, чи тут показана гра 2.5D?

Маріо


10
Наскільки мені відомо, його 2,5D, коли спрайти використовуються для імітації 3D-вигляду. Кожен раз, коли у вас є фіксована камера, але ви все ще працюєте з 3D-геометрією, це все-таки 3D-гра. З скріншоту виглядає, що Маріо - це 3D-модель, так що ця гра здається повноцінною 3D. Це все про те, чи емітуєте ви 3D чи насправді рендеруєте 3D-геометрію в типовому 3D конвеєрі.
Грімшо

@Grimshaw Отже, чи означає 2,5D, що двигун може бути двовимірним, наприклад, з 3D-моделями? Я впевнений, що є аналог, якщо ви робите подібну гру з 2D двигуном, а також з 3D двигуном. Хто вони? Вартість продуктивності для 3D?
mathieug

4
2.5D означає, що ви використовуєте двовимірні зображення (спрайти) для виведення свого світу майже виключно, навіть якщо це виглядає як вид 3D. Перевірте ізометричні ігри, такі як Clash of Clans, на приклади 2.5D-ігор, повністю відтворених у 2D, але це схоже на 3D-гру. Коли ви починаєте вводити у світ свої 3D-моделі, ви набираєте повний 3D і термін 2.5D більше не застосовується. Це означає, що камера не має жодного відношення до того, чи ви рендеруєте 3D. 3D - це не про проекції чи поведінку камери, а скоріше про геометрію.
Грімшо

Це питання видається поза темою, оскільки йдеться про особливості певної гри. Питання, що задає (лише), яке визначення, або значення цього терміна "2.5D" було б доречним (я відчуваю, що у нас вже є один, що плаває навколо), але запитати, чи це не конкретна гра? мати щось спільне із створенням вашої гри; і запитати, чи варто робити 2.5D гру і чому це не об'єктивно.
Джош

3
@JoshPetrie Що? Як додавання прикладу, коли його розуміння призводить до неоднозначності, заважає питанням бути загалом корисним? У цьому випадку (де основне питання цілком справедливе, але є незначна кількість пориву, спричинене ОП, досить незграбно пояснює себе), питання слід залишити відкритим. Якщо його дублікат закрийте його як дублікат.
ClassicThunder

Відповіді:


60

Терміни 2D і 3D (як ви, мабуть, вже знаєте) позначають кількість просторових розмірів у евклідовому світовому просторі. Ця розмірність повинна бути порядковим числом; не існує такого поняття, як напіввимірність , тому термін 2.5D - це дійсно нісенітницький термін і не має внутрішнього значення. Але це означає, що 2,5 - це "десь між" 2 і 3, тож 2.5D зазвичай означає щось по лінії "десь між 2D і 3D".

Особисто я використовую цей термін для позначення випадків, коли графічні та логічні світові простори гри мають різні розміри. Зокрема, тут є два різних варіанти:

  • 2D логічний та 3D графічний . Наприклад, платформер з 2D ігровою механікою та фізикою, але виконаний з 3D-сітками та перспективною камерою. Більшість ремейків класичних аркадних ігор, таких як Pac-Man, Breakout тощо, потрапляють до цієї категорії. На фото нижче: Екіпаж з ананасом Smash

Ананас Smash Crew відбувається у 2D світі, але він відображається в 3D.

  • 3D логічний та двовимірний графічний . Приклади включають такі ігри, як Gnomoria або SimCity 2000, які мають тривимірні світові ігри, але відображаються у двовимірному ізометричному поданні. На фото нижче: Ксенонавти

Наземні штурми ксенонавтів відбуваються на 3D сітці, але вона відображається повністю за допомогою двовимірних спрайтів.

Ще одним поширеним використання терміна (хоча і не той , який я використовую) відноситься до ігор , які використовують поєднання 3D і billboarded 2D графіки. У цьому випадку термін зовсім не описує логічну розмірність гри. Практично всі 3D-ігри в тій чи іншій мірі використовують рекламний щит, включаючи системи частинок, проксі-сервери віддалених об'єктів та накладення інтерфейсу у світі. Тому цей термін використовується лише тоді, коли значна частина не фонових об'єктів використовує 2D графіку, а межа між 2.5D та 3D дещо розмита.


17
До речі, існує таке поняття, як дробовий вимір, але воно не має нічого спільного з терміном ігрового розвитку «2.5D»; це з'являється при вивченні фракталів та інших дивних топологічних форм. Наприклад, квадратична поверхня Коха (тип 2) має розмір Хаусдорфа (загальний спосіб визначення фрактальної розмірності) рівно 2,5.
Лілі Чунг

9
@IstvanChung Так, технічно ви маєте рацію, і я подумав згадати це, але подумав, що це лише заплутає проблему. Я думаю, що мало хто з розробників ігор повинен знати про топологічні простори за межами n-мірного евклідового простору, і якщо вони будуть, то, ймовірно, вони зрозуміють, що я не кажу про фрактали.
bcrist

1
@Pharap і ... зроблено!
bcrist

2
@bcrist Якщо я міг би вручити голосування вдруге, я просто зроблю, щоб хтось висловив за мене силу мого мозку.
Фарап

2
Мені дуже подобається це логічне та графічне розрізнення. Хоча більшість відповідей / коментарів, здається, припускають, що 2.5D означає 2D графіку, я насправді схильний думати про 3D графіку. тож ваше логічне та графічне розрізнення - це чудовий спосіб охопити обидва поняття 2.5D
джокінг

27

Перша гра, яку я знаю, що в ній застосовувався термін "2.5D" - Doom (хоча в деякому сенсі Wolfenstein 3D теж кваліфікується).

Wolfenstein 3D - це в основному 2D гра з 3D-презентацією. Ви проходили 2D лабіринт, всі підлоги були рівними, всі стелі були на однаковій висоті, вікон не було, двері були від підлоги до стелі та відкривалися збоку, і ви ніколи не могли опинитися поверх або під іншим об’єктом. У грі використовувались радіомовлення, щоб з’ясувати, для кожного стовпця екрана, наскільки далеко стоїть стіна в цьому напрямку та яку текстуру має стіна; потім накреслили стовпчик текстури стіни з висотою, обернено пропорційною відстані, а простір вище та знизу зафарбовано заливкою підлоги та стелею. Вороги та об'єкти були спрайтами з обмеженою кількістю аспектів, і їх розмір знову пропорційний відстані.

Doom використовував дуже подібну технологію до Wolfenstein 3D, але зловживав нею, щоб отримати більше 3D-досвіду. Карти були ще2D, представлений за допомогою 2D-розбиття бінарного простору (таким чином, ім'я файлу .BSP map). Те, що ви побачили на автоматиці, коли потрапляли на вкладку, було лише прямим двовимірним відображенням карти. Але кожен сектор мав незалежну "висоту підлоги" та "висоту стелі", а краї мали фактури верхньої та нижньої сторони (використовуються, коли вони мали меншу висоту стелі або більшу висоту підлоги, ніж частина їх оточення). Це дозволило здійснити сходи, вікна, платформи, басейни та інші ефекти - двигун просто повинен був мати можливість вести список декількох пропущених секторів, перш ніж врешті-решт потрапити на стіну, та їх відповідних текстур. Але у вас все ще не було справжньої 3D-архітектури - ви могли зробити «міст» через якусь слизу, використовуючи підняту ділянку підлоги, але неможливо було б нічого підміст. Позиція в грі залишається лише X і Y. Єдине управління, яке гравець має над їх висотою, - це падіння речей, а ліфти - це просто сектори, які сценарії змінюють свою висоту підлоги. Вороги все ще спрайт (хоча я думаю, що у них було більше аспектів), постріли "націлюються на авто" на висоту, оскільки виявлення зіткнення лише двовимірне, а в грі не було тривимірної моделі.

Єретик і Гексен використовували двигуни, що походять з Doom, які робили речі ще на крок далі, до того, що їх періодично називали "2.75D"; вони мали більшість однакових архітектурних обмежень і спритів на основі ворогів, але додали можливість гравцеві дивитися вгору і вниз (нахиляти погляд, але лише поки що, інакше двигун зламається) і стрибати, літати і присідати (змінюючи свою висоту самостійно).


1
+1, термін 2.5D я чув лише тоді, коли люди зверталися до радіомовлення. Гарне пояснення!
Рубен

5
+1 ця відповідь правильна щодо першого історичного вживання цього терміна.
Р ..

це найбільш (практично) правильна відповідь, не впевнений, чому це не перший…
Сардж Борщ

Хоча ця відповідь може бути історично правильною, це не є галузевим стандартним прийнятим чи очікуваним визначенням. Сьогодні будь-яка гра, описана як 2.5D, загальновизнана, має 2d-рендерінг з 3d-виглядом.
Тед Бігхем,

Я думаю, що обмеження на огляд вгору / вниз для ігор, таких як Heretic, ґрунтувалося на тому, що висоти об'єктів враховуються лише на координатних екранах Y, а не на X координатах, і, таким чином, всі вертикальні лінії сцени будуть відображатись як вертикальні. Якщо хтось дивиться вгору або вниз під неглибоким кутом, це було б не надто помітно, але під більш крутими кутами було б дуже заперечно. Я не думаю, що більш круті кути порушили б двигун, а просто ілюзія.
supercat

11

2.5D

2.5D ("двовимірна і півторавимірна"), ¾ перспектива та псевдо-3D ар-терміни, в основному в індустрії відеоігор, використовуються для опису або двовимірних графічних проекцій, і подібних прийомів, що використовуються для створення серії зображень (або сцени), щоб імітувати появу тривимірності (3D), коли насправді їх немає, або геймплей в іншому тривимірному відео-грі, обмеженому двовимірною площиною.

З мого досвіду, яке визначення наголошується, залежить від віку людини, з якою ви спілкуєтесь.

  1. Старіші геймери, як правило, використовують 1-е визначення " 2D графічні проекції та подібні методи, що застосовуються для створення серії зображень (або сцен) для імітації появи тривимірних (3D), насправді їх немає "

  2. Молодші геймери використовують 2-е визначення " геймплей в інакшій тривимірній відеоігри, яка обмежена двовимірною площиною ".

Особисто я використовую 2-е визначення. Trine, Donkey Kong та Super Mario Bros Wii U, на мою думку, все було б 2.5D. Додатково тег 2.5D Steam використовує друге визначення. Я вважаю, що це хороший лакмусовий тест на те, як типовий геймер визначає поняття), і тому я вважаю, що 2-е визначення є більш правильним .

3D

Будь-яка відео гра з 3D-ігровою графікою, яка обчислюється в 3 вимірах. Зауважте, це робить його супернабір другого 2.5D визначення.


Мені здалося, що платформер Shadow Complex є дуже цікавим випадком, тому що взаємодія може відбуватися в 3D, навіть з розташуванням ворогів. Але прицілювання вашої рушниці в них включало вказівку на 2D кут, який співпадав із тим, де проекція з 3D розмістила їх на екрані. Тоді персонаж подбав про відхилення цього кута та спрямування їхнього пістолета на вісь Z.
Сет Баттін

6

2.5D - це просто зручний спосіб сказати 2D, який виглядає 3D.
Думаю, ви могли б дійсно розмити лінії визначення, якщо, наприклад, ви використовуєте 3D-двигун, але обмежуєте геймплей лише двовимірною площиною, але особисто я вважаю, що це 2.5D, це виглядає 3D, але діє 2D.


Спасибі. Моя ідея проекту виглядала б як 3D, але мені все ще цікаво 2D або 3D двигун та інше. Чи можете ви розповісти більше про 2.5D / 3D, орієнтованому на знімок екрана, який я розмістив?
mathieug

Боюсь, я не бачу скріншот (заблокований на роботі), тому не можу коментувати.
DFreeman

3

Завантажений вами екран гри - це 3D-гра.

У 3D-грі об'єкти малюються за допомогою вершин для малювання фактичних 3D-об'єктів, які потім кольорові, текстуровані тощо.

У 2D грі об’єкти беруть із спрайтів / спрайт-аркушів тощо.

Різниця між ними полягає в тому, як ви можете їх переглядати. Спрайт - це як плоский аркуш паперу. Ви не можете переглянути його під іншим кроком або кутом, або спрайт буде перекошений. На 3D-об’єкті, коли камера рухається, ви можете бачити різні частини об'єкта, тому що об’єкт є, ну і 3D.

У 2.5D грі ви поєднуєте обидва ці світи. Майте на увазі лише тому, що ви не можете перемістити камеру, щоб побачити різні кути, не робить гру не 3D. Це визначають саме об'єкти, що знаходяться в ньому.

Хороший приклад 2.5D-гри - Ragnarok Online. Завдяки цьому 2.5D полягає в тому, що світ переважно скомпрометований 3D-об’єктами. Будинки, ландшафт тощо - це текстуровані 3D-об’єкти. Можна обертати камеру над головою і одночасно бачити різні сторони цих об'єктів. Ви можете переглянути передню частину будівлі, а також ліву / праву / область даху. У гравців, однак, є двовимірні спрайти, які здаються стоячими вгору. Якщо ви обертаєте камеру занадто сильно, гра повинна завантажити іншу клітинку аркуша спрайта для цього персонажа, щоб змінити, як видається, він стоїть. Ви не можете переглядати різні кути персонажа, оскільки вони не є 3D. Кути динамічно завантажуються залежно від виду камери.

http://sprites.technoized.com/images/sprite/ro/gm_m.png

Це спрайт-лист із гри. Якби ви просто подивилися на це, ви б припустили, що це з 2D гри. Поодинці ви б мали рацію. Але як тільки він розміщений у 3D-світі, ви маєте 2,5D-гру.


Я думаю, що 2.5Dце введення в оману, оскільки її просто людська інтерпретація тощо. Наприклад, яка ваша гра, якщо ви використовуєте техніку Billboard для всього (тощо текстурованих квадратиків) у 3D-середовищі, якщо вони обертаються завжди перед вами? Дехто може сказати, що 2,5D, але більша частина пакету скаже 3D, оскільки існує глибина Z. Технічно, якщо він використовує вершини 3D (таким чином, z-розмірність), це 3D, якщо він використовує лише X / Y (скажімо, броси Super Super ), то це 2D. Але якщо він використовує лише 2D (x / y) в 3D-середовищі (включаючи символи), то це все ще 3D, але 2.5D за інтерпретацією .

2

2.5D часто є іншим способом сказати "ізометричний" - двовимірна графіка, намальована таким чином, щоб надати 3D-вигляд, але насправді не імітуючи 3D-координати. Дивіться статтю wikipedia про ізометричну графіку: http://en.wikipedia.org/wiki/Isometric_graphics_in_video_games_and_pixel_art

Суть полягає в тому, що в 2.5D / ізометричній ви все ще використовуєте 2D систему координат - з осями x і y лише для обчислення вашої графіки. Ваша графіка може бути просто двовимірними спрайтами, які, як правило, намальовані таким чином, що ви можете побачити три грані, а потім розміщуватись на екрані, використовуючи (x, y) координати. Іноді спрати створюються навіть шляхом моделювання в 3D, тоді створюються 2D спрайти 3D-моделі з різних кутів.

Характерно рухомі об’єкти мають лише кілька кутів, з яких їх можна переглядати. Якщо ви обертаєте персонажа навколо ізометричного виду, він не буде плавно крутитися, але ви побачите кілька чітких кутів, таких як передня, 3/4, бічна сторона тощо. Це тому, що кожен унікальний кут зору вимагає цілого нового набору спрайтів.

Ізометричні ігри зазвичай підтримують лише один кут камери через обмеження цього типу системи. Ще однією відмітною особливістю ізометричних ігор є те, що вони, як правило, не мають точок зникнення. Під час перегляду об’єкта в реальному житті, якщо об’єкт вам ближче, об’єкт буде виглядати більшим у вашому зорі. Якщо об’єкт знаходиться далі, він буде здаватися меншим. У ізометричних іграх всі об'єкти зазвичай виходять однакового розміру незалежно від того, де вони розташовані в просторі.

3D-ігри, порівняно, імітують усі 3 осі - x, y та z. На дуже низькому рівні комп'ютер переводить x, y і z в x, y для відображення на моніторі, але на більш високому рівні художники фактично маніпулюють точками на 3 осях для представлення об'єктів. Оскільки на комп’ютері є вся інформація про форму об'єкта, він може динамічно обчислювати, як виглядає цей об’єкт під будь-яким кутом, і він може здаватися меншим або більшим, коли ви наближаєтесь чи далі від нього.

Деякі ігри - це суміш 2.5D та справжніх 3D. Приклад, який я можу придумати, - це серія Disgaea, в якій представлені тривимірні фони та 2D спрайти.


2

Я не впевнений, що було б більш прийнятим визначенням, але я та люди моєї попередньої компанії вважали, що "будь-яка гра, схожа на ізометричну 3D, але надається через 2D спрайти", буде 2,5D.

Тепер дозвольте мені пояснити, чому ми це зробили. Як правило, візуалізація 3D-світу з великою кількістю об'єктів в ньому створюватиме занадто великий тиск на обробку, знижуючи кількість FPS. Для подолання цього ми, як правило, створювали об'єкти в програмному забезпеченні 3D-рендерінга, як Maya, і надавали їх як спрайт. Які можна використовувати в грі. Не кажучи вже про те, що кут враховувався під час візуалізації. Отже, якщо говорити про цю техніку з видавцем, ми зазвичай використовували цей термін. 3D-світ, який виглядає так, що це 2D світ, для нас все ще технічно є 3D. Тому ми зазвичай не використовували цей термін для цього методу. Я думав, що я повинен поділитися своїм шматочком тут.


1

Зазвичай термін "2.5-D" відноситься до одного з двох дуже різних стилів ігор.

Це може означати:

1) Гра, яка використовує 2-D методи візуалізації, але керує в 3 просторових вимірах. Зазвичай графічні трюки виглядають так, ніби насправді вони були відображені в 3-D. Це було дуже часто в 90-х, але сьогодні не так вже й багато. (Приклади: "DOOM", "Duke Nukem 3D", "Wolfenstein 3D")

2) Гра, повністю відтворена в 3-D, але керує виключно вздовж однієї або декількох 2-D площин. Цей стиль залишається дуже популярним і донині. (Приклади: "Маленька велика планета", "Нові Супер Маріо Броси", "Випробування HD")

Варто зазначити, що при використанні архітектурного шаблону моделі-перегляду-контролера перший стиль гри має "модель", яка представляє дані в 3 вимірах, але "вид", який відображає їх користувачеві лише у двох вимірах; другий стиль гри - навпаки.


0

У 2.5D ви використовуєте 2D активи / методи рендерінгу, щоб надати відчуття 3D-середовища.

Тепер із цим визначенням у наступному потенційно неоднозначному сценарії потрібна певна розробка:

Гра А

Використовуючи 3D графіку, GPU прискорюється і все (ігрові об’єкти - це сітки, а не зображення), з фіксованим кутом камери. Давайте зробимо це ще гірше, проекція ортографічна, класична 63,43 градуси. Єдиний спосіб помітити на перший погляд, що графіка не є двовимірною - це те, що 3DGC, за винятком того, що ви надаєте їх з особливою обережністю, легко відрізняються від спрайтів малювання вручну, незалежно від проекції, використовуваної для їх відображення. Ви можете експериментувати з різними методами візуалізації, параметрами, шейдерами тощо, і вам буде важко намагатися приховати той факт, що вони є 3D-сітками.

Гра Б

Порт гри A, але націлений на платформи, які, як відомо, мають апаратне забезпечення, яке не дуже добре обробляє 3D-графіку або зовсім не обробляє її. Тоді порт замінює сітки спрайтами. Наприклад, він використовує 3D-обмежувальні коробки для зіткнень, наприклад, а об'єкти мають властивість позиції зі значеннями x, y і z, оскільки логіка гри в основному не торкалася або взагалі не торкалася, змінювався лише код візуалізації.

Оскільки спрацьовані ігри B представляють тривимірні активи гри A і, щоб зробити речі неоднозначнішими, гра A не робить нічого, що вимагає складних шейдерів, у 99% усіх графічних процесорів там ви не можете відрізнити кадр від гри Б кадру з гри А.

У 2.5D взаємодія між ігровими об'єктами обмежується набором ситуацій, коли ілюзія 3D не може бути порушена. Наприклад, щоб зобразити двох символів, що обіймаються, наприклад, вам доведеться створити один файл зображення із взаємодіючими двома символами, оскільки намагатися зобразити дію обняття лише за допомогою одного зображення на персонаж було б занадто важко або неможливо. Можливо, ви можете підійти з тілом персонажа, розділеним на частини, і намалювати їх у правильному порядку. У 3D цієї проблеми не існує (існує інший, тобто правильно поставити два символи, щоб вони не проникали в сітку іншого символу).

Тепер, щоб візуалізувати це, уявіть, що у грі А та В є помилка, яка в певній ситуації дозволяє персонажу гравця проходити через інший ігровий об’єкт, що дозволяє нам легко розмежовувати 2.5D та 3D.


Гра B, 2.5D Візуалізація, спрайти впорядковані за значенням z його векторного положення. У цьому прикладі позитивне z знижується, а від'ємне z - вгору. вісь z і вісь y паралельні, але z масштабується на коефіцієнт 0,5 y. Отже, якщо видима площа - від 10y до -10y, в цій же зоні ми маємо від 20z до -20z. Об'єкти з більшим z будуть намальовані останніми, тому вони будуть розглядатись як об'єкти з нижчим z. Тінь персонажа гравця виглядає дивно, тому що тіні знаходяться у вищому шарі, ніж підлогу, але в нижчому шарі, який мають усі інші об'єкти, тому тінь персонажа гравця ніколи не знаходиться на вершині куба.

2.5D Візуалізація


Гра А, 3D візуалізація. Глибинний буфер (також відомий як z-буфер) використовується для тестування точності глибини пікселів. Отже, об’єкт не повинен повністю окулювати іншого, навіть трикутник не повинен повністю оклюзувати інший, у нас є тест на глибину точності пікселів. Ми можемо обертати ігрові об’єкти будь-яким способом і все-таки отримати реалістичні результати при взаємодії.

3D візуалізації

В резюме: у 2.5D спрайт або перед, або ззаду іншого спрайту. У 3D сетка складається з трикутників, але трикутник не є мінімальною одиницею при тестуванні на глибину, ви можете мати точність пікселів. Звичайно, обертання камери в 2.5D неможливо, оскільки активи створювались за фіксованим кутом камери, тоді як у 3D - це природно, якщо кути камери обмежені дизайном у 3D-грі - інший предмет.


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

Чому б просто не використовувати 3D завжди і забути про 2.5D?

Ну, я можу подумати на деяких прикладах, чому розробник може віддавати перевагу 2.5D-підходу:

  • Можливо, вони не знають або не люблять 3D API (Direct3D, OpenGL, є й інші).
  • Можливо, цільова платформа не справляється добре з 3D графікою (старі настільні комп’ютери, 2D консолі).
  • Ваша команда може робити дивовижні спрайти, але не 3D-моделі.

На скільки ви можете наблизити результати 3D-графіки за допомогою 2.5D?

Існує горизонт складності продуктивності та програмування. Коли ви наближаєтесь до цього горизонту, ви починаєте сумніватися, чи справді ваш проект можливий в 2.5D чи вам доведеться пройти повний 3D. Наприклад, ви можете використовувати z-буферизацію в 2.5D (теоретично), але чи можете ви заплатити вартість відеопам'яті (старий настільний комп'ютер з вбудованою графікою, а не потужні мобільні пристрої)? Ви хочете оплатити вартість зберігання додаткового зображення, щоб зберегти z-маску кожного спрайту?

Хорошими кандидатами на 2.5D є ігри RPG, думаю, серія Ворота Балдура або RTS, вважає Age of Empires 1 і 2 (AoE 3 повністю 3D і легко розрізнити).

Корисні посилання:

Z-Buffering: http://en.wikipedia.org/wiki/Z-buffering

Ортографічні проекції: http://glasnost.itcarlow.ie/~powerk/GeneralGraphicsNotes/projection/orthographicprojection.html

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.