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.