Jump to content

RaVirr

Recommended Posts

Tutorial przeznaczony jest dla użytkowników posiadających wiedzę co najmniej podstawową w zakresie obsługi Blendera.

Czy zdarzyło Ci się kiedyś, że spojrzałeś z wielkim zadowoleniem na wymodelowany przez siebie obiekt i przypomniałeś sobie o zestawie tekstur, które wspaniale by go uzupełniły, ale po przypisaniu ich do modelu okazało się, że nie jest tak jak sobie wymarzyłeś? W tym wątku zaprezentuję, że nie potrzebujesz dodatkowych narzędzi by poradzić sobie z rozczarowaniem w kwestii tekstur.
Poradnik jest skierowany głównie do concept artystów, którzy dzięki 3d chcą ułatwić sobie pracę (lub nadgonić brak umiejętności). Sam tworzę w ten sposób modele, które są fenomenalną bazą do późniejszej podmalówki.
Dodam tylko, że efekt jest nie do końca spójny jako całość, ale chciałem by było widać jak na dłoni poszczególnie zaimplementowane etapy pracy.

1. Zaczynamy od wymodelowania prostego obiektu (w przypadku bardziej skomplikowanych obiektów ta metoda zadziała tak samo dobrze):
image.png.aa35d568233d83b54417cc560825482f.png
Przypisujemy do materiału Principled BSDF interesujący nas, bazowy zestaw tekstur PBR:
image.png.774a2542b90bedca830f382e86f46783.png
Model po wyrenderowaniu wygląda następująco:
image.png.fb7b243708c8cacc4287c4b2c3fbbfa1.png

Nie da się ukryć, że efekt nie należy do najciekawszych- co za chwilę zwalczymy.
2. Przechodzimy do pierwszego etapu, jakim będzie "przetarcie krawędzi". 
Podaję linka do darmowych, gotowych masek do wykrywania krawędzi obiektu, a których używam w tym wypadku:
https://alaaeldien.gumroad.com/l/lzqZZF

Dodajemy node "Mix Shader", który, jak sama nazwa wskazuje, będzie mieszał 2 tekstury i podpinamy interesującą nas maskę w następujący sposób:
image.png.c2c16263e07a463f1b9a3851423cf38c.png
Kopiujemy istniejący Shader Principled BSDF wraz z teksturami, w skopiowanym materiale dodajemy node "Hue Saturation Value" w taki sposób:
image.png.b2c18917bb4815ecb4f678c0a076c03b.png
Podpinamy drugi shader do noda MixShader i efekt powinien wyglądać tak:
image.png.3c5343291dd0e168a96eb87e1707de17.png

3. W edytorze materiału dodajemy kolejny node "Mix shader". Z racji tego, że podłoże jest trawą- dodamy zestaw tekstur trawy 🙂 
image.png.ced126514dff77c79276d402ff472ed1.png
image.png.8278492be7cd7d7657c9db72afffa90e.png
3.a. Obecnie tekstury po prostu nakładają się na siebie. Chcemy by zazielenienie obiektu pojawiło się jedynie przy podłożu. Aby uzyskać ten efekt należy podłączyć następujący zestaw nodów do noda mix shader:
image.png.389786697ac0165d4587460b828c07f4.png
Powinniśmy uzyskać następujący efekt:
image.png.9d9d32f8e8a552d30397a02ee1f82342.png
Skrótowe objaśnienie dlaczego tak to wygląda:
Invert node- zamienia miejscami czerń z bielą na color rampie
ColorRamp node- odpowiada za ustawienie wysokości do jakiej ma występować zazielenienie wraz z jej "intensywnością":
https://i.gyazo.com/ab586a1e0b25bc96530d63f84d0757c2.mp4

SeperateXYZ- pokazujemy o którą oś nam chodzi (w tym wypadku Z bo wysokość)
Mapping- to samo działanie co ColorRampa, ale w wygodniejszy, liczbowym wydaniu- ten nod można pominąć w tym zestawie
Texture Coordinate- podpięte w ten sposób sugeruje programowi, że ważne dla nas jest ustawianie zależności w obrębie samych tekstur. Dzięki temu wysokość zazielenienia na obiekcie będzie niezależna od jego pozycji (wysokości) na scenie.
Jeśli chcemy by zazielenienie występowało do pewnej wysokości (w rozumieniu całej sceny) należy podłączyć nody w taki sposób:
image.png.f6b2458df3aab64c1df685cbac1abcae.png
https://i.gyazo.com/d7780d98da9a788b3ff79108dbebaf8d.mp4

3.b. By dodać nieco nieregularności dodajemy node MixRGB oraz Musgrave Texture podłączając je w następujący sposób:
image.png.38c5caeaf98280782f68c02be8924350.png
Efekt powinien wyglądać mniej więcej tak:
image.png.07a7000ffcbe08025fac69663f83a8ad.png
Jeśli chcemy by przy gruncie zazielenienie było lite należy dodać zestaw nodów jak w 3.a. (dodając dodatkowy node Mix shader):
image.png.0bde5058b3e70deb1dee97345d4cb72c.png
Efekt:
image.png.76160915985e6baa00d82fc9f01c3d9c.png
Efekt włącznie z "przetarciami":
image.png.0a1cbdbb0c2704888863ab2c3aed05da.png

4. Kolejnym etapem jest dorzucenia pseudo mchu na górnych częściach- standardowo dodajemy node Mixshader, podłączamy materiał zieleni i robimy tym razem następujący setup by program wiedział gdzie to wyświetlać:
image.png.6bfbf82df301a33593f1cb20ec2ca2ca.png
Efekt:
image.png.e21afe8d0b790a786aaaf4e5c17e262f.png

Oczywiście jeśli chcemy dodać do tego randomowość to powtarzamy krok jak w punkcie 3.b.
5. Ostatnim elementem będą pseudo uszkodzenia/zabrudzenia na samej powierzchni by przełamać nieco teksturę cegieł.
ŻEBY ZABRUDZENIA/USZKODZENIE NIE PRZEBIJAŁY PRZEZ ZAZIELENIENIE DODAJEMY NODE MIXSHADER PRZED WSZYSTKIMI DOTYCHCZAS DODANYMI NODAMI MIX SHADER

Dodałem nowy materiał, który będzie imitował brud. Ustawienie nodów powinno wyglądać tak:
image.png.c19c3ead5ac8212334c920a29376d56e.png
*Node tytuowany tutaj Add tak naprawdę nazywa się Math.

6. Ostatecznie ustawienie nodów jest tylko na pozór przerażające (jak pokazałem w poprzednich punktach jest to tak naprawdę powtarzanie tych samych czynności):
image.png.684d9ef485e9f6d3724fc5bfc73dffb2.png
Ostateczny efekt powinien wyglądać mniej więcej tak:
image.png.094de864653477b56116b8f95a10b482.png

Dzięki za przeczytanie!

Edited by RaVirr
  • Like 6
  • Thanks 10
Link to comment
Share on other sites

Super minitutorial, właśnie takich trzeba. 

Mam uwagę odnośnie tego:

13 godzin temu, RaVirr napisał:

Mapping- to samo działanie co ColorRampa, ale w wygodniejszy, liczbowym wydaniu- ten nod można pominąć w tym zestawie

Nie chodziło aby o Map Range? Bo właśnie tego noda można stosować zamiast Color Ramp w sytuacji gdy ten drugi ma tylko dwie flagi i chcemy tylko 'zgnieść' walory. Przy używaniu Musgrave Texture w połączeniu z Map Range trzeba tylko pamiętać, że Musgrave wypluwa wartości od -1 do 1 a nie od 0 do 1, więc trzeba ustawić w Map Range właśnie taki zakres.

  • Like 1
Link to comment
Share on other sites

2 godziny temu, EthicallyChallenged napisał:

Super minitutorial, właśnie takich trzeba. 

Mam uwagę odnośnie tego:

Nie chodziło aby o Map Range? Bo właśnie tego noda można stosować zamiast Color Ramp w sytuacji gdy ten drugi ma tylko dwie flagi i chcemy tylko 'zgnieść' walory. Przy używaniu Musgrave Texture w połączeniu z Map Range trzeba tylko pamiętać, że Musgrave wypluwa wartości od -1 do 1 a nie od 0 do 1, więc trzeba ustawić w Map Range właśnie taki zakres.

Mój błąd lub niedopowiedzenie- chodziło mi o Mapping, ale (w tym wypadku) gdyby nie było color ramp to cały ten zestaw by nie działał tak jak opisałem. Ja go sobie dodaję bo wygodniej mi liczbowo "przesuwać" granicę gradientu 🙂 To miałem na myśli:
https://i.gyazo.com/f67f45039d5e3199be4820b9c6d8aa61.mp4

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy