Recherche infos: Vertex Painting et Material Blending

Je suis vraiment tres fort pour ne pas trouver mes mots aujourd’hui, donc vous devrez faire avec ce titre de sujet cryptique jusqu’a ce que mon cerveau fonctionne.

J’essaie de trouver des ressources sur “comment faire ce que j’ai en tete”, mais mes recherches me renvoient soit de la merde, soit des trucs a cote, soit des techniques qui datent d’il y’a 10 ans. Du coup je me dis que soit je n’ai pas les bons termes pour la recherche (fort possible), soit il existe des techniques bien plus simples que j’ai loupe. Donc.

Imaginez un terrain de jeu, genere au runtime. Pour faire simple, tout est compose de tiles. Naivement chaque tile a un materials, et donc on va avoir des tiles de sand, des tiles de grass; et ce que je n’arrive pas a trouver c’est comment gerer les transitions de materials entre tiles? Je cherche material blending, edge blending, et autres, et je me retrouve avec des resultats mitiges.

En 2D, on preparera des textures a l’avance pour faire ces transitions, mais dans le monde moderne des materiaux proceduraux et des techniques qui font bouger les arbres avec du vertex color, je me dis qu’on doit bien avoir une technique pour faire du blending de materiaux entre 2 meshes (technique qui est parfaitement illustree dans le talk GDC Star Wars Battlefront, ou les rochers blendent avec le terrain en dessous


Par exemple, la, entre le mesh et le terrain, ca blend, c’est cool. Bah moi je voudrais faire ca avec 2 tiles cote a cote

Les vieux terrains de l’Unreal Engine comme Unity permettaient de gerer ca avec des splatmaps, ou l’on collait des masques sur des textures qui tile

On est moderne, on fait tout avec des meshes et des materiaux et des shaders super recents, mais je n’arrive pas a trouver de litterature sur ce genre de cas. Autant je vois bien comment on pourrait gerer les transitions sur des trucs statiques, fait a la main (decals, multilayer materials, etc), autant quand je cherche sur “comment le faire au runtime”, nib.

En gros je veux faire ce dont ils parlent ici

mais au runtime.

J’avais ça dans mes bookmarks mais je pense que tu es déjà tombé dessus … et ça ne semble pas vraiment résoudre ton problème de procédural au runtime

https://forums.unrealengine.com/community/work-in-progress/104455-terrain-blending-tool-based-on-star-wars-battlefront?131825-Terrain-Blending-Tool-(based-on-Star-Wars-Battlefront=

C’est le meme contenu que dans le thread polycount. Ca donne des pistes mais je ne sais pas si c’est moi qui prend le probleme du mauvais cote.

http://www.alkemi-games.com/a-game-of-tricks-ii-vertex-color/

A-t-on fait mieux/plus pratique/plus rapide que ceci depuis?

T’avais vu ca? https://www.gamedev.net/articles/programming/graphics/advanced-terrain-texture-splatting-r3287/
Mais c’est vieux…

Peut etre que c’est aussi con que ca au final. Je vais experimenter dans cette voie. Thx

Pour info, le truc de gamedev.net la, c’est typiquement ce qu’on faisait sur islands of wakfu, et ca marchait tres bien.
Ca avait juste pour inconvenient de bien defoncer le fillrate, parce que moults sampling de textures c’est pas super bon.
Mais ca marchait bien et simplement.

Donc ce que je recherche semble possible via Vertex Painting (pas mal de resources dispos, souvent en lien avec Unreal 4, vu que ca semble dispo directement dans le moteur/editeur)

Ok, ca semble etre ca. Merci pour les quelques pistes, ca m’a permis de preciser ma recherche.

Ou encore ceci (ce qui est agacant, parce que blend material c’etait dans ma recherche originale, mais ca ne sortait pas dans les resultats)

J’imagine que tu connais cette suite de logiciels ?


Mais c’est peut-être pas adapté pour ce que tu voulais faire?

Je connais dans le sens ou c’est Industry Standard. Tout le monde l’utilise de pres ou de loin.

Il y’a plusieurs facons de l’utiliser, soit en creant des substances “Procedural Material”, directement, pour generer tes materiaux au runtime (tres utile pour reduire les tailles du package final par exemple), soit en generant les differentes textures qui composeront le material final. Tu combines Designer avec Painter et tu as un combo redoutable et une toolchain complete pour generer des materiaux et les appliquer sur des modeles.

Ce que je recherche c’est comprendre comment fonctionne le blending. Parce que je souhaite generer des bouts de terrain, leur mettre des materiaux, et ensuite generer les transitions automatiquement, en jeu, sans avoir a les creer en amont. Ca c’est la theorie, et comme je n’ai aucune idee de comment ca se fait, je me renseigne.

En fait, il faut ptet plus que tu regardes les trucs plus simples, genre les tutos sur les heightmaps avec du blending sur la hauteur, ca te donnera des bonnes pistes, surement un peu datées (genre en dx9), mais simple, efficaces, eprouvées et du coup, faciles a adapter imo.

La je suis un peu short pour te trouver des liens mais j’espere que tu vois l’idée.

Yes, je vois bien l’idee. Ca doit etre l’ancetre des trucs que je link au dessus. Il semblerait que le mot que je n’avais pas mis dans mes recherches c’etait “Shader”, et qu’il va falloir que je m’interesse a cette partie du dev. Mais du coup ca m’a ouvert plein de possibilites et de perspectives. C’est cool tout ca, merci tout le monde!