Jak wdrożyć efekt skrótu trawy?


22

Patrzyłem na zrzuty ekranu z gier takich jak Rocket League i FIFA:

Rocket League

Rocket League

FIFA

i zacząłem się zastanawiać, czy można uzyskać efekt skrótu trawy.

Czy to jest shader? Czy to rzeczywista geometria? A może po prostu teksturowane quady? Byłbym bardzo wdzięczny, gdyby ktokolwiek mógł skierować mnie w tym kierunku.


5
+1, bardzo interesujące pytanie. Wyobrażam sobie, że jest to prawdopodobnie moduł cieniujący (geometria prawdopodobnie spowodowałaby opóźnienie, teksturowane quady prawdopodobnie wyglądałyby znacznie bardziej płasko), ale nie jestem całkowicie pewien.
Superdoggy

2
W programach do renderowania oprogramowania zwykle odbywa się to za pomocą mapowania przemieszczenia i wielu wierzchołków. Po bliższym przyjrzeniu się wydaje się, że używają tego również tutaj, z bardzo sprytnym LOD. Chyba shadery przesunięcia są w użyciu.
akaltar

Myślę, że używają mapowania paralaksy. Jestem tego pewien na zrzutach ekranu Rocket League.
Tara,

@akaltar tak, myślę, że masz rację. I chociaż zrobili LOD, jest w 100% bezproblemowy
Daniel Holst

Spróbuję odtworzyć to za pomocą shaderów i teselacji.
Daniel Holst,

Odpowiedzi:


7

Możesz zajrzeć do techniki cieniowania futra. Tego właśnie użyłbym do tego typu traw, ponieważ im krótsza trawa, tym lepsza wydajność (mniej warstw).
Zasadniczo działa, nakładając kilkakrotnie tę samą powierzchnię w małych odstępach: kilka warstw

wprowadź opis zdjęcia tutaj

Możesz także zmienić przesunięcie w poziomie, aby trawa wyglądała na zgiętą.


to dość interesujące, więc myślę, że mógłbym zasugerować, aby
zagłębić się

2

Najprawdopodobniej jest to moduł cieniujący, który używa mapowania okluzji paralaksy , który używa normalnej mapy do „fałszywej” głębi i cieni w teksturze. Przykłady znajdziesz TUTAJ .

Edycja: Jak wskazał @Leggy, być może bardziej prawdopodobne jest, że jest to mapowanie przemieszczenia, ponieważ stopa wydaje się poruszać między trawą. W każdym razie jest to jakiś shader mapowania wysokości :)


Nie sądzę, bo w takim przypadku stopa nie pojawiłaby się za liśćmi. Mapowanie przemieszczeń wydaje mi się najbardziej prawdopodobne, jak to zrobili
Leggy7,

Myślę, że byłoby to prawdą, gdyby nie była to krótka trawa, w której można „obniżyć podłogę”, a jeśli dobrze pamiętam, mapowanie paralaksy jest szybsze do obliczenia. Ale może masz rację, zredaguję moją odpowiedź.
Bluk

2
Możesz użyć mapowania okluzji paralaksy i zapisać w buforze głębokości, aby zamknąć stopę, i najprawdopodobniej jest to stosowana technika. Moduł cieniujący Uber ma wygląd dema do pobrania. assetstore.unity3d.com/en/#!/content/39959
Seph
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.