- Pourquoi la minimap de Starcraft 2 a-t-elle la forme d'un trapèze ?
- Pourquoi change-t-il de forme lorsqu'il se déplace, un côté devenant plus long, etc.
- Sur quels mécanismes de jeu / mathématiques la forme et l'état sont-ils basés ?
Réponses
Trop de publicités?Personne ici ne connaît le frustum de vision ?
Dans le domaine de l'infographie, votre champ de vision est souvent limité à ce que l'on appelle le "frustum de visualisation", généralement par le biais de la suppression. L'aspect pratique du rendu d'une scène infinie, même sur du matériel moderne, est suffisamment restrictif pour que presque toutes les principales bibliothèques de rendu effectuent une certaine forme d'élimination (même le ray tracing qui effectue généralement l'élimination d'une manière différente). L'élimination est le processus par lequel les objets 3D de la scène ne sont pas dessinés.
Dans la méthode de rendu la plus courante (fragments de dessin), cette élimination est délimitée par un plan d'écrêtage proche, un plan d'écrêtage éloigné et un angle de vue. Comme l'angle de vue est généralement défini pour chaque axe (ou une fois pour les deux axes), la forme résultante est un Frustum. Il est communément appelé Frustum de visualisation, et peut même être défini directement (au lieu de stipuler le plan de détourage proche/lointain et le champ de vision). En openGL c'est l'appel glfrustum (glu calculera le frustum pour vous via l'appel gluPerspective, qui prend les plans d'écrêtage proche/lointain, le champ de vision en Y et un rapport de FoVx à FoVy).
Alors qu'est-ce que ça a à voir avec Starcraft ?
Puisque le frustum de vision représente ce que le joueur peut réellement voir, les créateurs de Starcraft2 ont estimé qu'il serait bénéfique de le projeter sur la minimap, afin que les joueurs puissent identifier ce qui se trouve dans leur champ de vision. De plus, ils ont identifié l'atténuation qui était le résultat du frustum de vision et celle qui était le résultat du terrain lui-même. C'est pourquoi la représentation du frustum de vision sur la minimap change lorsque vous vous déplacez.
Ce n'est pas rectangulaire, parce que vous ne voyez pas le jeu directement d'en haut. On voit aussi un peu à l'horizon. En bas du cadre de vision, vous ne voyez pas autant que dans le haut du cadre de vision, parce que c'est plus loin.
Si vous découpiez un cadre, que vous teniez en biais par rapport à votre sol, vous vous rendriez compte que la zone du sol que vous pouvez voir à travers le cadre n'est pas rectangulaire non plus.
Starcraft2 est un jeu "3d" et la vue principale du joueur fonctionne en mode '3d'. . Par "3d" je veux dire ici que vous voyez la carte sous un certain angle, et l'objet situé en haut de l'écran (au loin) semble plus petit .
En conséquence, vous voyez PLUS d'objets sur le dessus... et par conséquent vous voyez une plus grande paix de la carte sur le côté supérieur de votre moniteur.
La MINI-map affiche la carte en mode 2d . Cela signifie que le terrain et les bâtiments, les unités sont affichés sans tenir compte de la distance qui les sépare de vous (de la hauteur des oiseaux volants).
La mini-carte affiche la partie de la zone que vous voyez en ce moment... et parce que vous voyez plus d'objets au loin, le cadre sur la minimap est trapézoïdal, et non un rectangle.
J'espère que ça explique tout.