Mise à l'échelle du HUD avec une résolution variable

11

Je ne sais pas ce que les gens préfèrent en ce qui concerne les HUD et leur mise à l'échelle. Selon vous, quelle est la meilleure pratique en matière de dimensionnement du HUD? Je pense qu'il y a vraiment deux options: augmenter l'échelle ou utiliser la même zone (en pixels) pour l'afficher sur une résolution plus élevée.

Les problèmes que je vois avec chacun sont avec la mise à l'échelle, j'ai peut-être un énorme gâchis flou dans le coin, mais si je ne le fais pas, il pourrait être difficile de voir à distance. Des conseils?

Ryan S
la source

Réponses:

5

Si vous créez un jeu PC, vous voudrez peut-être envisager de donner au joueur le contrôle de la mise à l'échelle de l'interface utilisateur. Par exemple, la plupart des MMO permettent à l'utilisateur d'ajouter une échelle d'interface utilisateur pour tout agrandir. En effet, le dpi de l'écran d'un PC peut différer considérablement d'une personne à l'autre. Certains joueurs aiment que tout soit minuscule, mais de nombreux autres joueurs seront physiquement incapables de lire le texte à cette échelle. Si votre HUD peut être déconstruit en plusieurs "fenêtres", vous pouvez probablement mettre à l'échelle chaque fenêtre séparément, tout en le fixant au bon point sur l'écran (en bas au milieu, en haut à gauche, etc.).

Ben Zeigler
la source
12

Cela dépend, si votre HUD fait partie intégrante de la conception, vous voudrez évidemment le faire évoluer (ou plutôt vers le bas - le mipmapping et plusieurs versions de la même ressource atténueront quelque peu le problème de perte de qualité). Si c'est simplement pour fournir des informations à l'utilisateur, j'essaierais de voler le moins d'espace d'écran possible, tout en garantissant une lisibilité maximale, car vos ressources ne seront pas floues.

Une alternative est d'avoir un HUD entièrement 3D / vectorisé, dans ce cas, vous ne subirez pas de perte de qualité car il est toujours rendu en résolution native.

Kaj
la source
un autre avantage du rendu du HUD dans l'espace 3D est que les cartes graphiques devraient pouvoir rendre votre jeu stéréoscopique gratuitement (du moins c'est ce qu'on m'a dit).
Aaron Brady
1

Comme Kaj l'a mentionné, un HUD modélisé en 3D est une bonne solution car il peut évoluer. Il a également l'avantage de vous permettre de `` secouer '' le joueur en déplaçant légèrement la position de la caméra (pensez à une voiture qui s'écrase et à la tête du conducteur qui claque en avant - vous pouvez donner au joueur une partie de cet effet avec seulement quelques images de mouvement).

kevin42
la source
1

Quelque chose qui vous aidera lors de la conception de vos HUD est d'utiliser des coordonnées d'écran normalisées plutôt que des coordonnées de pixels. Si vous utilisez des pixels, vous devez prendre en compte toutes les résolutions possibles que vous souhaitez prendre en charge ... pas de plaisir.

Au lieu de cela, choisissez et origine (disons, en bas à gauche de l'écran) et appelez-le <0, 0>. Le coin supérieur gauche de l'écran serait <0, 1> et le coin supérieur droit serait <x, 1>, où x dépend du rapport hauteur / largeur. Par exemple, à 1680x1050, le rapport d'aspect est de 16:10, donc x serait de 1,6.

Vous pouvez maintenant concevoir vos interfaces utilisateur en coordonnées d'écran normalisées et elles ne seront pas étirées / asymétriques lorsque le rapport d'aspect change, et elles évolueront parfaitement quelle que soit la résolution. Les seuls ajustements que vous pourriez avoir à faire sont pour des rations à 3 ou 4 aspects (4: 3, 5: 4, 16:10 et 16: 9 probablement). Vous pouvez même atténuer cela en permettant aux objets d'être ancrés sur le côté droit de l'écran.

Bob Somers
la source