Ahoy!
Je recherche des informations sur les cartes de tuiles, ou plutôt sur le nom d'un type spécifique de carte de tuiles.
Je suis intéressé par le type d'implémentation utilisé dans le magnat des montagnes russes, ou la série de jeux de magnat du transport et j'ai étudié le terrain du champ vectoriel et le terrain de la carte de la hauteur, mais je ne suis pas sûr qu'ils conviennent à ce que je cherche développer.
Il a été difficile de trouver des informations décentes car la plupart des gens s'y réfèrent comme une carte de tuiles isométriques, mais je cherche à créer quelque chose en 3D avec une perspective orthographique fixe. Je comprends que le stockage sous-jacent de la carte de tuiles n'a rien à voir avec la façon dont elle est rendue, mais je ne cherche pas à créer une carte de tuiles 2D comme les jeux pokemon / zelda old school, plus dans la lignée de diablo avec la capacité d'inclure falaises en surplomb et terrain en pente.
J'essaie simplement de trouver les bons termes pour rechercher sur Google et stackoverflow des ressources pour m'aider à décider quel chemin suivre.
Jusqu'à présent, j'ai réussi à étoffer une carte de tuiles de base sans utiliser le composant hauteur / y stocké dans un VBO et rendu sous forme de filaire. Cela semble correct jusqu'à présent, mais j'envisage de rencontrer des problèmes lorsque j'essaie de manipuler un seul sommet pour créer des falaises et des pentes sans affecter une tuile voisine.
Existe-t-il un type spécifique de mise en œuvre que je devrais étudier? Je pensais l'avoir craqué quand j'ai trouvé une bonne quantité d'informations sur le terrain de champ vectoriel, mais je ne suis pas sûr que cela donnerait les résultats corrects non plus.
Si quelqu'un peut m'éclairer à ce sujet, l'aide serait grandement appréciée :)
Mettre à jour
J'ai inclus une image pour plus de précisions sur ce que j'aimerais réaliser:
Image empruntée à Comment créer des tuiles isométriques inclinées (en hauteur)
Cette image montre le type de terrain que je voudrais générer, mais n'inclut pas les "falaises" ou les types de terrain en surplomb que je souhaite modéliser. Cela soulève cependant quelques autres questions auxquelles je n'avais pas pensé, à savoir;
- Comment les «couches» telles que l'eau (en haut à gauche de l'image) seraient-elles gérées pour inclure le sol visible sous l'eau?
- Comment les «bords» de la carte seraient-ils pris en compte afin que la terre / boue soit rendue pour représenter le monde comme une entité non plate?
- Le stockage sous-jacent de ce type de terrain pourrait-il être utilisé pour modéliser la physique, comme une balle roulant sur une colline ou les vitesses de déplacement d'un joueur traversant une pente?
J'ai eu une idée en ce que chaque tuile du terrain pourrait être modélisée avec 8 sommets où les 4 sommets principaux couvrent la tuile réelle elle-même et les 4 sommets restants sont utilisés pour modéliser les côtés / murs de chaque tuile. Les deux problèmes que je vois avec cette implémentation sont que a) la carte du monde est essentiellement doublée de taille et b) étant donné que toutes les tuiles n'incluront pas de "murs", certaines tuiles se retrouveront avec des sommets redondants qui ne sont pas utilisés.
Je voudrais créer un éditeur de terrain qui permet à chaque tuile d'être déformée ainsi que la possibilité de changer le terrain pendant le jeu. Cela pose en soi des questions supplémentaires telles que; Un VBO peut-il être utilisé pour stocker et rendre le terrain tout en étant modifié à la volée et est-il également possible de modifier les sommets sans affecter les tuiles voisines?
J'ai l'impression que je complique trop les choses ou que je tombe dans la paralysie de l'analyse en ce que je néglige d'écrire du code pour résoudre le problème sans avoir une idée claire de la façon dont j'obtiendrais ce que je veux.
Encore une fois, je suis vraiment à la recherche d'un coup de pouce dans la bonne direction avec cela. Existe-t-il un type spécifique d'implémentation de tilemap / terrain qui permettrait à une carte 3D d'être déformée à la fois par un éditeur de carte et pendant le gameplay ou dois-je rouler le mien, pour ainsi dire? Je n'essaie pas de réinventer la roue ici, mais j'ai du mal à trouver des ressources étant donné que je ne sais pas quoi chercher.
Si quelqu'un peut fournir des informations, des ressources ou des extraits de code, cela serait grandement apprécié car je suis impatient de me salir les mains et de commencer à produire autre chose que le filaire plat que j'ai actuellement.
Merci d'avoir lu!