Comment représenter des falaises en terrain?

12

J'essaie de trouver la meilleure façon de représenter par programme le terrain dans mon jeu. J'ai envisagé d'utiliser une carte de hauteur (ou une grille de sommets uniformément espacés) pour représenter la surface du terrain et une splatmap pour permettre une texturation fluide. Cela fonctionnerait pour un terrain totalement lisse, mais le problème est de savoir comment représenter les falaises et les falaises acérées.

Les falaises elles-mêmes devraient être rendues différemment du reste du terrain. Par exemple, ils devraient avoir une texture différente (non étirée) visible sur le devant de la falaise, mais si j'utilisais le splatmap pour cela, il serait impossible d'avoir une face de falaise suffisamment transparente où la texture de la falaise est totalement séparé du sol.

Une image dit mille mots alors ...

entrez la description de l'image ici

Quelles sont les méthodes générales de stockage et / ou de rendu des falaises et autres différences marquées de hauteur du terrain?

Robert Fraser
la source
4
Vous remarquerez que très peu de jeux ont des falaises vraiment verticales, ils sont tous inclinés d'au moins une unité de grille de haut en bas. Le rendu peut être effectué avec des shaders de carte splat qui tiennent compte de cette pente et tirent d'une texture de mur latéral. Les blocs comme dans votre image sont déposés sous forme de géométrie au-dessus de la carte de hauteur pour donner une saveur locale.
Patrick Hughes

Réponses:

7

Cette image semble utiliser un accessoire supplémentaire pour créer la falaise. Si vous souhaitez utiliser une carte à hauteur simple pour représenter votre terrain, c'est à peu près la seule solution. La bonne nouvelle est qu'il est couramment utilisé et fonctionne bien. La solution la plus simple (du point de vue de la programmation) est de simplement placer des accessoires supplémentaires selon les besoins dans l'éditeur de niveau. Si vous voulez devenir sophistiqué, vous pouvez avoir un outil qui sélectionne automatiquement parmi un ensemble d'accessoires et façonne le terrain pour correspondre.

Vous pouvez fournir une fonction pour extruder des visages sur la carte de hauteur, ce qui vous donnera des visages verticaux parfaits avec juste un peu de complication supplémentaire, mais cela ne sera probablement pas très bon et nécessitera probablement le placement d'une décoration supplémentaire de toute façon pour couvrir le bord dur.

La dernière option serait de renoncer à une carte de hauteur tous ensemble et de faire de votre terrain un morceau de géométrie complet, mais vous perdrez alors la belle simplicité d'une carte de hauteur.

Jason Morales
la source