W tym samouczku wykorzystano lokalną wartość przestrzenną materiału zamiast jego bezwzględnej pozycji w świecie w celu ustalenia miejsca przecięcia.
Aby utworzyć efekt przecięcia, najpierw ustawisz graf węzła emisyjnego w celu utworzenia litego materiału, a następnie użyjesz przestrzeni lokalnej siatki oraz funkcji materiału w celu ustalenia miejsca przecięcia na siatce.
Tworzenie grafu węzła emisyjnego
Wybierz główny węzeł materiału i zaznacz opcję Dwustronny w panelu Szczegóły.
Otwórz menu rozwijane Tryb mieszania i wybierz Maskowane.
Do materiału dodaj następujące węzły do skopiowanego materiału, klikając prawym przyciskiem w grafie węzłów i wyszukując konkretną nazwę:
3 x Węzeł Stała
2 x węzeł Wyrażenie stałej 3Vector
2 x węzeł Limit
Węzeł Append3Vector
Węzeł WorldPosition
Węzeł Odejmij
Węzeł Iloczyn skalarny
Węzeł Pomnóż
Węzeł Interpolacja liniowa
Węzeł TwoSidedSign
Kliknij dwukrotnie pierwszy węzeł Constant3Vector i dodaj do materiału zewnętrzny kolor.
Wyciągnij białe gniazdo z pierwszego węzła Constant3Vector i wetknij je do wejścia Kolor bazowy na głównym węźle materiału.
Wyciągnij gniazdo z pierwszego węzła Stała, wetknij je do wejścia Chropowatość w głównym węźle materiału i zmień wartość na 0.75.
Ta konfiguracja generuje kolor bazowy i reakcję materiału na światło dla obiektu, do którego jest przypisany materiał. Kolejna konfiguracja tworzy element emisyjny, który powoduje, że wnętrze siatki od wewnątrz wygląda na lite.
Wyciągnij węzeł TwoSidedSign i wetknij go do węzła Limit, a następnie wyciągnij węzeł Limit i wetknij go do wejścia Alfa w węźle Interpolacja liniowa.
Kliknij dwukrotnie drugi węzeł Constant3vector i dodaj kolor wnętrza siatki. Wyciągnij białe gniazdo węzła Constant3Vector i wetknij je do wejścia A na węźle Interpolacja liniowa.
Wybierz węzeł Interpolacja liniowa i ustaw wartość wejścia B na 0.0.
Wyciągnij węzeł Interpolacja liniowa i wetknij go do wejścia A na węźle Pomnóż.
Wybierz węzeł Pomnóż i ustaw wartość wejścia B na 0.3.
Wyciągnij węzeł Pomnóż i wetknij go do wejścia Kolor emisyjny na głównym węźle materiału.
Graf węzła emisyjnego jest kompletny.
Graf lokalizacji
Następnie utwórz graf lokalizacji, którego celem będzie lokalizacja siatki w celu usunięcia jej części z projektu.
Możesz skopiować węzeł, który już korzysta z grafu emisyjnego, i usunąć część grafu, której nie potrzebujesz, a następnie dodać niezbędną konfigurację węzła, aby utworzyć efekt.
Przyjmując za cel dane lokalizacji siatki, możesz wykorzystać materiał do spowodowania zniknięcia części siatki. Efekt ten można również zastosować do utworzenia animacji.
Utwórz węzeł funkcji materiału, klikając prawym przyciskiem myszy w edytorze materiałów i wpisując Funkcje w pasku wyszukiwania. Wybierz opcję MaterialFunctionCall. W edytorze materiałów pojawi się węzeł Nieokreślona funkcja.
Nie możesz wyszukać określonej funkcji materiału w edytorze materiałów, tylko musisz utworzyć węzeł nieokreślonej funkcji materiału i przypisać do niego funkcję.
Wybierz węzeł Nieokreślona funkcja i w panelu szczegółów przypisz funkcję materiału Pozycja lokalna z menu rozwijanego Funkcja materiału. Węzeł funkcji materiału LocalPosition automatycznie pojawi się w edytorze materiałów.
Utwórz drugi węzeł Nieokreślona funkcja i przypisz do niego funkcję ObjectLocalBounds.
Utwórz nową instancję materiału i otwórz ją.
Wybierz węzeł Materiał główny i zmień ustawienie Tryb mieszania na Maskowane.
W Edytorze materiałów dodaj następujące węzły:
Węzeł Podziel
Węzeł Constant3Vector
Węzeł ComponentMask
Węzeł Limit
2 x węzeł Stała
Węzeł Odejmij
Wybierz węzeł Constant3Vector i kliknij go dwukrotnie, aby dodać kolor.
Wyciągnij gniazdo białego wyjścia z węzła Constant3Vector i wetknij je do wejścia Kolor bazowy w węźle Materiał główny.
Wybierz węzeł Stała i ustaw dla niego wartość .75.
Wyciągnij węzeł Stała i wetknij go do wejścia Chropowatość w węźle Materiał główny.
Wyciągnij gniazdo Lokalna pozycja instancji w węźle Lokalna pozycja i wetknij je do wejścia A w węźle Podziel.
Wyciągnij gniazdo Rozmiar lokalnych granic w węźle ObjectLocalBounds i wetknij go do wejścia B w węźle Podziel.
Wyciągnij węzeł Podziel i wetknij go do wejścia B w pierwszym węźle Podziel.
Zmień wartość wejścia A w węźle Odejmij na 1.0.
Wyciągnij pierwszy węzeł Odejmij i wetknij go do węzła Maska.
Wyciągnij węzeł Maska i wetknij go do wejścia A w drugim węźle Odejmij.
Wybierz drugi węzeł Stała i zmień jego wartość na 0.1.
Wyciągnij węzeł Stała i wetknij go do wejścia B w drugim węźle Odejmij.
Wyciągnij drugi węzeł Odejmij i wetknij go do białego wejścia w węźle Limit.
Zmień wartość Maksimum w węźle Limit na 1.0.
Wybierz węzeł główny materiału i w panelu szczegółów zmień wartość Tryb mieszania na Maskowane. W głównym węźle zostanie udostępniona opcja Maska nieprzezroczystości.
Wyciągnij węzeł Limit i wetknij go do gniazda Maska nieprzezroczystości w głównym węźle materiału.
Tak powinna wyglądać konfiguracja po połączeniu węzłów.
Zmieniając wartość wejścia A w pierwszym węźle Odejmij, zmieniasz wygląd siatki.
Pozwala to uzyskać lokalną pozycję obiektu (gradient w X / Y / Z ze wszystkim z lewej strony / pod / za środkiem obiektu ujemnym, a wszystkim z prawej strony / nad / przed środkiem obiektu dodatnim). Te wartości zależą od skali świata obiektu.
Aby znormalizować wartości, np. umieścić je w zakresie [0, 1], dzielimy te wartości przez ich maksymalny zakres (jak wskazują granice obiektu). Wejście 1 - B odwraca kierunek gradientu, przez co wartości z prawej strony / na górze / z przodu są niższe niż te z lewej strony / na dole / z tyłu.
Węzeł ComponentMask to alternatywa dla węzła DotProduct z kanałem niebieskim – daje taki sam wynik. Następnie możesz odjąć wartość klipu – jedna ze stałych jest konwertowana na parametr, jak powyżej (co mieści się w zakresie 0, 1) i odcina wszelkie wartości ujemne przed połączeniem ze slotem nieprzezroczystości.