Como representar faces de penhascos no terreno?

12

Estou tentando descobrir a melhor maneira de representar programaticamente o terreno no meu jogo. Estou pensando em usar um mapa de altura (ou grade de vértices espaçados igualmente) para representar a superfície do terreno e um mapa de splat para permitir texturas suaves. Isso funcionaria em terrenos totalmente lisos, mas o problema é como representar falésias e faces afiadas.

Os próprios penhascos precisariam ser renderizados de forma diferente do resto do terreno. Por exemplo, eles precisariam ter uma textura diferente (não esticada) visível na frente do penhasco, mas se eu usasse o mapa de splat para isso, seria impossível ter uma face do penhasco suficientemente forte onde a textura do penhasco é totalmente separado do chão.

Uma imagem diz mais que mil palavras ...

insira a descrição da imagem aqui

Quais são algumas maneiras gerais de armazenar e / ou renderizar falésias e outras diferenças acentuadas na altura do terreno?

Robert Fraser
fonte
4
Você notará que pouquíssimos jogos têm falésias verdadeiramente verticais, todas inclinadas em pelo menos uma unidade da grade de cima para baixo. A renderização pode ser feita com sombreadores de mapa splat que levam em conta essa inclinação e puxam de uma textura de parede lateral. Blocos como na foto são inseridos como geometria na parte superior do mapa de altura para dar um sabor local.
Patrick Hughes

Respostas:

7

Essa foto parece que eles estão usando um suporte extra para criar o penhasco. Se você deseja usar um mapa de altura simples para representar seu terreno, essa é praticamente a única solução. A boa notícia é que é comumente usado e funciona bem. A solução mais simples (do ponto de vista de programação) é apenas colocar adereços extras, conforme necessário, no editor de níveis. Se você quiser ser extravagante, pode ter uma ferramenta que seleciona automaticamente a partir de um conjunto de adereços e modela o terreno para corresponder.

Você pode fornecer um recurso para extrudar faces no mapa de altura, o que resultará em faces verticais perfeitas com um pouco de complicação extra, mas isso provavelmente não parecerá muito bom e provavelmente exigirá a colocação de uma decoração extra de qualquer maneira para encobrir a borda dura.

A última opção seria renunciar completamente a um mapa de altura e tornar o terreno uma peça completa de geometria, mas você perde a simplicidade agradável de um mapa de altura.

Jason Morales
fonte