Unity Web
Ładowanie gier unity na platformie webowej
Written By Coder Matthew
Last updated 6 months ago
1) Wprowadzenie
Platforma Bitfun umożliwia uruchamianie gier stworzonych w Unity bezpośrednio w przeglądarce użytkownika. Gry działają w technologii WebGL, co pozwala na pełne doświadczenie gry, w tym:
Renderowanie grafiki 3D/2D w przeglądarce,
Obsługę wejścia z klawiatury, myszy i gamepadów,
Integrację wyników graczy z leaderboardami,
Funkcje pełnoekranowe i resetowania gry.
Unity Web w Bitfun działa w HTML5/JavaScript, gdzie główny canvas i loader są dynamicznie generowane w PHP i JS.
https://learn.unity.com/tutorial/getting-started-with-unity-web
2) Struktura plików gry Unity
Każda gra w Bitfun posiada zestaw plików:
W Bitfun loader i pliki są generowane dynamicznie z bazy danych (games.path).
3) HTML/CSS dla gry
Przykład struktury w Bitfun:

#title-loader – wyświetla komunikat podczas ładowania gry..loadingspinner – animacja wczytywania (spinner).#unity-canvas – właściwy canvas gry, do którego Unity renderuje grafikę.
4) JavaScript – uruchamianie gry
4.1) Konfiguracja Unity

4.2) Ładowanie instancji

createUnityInstance – funkcja dostarczona przez loader Unity WebGL.
Po załadowaniu canvas jest widoczny, a spinnery znikają.
Możliwość włączenia pełnego ekranu za pomocą przycisku.
5) Interakcja z użytkownikiem
Bitfun zapewnia dodatkowe funkcje UI nad canvas:
Reset gry – przycisk
location.reload()odświeża stronę i restartuje grę.Leaderboard – tabela wyników z bazy danych (
records), wyświetlana pod grą.Pomoc – przycisk otwiera formularz wsparcia (
support.php).Full Screen – przycisk przełącza grę w tryb pełnoekranowy (
unityInstance.SetFullscreen(1)).
6) Integracja w PHP
Gry są wczytywane dynamicznie z bazy danych:

7) Dobre praktyki
Minimalizować rozdzielczość canvas, aby poprawić wydajność.
Używać
preloadspinnerów i komunikatów, by użytkownik wiedział, że gra się ładuje.W przypadku leaderboardów optymalizować zapytania SQL (
LIMIT 10).Upewnić się, że wszystkie pliki Unity WebGL są dostępne na serwerze (loader, data, wasm).