Qual é a melhor maneira de implementar um recurso de detalhes, como uma estrada, em um terreno com mapa de altura?
Atualização: é um pouco difícil de ver na imagem, mas a estrada desce do topo da pedreira para fazer sua base.
O que é ótimo nas imagens é que elas geralmente incorporam até 4 canais (vermelho, verde, azul e alfa). Como um mapa de altura precisa apenas de uma dimensão, você pode usar o canal vermelho para armazenar as informações de altura (você ainda possui 256 níveis para a altura) e, em seguida, usar outros canais para outros fins (como usar o canal verde para mapear as estradas) , canal azul para água / umidade) etc ...
Assim, você pode ter certeza de que, ao construir seu terreno, as zonas onde uma estrada deve ser construída aparecerão planas, em vez de seguir o gradiente de altura.
A maneira como faço isso é separar o mapa de altura (eu uso floats, por exemplo, 513 * 513) e o splatmap (a "textura de controle") que geralmente precisa de uma resolução maior (eu uso 32 bits bmps, 512x512).
O mapa de altura cria a malha (o terreno, os triângulos).
O mapa de controle abrange todo o terreno e cada uma de suas camadas (RGBA) indica o quanto dizem Stone, Dirt, Road etc. que você deve ver No terreno.
Dessa forma, você pode usar um editor para: a) criar o terreno eb) pintar o terreno (com rocha, terra, estrada etc.)
Faça um goolge rápido em 'painting heightmap', 'heightmap splatmap' e tal para obter uma explicação mais completa ou faça o download, diga ao Unity3D para verificar como ele pode funcionar na 'realidade'.
fonte