×

Наскільки добре підходить Unity для створення браузерних ігор?

Доброго дня. На сайті itch.io є багато зразків того що на Unity створювались браузерні ігри із WebGL.

Який ваш досвід створення WebGL проектів із Unity? Чи може краще використати threejs відразу?

Чи можна в Unity використовувати JS-специфічні виклики, такі як Ajax, інші JS бібліотеки?

Якщо в проекті використовується System.IO.File, або CLR-специфічний виклик Serialization, то як це буде оброблятись при зборці цього проекту для WebGL?

В зразках на сайті я бачу що задіяна навіть складна фізика зіткнень та terrain. Чи можуть з нею викликати проблеми в WebGL зборці?

Підписуйтеся на Telegram-канал @gamedev_dou, щоб не пропустити найважливіші статті і новини про геймдев

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

На тему

System.IO.File

ось тут є відповідь хороша stackoverflow.com/...​l-for-unity-webgl-runtime (перший коментар).
Якщо коротко то «Ні, не буде, але є альтернативи», але це повʼязано не з кривістю Юніті, а зі специфікою роботи браузера. Якщо тобі стане легше, на більшості консолів також базовий System.IO не підходить (але це знову через специфіку платформ).

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

А так дуже важко відповісти без хоча б якогось опису проекту. Але якщо це не портування готового проекту, і не проект, який прямо виграє від якось спецефічної Юнітової фічі, і там ще треба підкручувати JS бібліотеки, ну не бачу сенсу вживати Юніті.

Просто в своєму проекті збереження даних я зробив через серіалізацію в xml і запис у файл. А потім задумався — як це буде працювати у web? Є звичайно local storage та все ж

Ну, я також був у подібній ситуації і був неприємно здивований. Плюс навіть запис до PlayerPrefs має лімітації. «On WebGL, Unity stores up to 1MB of PlayerPrefs data using the browser’s IndexedDB API. For more information, see IndexedDB.»

Тому ідеальний варіант — створення акаунту для кожного грався і висилка(скачування) файлів з сервера.

Але мій проект був у стані прототипу, то для тестів вистачило запису у буфер (clipboard, одна лінійка коду буквально треба). Коли треба було зберегти гру, серіалізовані дані перекидувалися в буфер і через Ctrl+V вставлялись в файл. Коли треба було прочитати сейва, було окреме вікно, куди можна було вставити текст (або вичиталися дані з буфера).

Як людина, яка 6 років займається веб іграми, включно із портуванням з Unity під веб, можу сказати коротко — Unity не кращий інструмент по багатьом причинам. В основному це погана підтримка браузерів на кросплатформі (веб, мобайл), завелика вага білдів, складно оптимізувати. JS ще довго буде основою для вебу.

коли я недавно збирав то гра дуже лагала і була купа помилок/варнінгів по webgl, але працювала

Народ зайдіть в вікіпедію. JS та Boo вже давно не підтримуються. А зараз розвивається Visual Scripting.

Підписатись на коментарі