Come posso implementare un effetto erba scorciatoia?


22

Ho visto alcuni screenshot di giochi come Rocket League e FIFA:

Lega missilistica

Lega missilistica

FIFA

e ho iniziato a chiedermi che si potesse ottenere l'effetto erba abbreviato.

È uno shader? È la geometria reale? O solo quadricromia? Se qualcuno potesse indicarmi una direzione, sarebbe molto apprezzato.


5
+1, domanda molto interessante. Immagino che sia probabilmente uno shader (la geometria probabilmente causerebbe un ritardo, i quads strutturati probabilmente sembrerebbero molto più piatti) ma non ne sono completamente sicuro.
Superdoggy

2
Nei renderizzatori software viene di solito eseguito con mappatura di spostamento e molti vertici. Dopo aver dato un'occhiata più da vicino sembra che usino anche questo qui, con LOD molto intelligente. Immagino che gli shader di spostamento siano in uso molto probabilmente.
Akaltar,

Penso che stiano usando la mappatura della parallasse. Ne sono abbastanza sicuro negli screenshot della Rocket League.
Tara,

@akaltar sì, penso che tu abbia ragione. E comunque hanno fatto il LOD è senza soluzione di continuità al 100%
Daniel Holst,

Proverò a ricrearlo usando shader e tassellatura.
Daniel Holst,

Risposte:


7

Potresti voler esaminare la tecnica di ombreggiatura della pelliccia. Questo è quello che userei per questo tipo di erba, poiché più corta è l'erba migliore è la prestazione (meno strati).
Fondamentalmente funziona stratificando la stessa superficie più volte con piccoli incrementi: pochi strati

inserisci qui la descrizione dell'immagine

Puoi anche cambiare l'offset orizzontale per far sembrare l'erba piegata.


è piuttosto interessante, quindi penso che potrei suggerire di approfondire questo
argomento a

2

È molto probabilmente uno shader che utilizza la mappatura dell'occlusione parallasse , che utilizza una mappa normale per "fingere" la profondità e le ombre in una trama. Vedi QUI per esempi.

Modifica: Come ha sottolineato @Leggy, è forse più probabile che si tratti di una mappatura di spostamento poiché il piede sembra andare tra l'erba. Ad ogni modo, è una sorta di shader di mappatura dell'altezza :)


Non credo, perché in quel caso il piede non apparirebbe dietro le foglie. La mappatura dello spostamento mi sembra il modo più probabile in cui lo hanno fatto
Leggy7,

Penso che sarebbe vero se non fosse erba corta, dove è possibile "abbassare il pavimento", e se ricordo bene, la mappatura della parallasse è più veloce da calcolare. Ma potresti avere ragione, modificherò la mia risposta.
Bluk,

2
È possibile utilizzare la mappatura dell'occlusione della parallasse e scrivere nel buffer di profondità per occludere il piede e questa è probabilmente la tecnica utilizzata. Lo shader Uber dà un'occhiata alla demo scaricabile. assetstore.unity3d.com/en/#!/content/39959
Seph
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.