Rozmowa o ogólnym poprawieniu grafiki gry.

Shadery i tematy z nimi związane.

Rozmowa o ogólnym poprawieniu grafiki gry.

Postprzez WojoLsPL » 18 Sty 2016, 10:15

Witam, ogólnie to ostatnio próbuję eksperymentować z grafiką. W unity trochę mam ssanie. Ogólnie to możemy w tym temacie napisać jak można upiększyć grę, jakieś wasze pomysły. Co można wrzucić do świata gry, żeby był ładniejszy, żeby nabrał kolorów i realistyczności. Moje rady są takie:

Drzewa - ważna jest struktura gałęzi, najlepiej jak się robi samemu, to odwzorować z jakiegoś obrazka. Tekstury muszą być dobrane, fajnie by było jakby rozdzielność tych tekstur też była dobra, nie wspominając o jakości.

Trawa - może być z planów, najlepiej gęsta, ale bez przesady - ja jeszcze nie odkryłem magii trawy w unity :v

Shadery - ImageEffects, poprawiają grafikę, takie shadery nakłada się na kamerę. Są różne rodzaje, jedne dają rozmycie podczas obracania kamerą, drugie poprawiają kolory. Shadery też możemy pisać sami, ale to już inna bajka.

Modele - w postaciach ważna jest jedna oś symetrii :D to chyba każdy powinien wiedzieć. Proporcje ciała odgrywają ważną rolę, ale robienie takiego modelu nie jest pracą na godzinę/dwie. Budynki, w budynkach ważne są wymiary, to jest najważniejsze. Modele np. średniowiecznych domów nie będą miały gładkich desek czy schodków(trudno mi to teraz opisywać). Tekstury muszą być dobrane kolorowo i na logikę, jeżeli ściana jest długa, to nikt nie będzie robić jej z malutkich deseczek, tylko użyje duże kamienie, albo szerokie dechy. Ja jeszcze nie opanowałem do końca sztuki budynków, ale próbuję to ćwiczyć. Na koniec muszą być detale, takie jak rama na okno, samo okno, albo jakieś deski, które trzymają strop.

Materiały - są różne typy materiałów, a raczej shaderów, nie ogarniam, ale ogarniam, że każde coś robi :D Są shadery, które pozwalają na zamienienie tekstury w szkło, ale to mniej ważne. W materiałach oprócz zwykłej tekstury liczy się także Normal mapa, Displacement i Occulision. Reszty nie za bardzo robię, ale te są podstawą. Normal mapa generuje na teksturze plamki, które "działają" jak cienie, niby słońce pada od boku, a tam gdzie Normal mapa jest bardziej wyrazista, tam jest wyższy punk i zasłania punkty, które są położone niżej, trudno to powiedzieć :v Displacement działa jak np. wyrycie czegoś w teksturze, zamiast robić jakiś wzorów i zwiększać ilość trisów można dobrze zrobić mapę wysokości i przez to tekstura pod światło wydaje się wypukła. Occulision np. z tego co zauważyłem podkreśla np. jakieś głębsze punkty w teksturze np. szpary między deskami.

Na tym zakończę, może później dodam parę screenów. Tutaj moje postępy, ale to nie wiele:
Image
I w grze:
Image
Husaria jest z nami!
Awatar użytkownika
WojoLsPL
 
Posty: 34
Rejestracja: 06 Lis 2014, 16:09
Has thanked: 0 time
Been thanked: 0 time

Re: Rozmowa o ogólnym poprawieniu grafiki gry.

Postprzez WojoLsPL » 29 Lut 2016, 16:24

Dawno, nawet bardzo nic nie dodawałem, więc coś dodam. Jeśli coś wam się podoba, to możecie oceniać, byłoby miło. Ogólnie to teraz pokażę wam jak ładnie zrobić wysoką trawę na kształt Gothic 3. Zaczynając na wstępie chcę powiedzieć, że nie będę mówił jak zrobić taki model i nie będę go udostępniał.
Pierwsze co to tekstury, tekstura wysokiej trawy:
Image
Tak, może i jakość nie powala, ale to jest tekstura, której użyję. Drugie co musimy zrobić, to odpiedni model, z planes'ów bez robienia podwójnych ścian, żeby było zoptymalizowane. Robimy na nim UVMap i rozciągamy na całą teksturę. Jeśli robimy model w Blenderze, to trzeba go obrócić według osi X, bo potem Unity przewraca.
Image
Importujemy nasz model do Unity, dobrze by też było dodać do niego materiał w Blenderze.
Image
Co do materiału w Unity to najlepiej ustawić Nature/SpeedTree i ustawić jako Leafs, żeby tekstura była przezroczysta. Najlepiej też ustawić Culling na Off, żeby było widać teksturę na obu stronach plane'a.
Image
Dodajemy trawę do Terrain i ustawiamy minimalną wysokość na 0.5, żeby ładnie się układała i kolor na taki, żeby pasowała do naszych zachcianek. Po "rozrzuceniu" na Terrain prezentuje się to tak:
Image
A z kamery:
Image
Do tego tekstura na podłoże:
Image
I całość z trawą i podłożem wygląda tak:
Image
I trawa z minimalną wysokością(0):
Image

Jeśli komuś przypadło do gustu, to może polubić moją stronę na Facebooku RedHussars i skomentować mój temat. Trawę można dobierać do potrzeb, zmieniać tekstury itd.
Husaria jest z nami!
Awatar użytkownika
WojoLsPL
 
Posty: 34
Rejestracja: 06 Lis 2014, 16:09
Has thanked: 0 time
Been thanked: 0 time

Re: Rozmowa o ogólnym poprawieniu grafiki gry.

Postprzez Ice_trooper » 29 Lut 2016, 21:59

Sam tej trawy nie zrobię, bo na razie nie mam potrzeb, ale jak widzę po ss to pięknie ona wygląda. Tutorial też dobrze opisany. ;) Na pewno komuś się przyda (zwłaszcza jak tyle osób chce zaczynać swoje pierwsze gry od RPG'ów :F).
Dzięki za podzielenie się tip'em.
Nie śpię, bo programuję.
Awatar użytkownika
Ice_trooper
 
Posty: 140
Rejestracja: 31 Lip 2015, 22:27
Has thanked: 0 time
Been thanked: 0 time

Re: Rozmowa o ogólnym poprawieniu grafiki gry.

Postprzez Paweł » 01 Mar 2016, 15:00

Dodajesz to jako Detail Mesh w terenie ? Żeby malować trawą musisz użyć tekstury 2D a nie prefab/model. Efekt jest fajny, ale na Detail Mesh z tego co pamietam nie działa wiatr
Chetnie pomoge w kwestii programowania.
Aktualnie pisze w C#, C++, ale nie tylko w tych językach.
Awatar użytkownika
Paweł
 
Posty: 398
Rejestracja: 29 Kwi 2014, 15:11
Has thanked: 0 time
Been thanked: 0 time

Re: Rozmowa o ogólnym poprawieniu grafiki gry.

Postprzez WojoLsPL » 13 Mar 2016, 12:22

Paweł napisał(a):Dodajesz to jako Detail Mesh w terenie ? Żeby malować trawą musisz użyć tekstury 2D a nie prefab/model. Efekt jest fajny, ale na Detail Mesh z tego co pamietam nie działa wiatr


Tak, dodaję Detail Mesh typu Grass, lekko zmienić ustawienia Terrain Wind na mniejsze i wszystko ładnie faluje. Chciałem dodać GIF'a, ale program usunąłem i nie chciało mi się znowusz pobierać. Sorry, ze tak późno odpisuję, ale wchodzę co 2tyg.
Husaria jest z nami!
Awatar użytkownika
WojoLsPL
 
Posty: 34
Rejestracja: 06 Lis 2014, 16:09
Has thanked: 0 time
Been thanked: 0 time

Re: Rozmowa o ogólnym poprawieniu grafiki gry.

Postprzez WojoLsPL » 13 Mar 2016, 13:03

Efekty na kamerze:
Fajnie by było jakby nasza gra nabrała "koloru" w postaci rozmazywania podczas ruchu kamerą, wygładzenia krawędzi lub poprawienia kolorów. Podstawowym (tak mogę go nazwać) efektem na kamerę jest Antialiasing - rozmazywanie krawędzi(tak w skrócie). Tak to wygląda(popatrzcie się na krawędzie liści albo postaci, które dzielą te modele z niebem czy czymś innym - to jest GIF):
Image
Takie efekty można dodać importując z zasobów Unity "Effects", w standardowych zasobach znajdziemy folder Effects, wchodzimy w niego, będzie tam kilka folderów, ale my wchodzimy w Image Effects i następnie w Scripts. Owe skrypty nakładamy na kamerę. Możecie się nimi bawić, ja nie będę podawał moich ustawień, bo nie ma sensu. Możecie też się pobawić innymi efektami z folderu głównego. Przydatne też mogą być SunShafts, ColorCorrection, Bloom.
Image
Do horroru można użyć Global Fog:
Image
Jak na razie, to tyle. Dzięki za uwagę.
Husaria jest z nami!
Awatar użytkownika
WojoLsPL
 
Posty: 34
Rejestracja: 06 Lis 2014, 16:09
Has thanked: 0 time
Been thanked: 0 time


Wróć do Shader Lab

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 1 gość