Création du terrain grâce au plugin de Zylann Heightmap terrain. Ce plugin est très intéressant pour prototyper, mais il est particulièrement lent car écrit en GDSCript (ce vidéaste en estime la consommation à près de 100FPS pour son prototype de jeu). Il ne sera donc pas la solution pérenne sous sa forme actuelle.
Il s’agit d’un générateur de terrain avec une gestion intégrée du Level Of Detail (et des outils de modélisation) qui se base sur une Heightmap et une SplatMap. Il est donc impossible de faire des surplombs ou de creuser des cavernes directement. Il intègre néanmoins un outil permettant de faire un trou dans le terrain, où l’on pourra placer un autre modèle représentant une éventuelle caverne.
Il a écrit une documentation détaillée.
Les dalles possibles font des tailles par défaut : 513, 1025, 2049 ou 4097 qui correspondent respectivement à 512, 1024, 2048 et 4096 unités au carré(donc mètres). Vu qu’on va utiliser son Shader optimisé (que Zylann appelle le classic4) avec 4 matériaux, je pense qu’il est mieux de partir sur de petites zones, qu’on assemblera. La question demeure de savoir comment on assemblera les plaques les unes à côté des autres, la génération se faisant à l’aide de Heightmap.
Par défaut, les textures sont appliquées avec une densité de 512 pixels pour 10m. Afin de conserver la densité de texel de 1024 pixels au mètre, il faut jouer sur le rapport entre la taille de la plaque et la densité d’UV :
Pour pouvoir être utilisées par le terrain, les textures doivent être réparties comme suit :
Le premier batch est prévu avec des textures de 1024px, comme suit :
Thowsen Media a commencé à développer un outil pour Godot qui permet de générer un terrain de très grande taille pour un Open World : WorldShaper. Ce pourrait être intéressant de le contacter s’il continue le développement et que le besoin s’en fait sentir.