Escalado de HUD con resolución variable

11

No estoy seguro de qué prefieren las personas cuando se trata de HUD y escalarlos. ¿Cuál diría que es la mejor práctica cuando se trata de dimensionar el HUD? Creo que realmente hay dos opciones: ampliar o usar la misma área (en píxeles) para mostrarla en una resolución más alta.

Los problemas que veo con cada uno son con la escala, puedo tener un gran desorden borroso en la esquina, pero si no lo hago, podría ser difícil de ver desde la distancia. ¿Alguna orientación?

Ryan S
fuente

Respuestas:

5

Si está haciendo un juego de PC, puede considerar darle al jugador control sobre la escala de la interfaz de usuario. Por ejemplo, la mayoría de los MMO permiten al usuario agregar una escala de IU para hacer que todo sea más grande. Esto se debe a que el dpi de la pantalla de una PC puede diferir mucho de una persona a otra. A algunos jugadores les gusta que todo sea pequeño, pero muchos otros serán físicamente incapaces de leer el texto a esa escala. Si su HUD se puede deconstruir como múltiples "ventanas", probablemente pueda escalar cada ventana por separado, mientras la conecta al punto correcto en la pantalla (centro inferior, superior izquierdo, etc.).

Ben Zeigler
fuente
12

Depende, si su HUD es una parte integral del diseño, obviamente querrá ampliarlo (o más bien reducirlo - mipmapping y múltiples versiones del mismo recurso aliviarán el problema de pérdida de calidad). Si se trata simplemente de proporcionar información al usuario, trataría de robar el espacio de pantalla tan pequeño como lo permita el HUD y al mismo tiempo garantizar la máxima legibilidad ya que sus activos no se verán borrosos.

Una alternativa es tener un HUD completamente 3D / Vectorizado, en ese caso no sufrirá pérdida de calidad, ya que siempre se procesa en resolución nativa.

Kaj
fuente
Otra ventaja de renderizar el HUD en el espacio 3D es que las tarjetas gráficas deberían poder hacer que su juego sea estereoscópico de forma gratuita (o eso me han dicho).
Aaron Brady
1

Como Kaj mencionó, un HUD modelado en 3D es una buena solución porque puede escalar. También tiene los beneficios de permitirle 'sacudir' al jugador moviendo ligeramente la posición de la cámara (piense en un automóvil que se estrella y la cabeza del conductor se golpea hacia adelante; puede darle al jugador algo de este efecto con solo unos pocos cuadros de movimiento).

kevin42
fuente
1

Algo que ayudará al diseñar sus HUD es usar coordenadas de pantalla normalizadas en lugar de coordenadas de píxeles. Si usa píxeles, debe tener en cuenta todas las resoluciones posibles que desea admitir ... no es divertido.

En su lugar, elija y origen (digamos, la parte inferior izquierda de la pantalla) y llámelo <0, 0>. La parte superior izquierda de la pantalla sería <0, 1> y la parte superior derecha sería <x, 1>, donde x depende de la relación de aspecto. Por ejemplo, a 1680x1050 la relación de aspecto es 16:10, entonces x sería 1.6.

Ahora puede diseñar sus UI en coordenadas de pantalla normalizadas y no se estirarán / sesgarán cuando cambie la relación de aspecto, y se escalarán perfectamente independientemente de la resolución. Los únicos ajustes que quizás tenga que hacer son para 3 o 4 raciones de aspecto (4: 3, 5: 4, 16:10 y 16: 9 probablemente). Incluso puede aliviar eso permitiendo que las cosas se anclen en el lado derecho de la pantalla.

Bob Somers
fuente