Comment puis-je mettre en œuvre un effet herbe raccourcie?

22

J'ai regardé quelques captures d'écran de jeux comme Rocket League et FIFA:

Rocket League

Rocket League

FIFA

et j'ai commencé à me demander si l'on obtiendrait l'effet d'herbe raccourcie.

Est-ce un shader? S'agit-il d'une géométrie réelle? Ou juste des quads texturés? Si quelqu'un pouvait m'orienter dans une direction, ce serait grandement apprécié.

Daniel Holst
la source
5
+1, question très intéressante. J'imagine que c'est probablement un shader (la géométrie causerait probablement du retard, les quads texturés auraient probablement l'air beaucoup plus plats) mais je ne suis pas complètement sûr.
Superdoggy
2
Dans les moteurs de rendu, cela se fait généralement avec un mappage de déplacement et beaucoup de sommets. Après avoir regardé de plus près, il semble qu'ils l'utilisent ici aussi, avec un LOD très intelligent. Je suppose que les shaders de déplacement sont très probablement utilisés.
akaltar
Je pense qu'ils utilisent la cartographie de parallaxe. J'en suis presque sûr dans les captures d'écran de Rocket League.
Tara
@akaltar ouais je pense que vous avez raison à ce sujet. Et cependant, ils ont fait le LOD, c'est 100% transparent
Daniel Holst
Je vais essayer de recréer cela à l'aide de shaders et de tessellation.
Daniel Holst

Réponses:

7

Vous voudrez peut-être étudier la technique de l'ombrage de la fourrure. C'est ce que j'utiliserais pour ce type d'herbe, car plus l'herbe est courte, meilleures sont les performances (moins de couches).
Fondamentalement, cela fonctionne en superposant la même surface plusieurs fois par petits incréments: quelques couches

entrez la description de l'image ici

Vous pouvez également modifier le décalage horizontal pour donner à l'herbe un aspect courbé.

Martin Ciz
la source
c'est assez intéressant, donc je pense que je pourrais suggérer d'aller plus loin en commençant par cet article
Leggy7
2

Il s'agit très probablement d'un shader qui utilise la cartographie d'occlusion Parallax , qui utilise une carte normale pour "truquer" la profondeur et les ombres dans une texture. Voir ICI pour des exemples.

Edit: Comme l'a souligné @Leggy, il est peut-être plus probable qu'il s'agisse d'une cartographie de déplacement car le pied semble aller entre l'herbe. Quoi qu'il en soit, c'est une sorte de shader de cartographie de la hauteur :)

Bluk
la source
Je ne pense pas, car dans ce cas, le pied n'apparaîtrait pas derrière les feuilles. La cartographie des déplacements me semble la façon la plus probable de le faire
Leggy7
Je pense que ce serait vrai s'il ne s'agissait pas d'herbe courte, où vous pouvez "baisser le sol", et si je me souviens bien, la cartographie de parallaxe est plus rapide à calculer. Mais vous avez peut-être raison, je vais modifier ma réponse.
Bluk
2
Vous pouvez utiliser le mappage d'occlusion de parallaxe et écrire dans le tampon de profondeur pour occlure le pied et c'est probablement la technique utilisée. Le shader Uber fait cela, regardez la démo téléchargeable. assetstore.unity3d.com/en/#!/content/39959
Seph