Які плюси та мінуси використання 3d-двигуна для 2d-ігор? [зачинено]


16

Про які плюси чи мінуси слід ознайомити початківця, вирішуючи між ігровим двигуном 2d (наприклад, Slick2D / Flixel / FlashPunk) та 3d двигуном (як Unity) для розробки 2d ігор?

Я тільки починаю розробляти ігри в Інді, хоча в минулому я трохи посперечався з Game Maker, Flash та XNA. Я чув багато позитивного про Unity, і його кросплатформна природа робить його привабливим, але, як я розумію, це 3d двигун в основі.

Чи суворо 2d гра, чи є вагомі причини для роботи з 3d-двигуном, як Unity? Або це просто додасть зайвої складності моєму початковому досвіду навчання?


Ви запитуєте в контексті суто 2D-гри в чомусь на зразок Unity (наприклад, спрайти та 2D-рух) або 3D-ігри з 2D-геймплеєм (наприклад, з 3D-активами, але рухаючись лише в одній площині)?
хаосТехнік

У мене є кілька друзів, які працювали з Unity, щоб створити 2D гру під назвою Coypu Space Rumble . Початкова 2D частина була, очевидно, досить стомлююча, я попрошу більше міркувань, чому.
Джонатан Коннелл


Визначити "3D двигун"? Ми говоримо про щось, що охоплює геймплей, або просто щось, що відображається в 3D?
Нікол Болас

@chaosTechnician - Перший: суто 2D спрайти, 2D рух, в основному ніякого реального z-осі (просто простий z-індекс для визначення порядку спрайту спрайту)
mrohlf

Відповіді:


15

Це залежить від гри, але здебільшого буде простіше зробити суворо 2d гру, використовуючи двигун, який спеціально розроблений для 2d.

Тепер про деякі плюси і мінуси (деякі з них будуть пов'язані саме з Unity, деякі з них є більш загальними)

Мінуси

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

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

  3. Додано складності. Як згадується у відповіді Джоша Петрі, 3d - це набагато складніше, ніж 2d, переважно в математиці та управлінні сценами. Переміщення предметів та обробка 3D-простору важко, і якщо це одна з ваших перших ігор, просто все буде набагато важче. Хороша новина: Єдність абстрагує деякі з цих питань, хоча все-таки доведеться вирішувати деякі речі (і значна частина абстракції знову ж таки призначена для 3d-моделей, а не 2-х спрайтів)

  4. Більшість бібліотек, до яких входить Unity, або які ви можете отримати для нього, призначені для 3d-об'єктів. Сюди входять такі речі, як освітлення, наведення маршрутів, фізика тощо. Тим часом box2d легко працюватиме з Flash, XNA чи ще чимось (ну, можливо).

Плюси

  1. 3d прискорення. Графічні карти набагато краще обробляти безліч об’єктів у сцені, ніж процесор, і завдяки Unity ви можете отримати цю користь дуже легко. Це дозволяє вам відображати тисячі спрайтів на екрані або легко включати ефекти частинок або додавати щось цікаве, як шейдери для підтримки крутих ефектів, таких як викривлення місця та часу за вашою волею. У Єдності вбудовано багато таких ефектів, що робить його дуже просто. Зауважте, що багато 2d двигунів використовують OpenGL або DirectX поза кадром, а в багатьох випадках також можна прискорити апаратне забезпечення.

  2. Підтримка моделей. Пам'ятаєте ту річ, яка була проблемою раніше? Так, це теж може бути користю. Залежно від гри, корисність може включати обертові сфери або щось круте, як 3d-об'єкт на задньому плані. Ви також можете мати гру, зроблену з 3d, але просто змушеної в 2d перспективі, що може дати вам можливість обертати геометрію світу без необхідності робити багато зайвої графіки для цього.

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

Висновок

Мінусів багато, плюсів також є. Все залежатиме від того, яку гру ви хочете зробити, вирішувати, чи варто того вартий. Flash все ще є надзвичайно життєздатним варіантом, тому немає нічого поганого в роботі з 2d двигуном, якщо саме це краще відповідає вашій грі.


+1. Дуже ретельна та застосовна відповідь. Я розумію, що ви вирішили це раніше.
хаосТехнік

Дякую, саме те, що я шукав! Я думаю, що я продовжую робити увагу на 2d двигунах, оскільки більшість тих, кого я бачив, були побудовані на версії OpenGL або DirectX, і 3d-моделювання трохи поза моїми можливостями. Я хотів би в якийсь момент навчитися Unity, але, напевно, мені буде краще вирішувати це питання після того, як я проведу 2-грі під поясом.
mrohlf

Крім того, тривимірні двигуни дозволяють вам малювати спрайти з довільним обертанням і альфа дуже, дуже легко; легше, ніж якби у вас був чистий 2D двигун. Ось чому багато сучасних 2D двигуни справді є 3D під капотом; Ви також можете написати власні шейдери!
ashes999

7

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

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

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


2

Про: Більше зусиль витрачають виробники відеокарт, оптимізуючи свої 3D-драйвери. Ви не застрягли в 2D для спеціальних FX або флюори. Вам не доведеться імітувати надмірно під себе. Перемикання точок зору не вимагає повного виконання всього вашого мистецтва. Я заперечу, що 3D-масштаби краще візуально.

Кон: Магістральні трубопроводи, ймовірно, доведеться адаптувати до вашого двигуна. Деякі операції, прості в 2D, складніші в 3D. Можливо, бібліотеки матимуть додаткову функціональність, яку ви ніколи не будете використовувати.


0

Просто навчіться Єдності, якщо зможете. Unity добре працює з Blender 3D, який є відкритим і безплатним. Є безліч хороших підручників в Інтернеті про те, як моделювати та анімувати 2D в Blender за допомогою літаків. Також є TON моделей, які ви можете завантажувати в Інтернеті зазвичай безкоштовно або дешево, які ви можете використовувати в якості вихідних пунктів.

Звичайно, це припускає, що ви не вмієте створювати власний ігровий механізм. Моя улюблена 2D гра зараз - це Super Meat Boy, який був розроблений у Flash, а кінець програмування був зроблений на замовлення ... виготовлення ігрового двигуна, який підходив під особливості ігор. Це найкращий спосіб підійти до такого проекту, оскільки він дає вам багато свободи. Це сказало, що потрібно пройти багато роботи, щоб пройти цей маршрут.


Насправді, тепер, коли UNITY додав підтримку 2D, це ще більше не є мозком
Aesadai

1
Я все ще кажу, що Unity смокче для 2D ігор. Для 2-х ігор для мене це НЕ професійної якості, просто порівняйте із солідним 2D двигуном, як Cocos2D-swift. Це не манер.
Джоні
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.