Escalando HUD com resolução variável

11

Não tenho certeza do que as pessoas preferem quando se trata de HUDs e dimensioná-los. O que você diria que é a melhor prática quando se trata de dimensionar o HUD? Estou pensando que há realmente duas opções: aumentar a escala ou usar a mesma área (em pixels) para exibi-la em uma resolução mais alta.

Os problemas que vejo com cada um são com o dimensionamento, posso ter uma enorme confusão embaçada no canto, mas se não o fizer, pode ser difícil ver à distância. Alguma orientação?

Ryan S
fonte

Respostas:

5

Se você estiver criando um jogo para PC, considere dar ao jogador controle sobre o dimensionamento da interface do usuário. Por exemplo, a maioria dos MMOs permite ao usuário adicionar uma escala de interface do usuário para aumentar tudo. Isso ocorre porque o dpi da tela de um PC pode diferir bastante de pessoa para pessoa. Alguns jogadores gostam que tudo seja pequeno, mas muitos outros jogadores serão fisicamente incapazes de ler o texto nessa escala. Se o seu HUD puder ser desconstruído como várias "janelas", você provavelmente poderá escalar cada janela separadamente, enquanto a anexa ao ponto correto na tela (parte inferior central, parte superior esquerda, etc.).

Ben Zeigler
fonte
12

Depende, se o seu HUD for parte integrante do design, você obviamente deseja ampliá-lo (ou seja, um mapeamento mip baixo e várias versões do mesmo recurso aliviarão um pouco o problema de perda de qualidade). Se é apenas para obter informações para o usuário, eu tentaria roubar tão pouco espaço na tela quanto o HUD permitir, garantindo ao mesmo tempo a máxima legibilidade, pois seus ativos não serão desfocados.

Uma alternativa é ter um HUD totalmente 3D / vetorizado, nesse caso, você não sofrerá perda de qualidade, pois ela sempre será renderizada em resolução nativa.

Kaj
fonte
Outra vantagem de renderizar o HUD no espaço 3D é que as placas de vídeo devem tornar seu jogo estereoscópico de graça (ou pelo menos foi o que me disseram).
Aaron Brady
1

Como Kaj mencionou, um HUD modelado em 3D é uma boa solução, pois pode ser dimensionado. Ele também tem os benefícios de permitir que você 'chacoalhe' o jogador movendo a posição da câmera levemente (pense em um carro batendo e os motoristas batendo para frente - você pode dar ao jogador um pouco desse efeito com apenas alguns quadros de movimento).

kevin42
fonte
1

Algo que ajudará ao projetar seus HUDs é usar coordenadas de tela normalizadas em vez de coordenadas de pixel. Se você usa pixels, precisa prestar contas de todas as resoluções possíveis que deseja suportar ... não tem graça.

Em vez disso, escolha e origem (por exemplo, no canto inferior esquerdo da tela) e chame-o de <0, 0>. O canto superior esquerdo da tela seria <0, 1> e o canto superior direito seria <x, 1>, em que x depende da proporção. Por exemplo, em 1680x1050, a proporção é de 16:10, portanto x seria 1,6.

Agora você pode criar suas interfaces de usuário em coordenadas de tela normalizadas e elas não serão esticadas / inclinadas quando a proporção for alterada e serão dimensionadas perfeitamente, independentemente da resolução. Os únicos ajustes que você pode precisar fazer são para 3 ou 4 aspectos (provavelmente 4: 3, 5: 4, 16:10 e 16: 9). Você pode até aliviar isso, permitindo que as coisas sejam ancoradas no lado direito da tela.

Bob Somers
fonte