Na dzisiejszym konkurencyjnym rynku gier ważniejsze niż kiedykolwiek jest dotarcie do jak najszerszego grona odbiorców. Tworząc gry na różne formaty, np. telefony, tablety, urządzenia składane i komputery, możesz dotrzeć do większej grupy potencjalnych graczy i zwiększyć swoje szanse na sukces.
Obsługa zmiany rozmiaru ekranu
Aby można było korzystać z różnych formatów, gra musi mieć możliwość zmiany rozmiaru. Możliwość zmiany rozmiaru umożliwia korzystanie z gier w taki sposób jak orientacja pionowa i pozioma, tryb wielu okien czy złożony i rozłożony urządzenie.
Jeśli Twoja gra nie obsługuje wszystkich konfiguracji rozmiaru okna i orientacji, platforma oznacza ją w trybie zgodności i w razie potrzeby wyświetla komunikat z prośbą o zmianę konfiguracji na nieobsługiwaną konfigurację.
Więcej informacji znajdziesz w artykule o obsłudze zmiany rozmiaru dużego ekranu.
Tryb wielu okien
Tryb wielu okien umożliwia jednoczesne używanie tego samego ekranu przez wiele aplikacji. Aplikacje mogą znajdować się obok siebie lub jedna nad drugą (w trybie podzielonego ekranu), jedną w małym oknie nakładającą się na inne aplikacje (tryb obraz w obrazie) lub pojedyncze aplikacje w osobnych ruchomych oknach z możliwością zmiany rozmiaru (tryb swobodny).
Aby uniknąć przejścia w tryb zgodności, gdy gra działa w trybie wielu okien, zadeklaruj, że gra obsługuje możliwość zmiany rozmiaru. Aby to zrobić, w ustawieniach kompilacji Unity włącz opcję Okno z możliwością zmiany rozmiaru.
Wycięcia w ekranie
Wycięcie w ekranie to na niektórych urządzeniach obszar, który rozciąga się na powierzchnię wyświetlacza. Wycięcia umożliwiają odbiór od krawędzi do krawędzi i zapewniają miejsce na ważne czujniki z przodu urządzenia.
Aby zapewnić swojej grze jak największą wygodę, skonfiguruj ją tak, aby uwzględniała bezpieczne ramki. Zapytanie o interfejs safeArea w Unity pozwala określić bezpieczny obszar ekranu (w pikselach) oraz odpowiednio dostosować interfejs i interfejs gry, zwłaszcza pod kątem elementów, z którymi użytkownicy mogą wchodzić w interakcje.
Składane pozycje
Urządzenia składane mogą być różne po złożeniu, np. FLAT
(w pełni otwarte) lub HALF_OPENED
(np. w pełni otwarte lub całkowicie zamknięte). Gdy urządzenie znajduje się w stanie HALF_OPENED
, w zależności od orientacji strony widocznej na ekranie możesz wybrać jedną z dwóch pozycji: na stole (złożenie w poziomie) lub książki (złożenie w pionie).
Użyj pozycji na stole, aby zwiększyć zaangażowanie i zaangażowanie gracza.
Aby wdrożyć stan stołu, rozszerz domyślną aktywność w Unity, a potem użyj biblioteki układu Jetpack WindowManager, by uświadomić sobie, że gra składa się ze złożenia.
Przykładowy projekt w Unity
Przykładowy projekt w Unity jest oparty na projekcie demonstracyjnym Unity 2D Lost Crypt. Przykładowy projekt pokazuje, jak można zmienić rozmiar dużego ekranu w Unity. Obsługa dużego ekranu i urządzeń składanych wymaga wprowadzenia wielu zmian w opcjach kompilacji Unity oraz kwestii związanych z układem aparatu i obszarów roboczych interfejsu.
Przykładowy projekt jest dostępny do pobrania teraz. Projekt zawiera 4 różne sceny:
- Oryginał: obsługa podstawowej funkcji z możliwością zmiany rozmiaru.
- Zakotwiczenie: tak samo jak scena „oryginalna”, ale dostosowuje się do różnych formatów obrazu i nie uwzględnia wycięcia w ekranie.
- HingeAware: działa tak samo jak scena „kotwiczenie”, ale obsługuje stan stołu.
- Menu główne: scena początkowa, która pozwala przejść do innych scen i w pełni obsługuje wszystkie orientacje urządzenia, składanie, rozwijanie i ustawianie na stole.
Tworząc kompilację pod kątem Androida, wybierz wszystkie sceny i ustaw scenę „Menu główne” jako scenę początkową.
Zacznij od obsługi okna ze zmianą rozmiaru
Zaimplementuj obsługę różnych rozmiarów i formatów obrazu w aplikacji na duży ekran na Androida, aby zapewnić prawidłowe wyświetlanie gry lub aplikacji na różnych urządzeniach. Włącz w grze zmianę rozmiaru i formatu obrazu, ustawiając właściwość Okno z możliwością zmiany rozmiaru w ustawieniach kompilacji Unity (zobacz sekcję „Tryb wielu okien”). Dostosuj proporcje aparatu i odbitki na płótnie, aby lepiej pasowały do różnych ekranów. Wyświetl ustawienia projektu w Ustawieniach kompilacji i w pliku Plugins/Android/AndroidManifest.xml
. Zobacz funkcję pełnego ekranu,
z którą możesz zmienić rozmiar, w scenie „oryginalnej”.
Pełne wycięcie w ekranie
Włącz w grze cały ekran, aby rozgrywka była jak najlepsza i dawała użytkownikom lepsze wrażenia. Zaktualizuj kotwicę interfejsu gry i ustawienia kamery, by automatycznie dostosowywać je do rozmiaru ekranu. Dzięki temu elementy interfejsu mogą utrzymywać swoje położenie względem rozmiaru ekranu.
Scena „kotwiczenia” używa skryptu CameraAspectLock
, aby reagować na zmiany konfiguracji urządzenia za pomocą aktywności rozszerzonej (patrz: Assets/Plugins/Android/LargeScreenPlayableActivity.java
). Interfejs API SafeArea Unity jest przedstawiony w skrypcie SafeZoneAPI
, który wiąże się z obiektem SafeZone
w scenie „kotwiczenia”.
Optymalizacja pod kątem urządzeń składanych
Ostatnia scena przykładowego projektu w Unity, „HingeAware”, zawiera obiekt ConfigurationManager
, który reaguje na różne stany złożenia urządzenia docelowego za pomocą interfejsów API biblioteki Jetpack oraz rozszerzonej aktywności (patrz: Assets/Plugins/Android/LargeScreenPlayableActivity.java
). Scena korzysta ze skryptu PanelOnFold
do sterowania interfejsem na podstawie stanu złożenia urządzenia, na przykład przez pokazywanie dolnego panelu kontrolera, gdy kamera pokazuje dolny panel sterowania.