HUD skalieren mit variabler Auflösung

11

Ich bin mir nicht sicher, was die Leute bevorzugen, wenn es um HUDs und deren Skalierung geht. Was ist Ihrer Meinung nach die beste Vorgehensweise bei der Dimensionierung des HUD? Ich denke, es gibt wirklich zwei Möglichkeiten: Skalieren oder denselben Bereich (in Pixel) verwenden, um ihn mit einer höheren Auflösung anzuzeigen.

Die Probleme, die ich bei jedem sehe, sind bei der Skalierung. Ich habe möglicherweise ein großes verschwommenes Durcheinander in der Ecke, aber wenn ich es nicht tue, kann es aus der Ferne schwer zu erkennen sein. Irgendeine Anleitung?

Ryan S.
quelle

Antworten:

5

Wenn Sie ein PC-Spiel erstellen, sollten Sie dem Spieler die Kontrolle über die Skalierung der Benutzeroberfläche selbst geben. Zum Beispiel erlauben die meisten MMOs dem Benutzer, eine UI-Skala hinzuzufügen, um alles größer zu machen. Dies liegt daran, dass die Auflösung eines PC-Displays von Person zu Person sehr unterschiedlich sein kann. Einige Spieler möchten, dass alles winzig ist, aber viele andere Spieler können den Text in dieser Größenordnung physisch nicht lesen. Wenn Ihr HUD als mehrere "Fenster" dekonstruiert werden kann, können Sie wahrscheinlich jedes Fenster separat skalieren, während Sie es an der richtigen Stelle auf dem Bildschirm anbringen (unten in der Mitte, oben links usw.).

Ben Zeigler
quelle
12

Es hängt davon ab, ob Ihr HUD ein integraler Bestandteil des Designs ist, das Sie offensichtlich vergrößern möchten (oder besser gesagt - Mipmapping und mehrere Versionen derselben Ressource verringern das Problem des Qualitätsverlusts etwas). Wenn es nur darum geht, Informationen an den Benutzer zu senden, würde ich versuchen, so wenig Bildschirmfläche zu stehlen, wie das HUD zulässt, und gleichzeitig maximale Lesbarkeit zu gewährleisten, da Ihre Assets nicht unscharf werden.

Eine Alternative ist ein vollständig 3D / Vektorisiertes HUD. In diesem Fall kommt es nicht zu Qualitätsverlusten, da es immer in nativer Auflösung gerendert wird.

Kaj
quelle
Ein weiterer Vorteil des Renderns des HUD im 3D-Raum besteht darin, dass Grafikkarten in der Lage sein sollten, Ihr Spiel kostenlos stereoskopisch zu machen (oder wie mir gesagt wurde).
Aaron Brady
1

Wie Kaj erwähnte, ist ein 3D-modelliertes HUD eine gute Lösung, da es skaliert werden kann. Es hat auch den Vorteil, dass Sie den Player durch leichtes Bewegen der Kameraposition „schütteln“ können (denken Sie an einen Autounfall und einen nach vorne knallenden Kopf des Fahrers - Sie können dem Player einen Teil dieses Effekts mit nur wenigen Bildern von geben Bewegung).

kevin42
quelle
1

Beim Entwerfen Ihrer HUDs können Sie normalisierte Bildschirmkoordinaten anstelle von Pixelkoordinaten verwenden. Wenn Sie Pixel verwenden, müssen Sie alle möglichen Auflösungen berücksichtigen, die Sie unterstützen möchten ... kein Spaß.

Wählen Sie stattdessen einen Ursprung (z. B. unten links auf dem Bildschirm) und nennen Sie ihn <0, 0>. Oben links auf dem Bildschirm wäre <0, 1> und oben rechts <x, 1>, wobei x vom Seitenverhältnis abhängt. Beispielsweise beträgt bei 1680 x 1050 das Seitenverhältnis 16:10, sodass x 1,6 wäre.

Jetzt können Sie Ihre Benutzeroberflächen in normalisierten Bildschirmkoordinaten entwerfen. Sie werden nicht gedehnt / verzerrt, wenn sich das Seitenverhältnis ändert, und sie werden unabhängig von der Auflösung perfekt skaliert. Die einzigen Anpassungen, die Sie möglicherweise vornehmen müssen, betreffen 3 oder 4 Seitenverhältnisse (wahrscheinlich 4: 3, 5: 4, 16:10 und 16: 9). Sie können dies sogar abmildern, indem Sie zulassen, dass Dinge auf der rechten Seite des Bildschirms verankert werden.

Bob Somers
quelle