Skalowany HUD ze zmienną rozdzielczością

11

Nie jestem pewien, co ludzie wolą, jeśli chodzi o interfejsy i skalowanie ich. Co powiesz na najlepszą praktykę, jeśli chodzi o zmianę rozmiaru interfejsu? Myślę, że tak naprawdę są dwie opcje: Skaluj w górę lub użyj tego samego obszaru (w pikselach), aby wyświetlić go w wyższej rozdzielczości.

Problemy, które widzę przy każdym z nich, dotyczą skalowania, w rogu może być bardzo rozmazany bałagan, ale jeśli tego nie zrobię, może być trudno dostrzec go z daleka. Jakieś wskazówki?

Ryan S.
źródło

Odpowiedzi:

5

Jeśli tworzysz grę na PC, możesz rozważyć samodzielne kontrolowanie skalowania interfejsu użytkownika. Na przykład większość MMO pozwala użytkownikowi dodać skalę interfejsu użytkownika, aby wszystko było większe. Wynika to z faktu, że rozdzielczość ekranu komputera może się znacznie różnić w zależności od osoby. Niektórzy gracze lubią wszystko, co jest małe, ale wielu innych graczy nie będzie w stanie fizycznie odczytać tekstu na taką skalę. Jeśli twój HUD może być zdekonstruowany jako wiele „okien”, prawdopodobnie możesz osobno skalować każde okno, dołączając je do odpowiedniego punktu na ekranie (środkowy dolny, lewy górny itd.).

Ben Zeigler
źródło
12

To zależy, jeśli twój HUD jest integralną częścią projektu, to oczywiście chcesz go przeskalować w górę (a raczej w dół - mipmapowanie i wiele wersji tego samego zasobu nieco złagodzi problem utraty jakości). Jeśli tylko po to, aby uzyskać informacje dla użytkownika, spróbuję ukraść tak mało miejsca na ekranie, na ile pozwala HUD, jednocześnie zapewniając maksymalną czytelność, ponieważ twoje zasoby nie zostaną zamazane.

Alternatywą jest posiadanie w pełni 3D / Vectorized HUD, w takim przypadku nie poniesiesz utraty jakości, ponieważ zawsze jest renderowany do natywnej rozdzielczości.

Kaj
źródło
Kolejną zaletą renderowania interfejsu w przestrzeni 3D jest to, że karty graficzne powinny być w stanie uczynić grę stereoskopową za darmo (a przynajmniej tak mi powiedziano).
Aaron Brady
1

Jak wspomniał Kaj, HUD modelowany w 3D jest dobrym rozwiązaniem, ponieważ można go skalować. Ma także tę zaletę, że pozwala „potrząsnąć” odtwarzaczem przez lekkie przesunięcie kamery (pomyśl o wypadku samochodowym i główce kierowcy uderzającej do przodu - możesz dać graczowi ten efekt za pomocą kilku klatek ruch).

kevin42
źródło
1

Coś, co pomoże w projektowaniu interfejsów użytkownika, to użycie znormalizowanych współrzędnych ekranu zamiast współrzędnych pikseli. Jeśli używasz pikseli, musisz uwzględnić wszystkie możliwe rozdzielczości, które chcesz wesprzeć ... nie ma zabawy.

Zamiast tego wybierz i rozpocznij (powiedzmy, lewy dolny róg ekranu) i nazwij go <0, 0>. Lewy górny róg ekranu to <0, 1>, a prawy górny róg to <x, 1>, gdzie x zależy od współczynnika kształtu. Na przykład przy 1680 x 1050 współczynnik proporcji wynosi 16:10, więc x wyniesie 1,6.

Teraz możesz projektować swoje interfejsy użytkownika w znormalizowanych współrzędnych ekranu i nie będą one rozciągane / pochylane, gdy zmieni się proporcje, i będą skalować się idealnie niezależnie od rozdzielczości. Jedyne zmiany, które możesz wprowadzić, dotyczą proporcji 3 lub 4 (4: 3, 5: 4, 16:10 i 16: 9). Możesz nawet to złagodzić, pozwalając na zakotwiczenie rzeczy po prawej stronie ekranu.

Bob Somers
źródło