Jedność - materiały i shadery
W tym rozdziale dowiemy się w skrócie o materiałach i shaderach. Aby lepiej zrozumieć, stworzymy nowy3D Projectzamiast naszego obecnego 2D. Pomoże nam to dostrzec różne zmiany.
Po utworzeniu nowego projektu przejdź do Hierarchii i kliknij prawym przyciskiem myszy i gotowe 3D Object → Cube. Spowoduje to utworzenie nowej kostki w środku sceny. Możesz rozejrzeć się po sześcianie, przytrzymując prawym przyciskiem myszy i przeciągając myszą w Widoku Sceny. Możesz także powiększać i pomniejszać za pomocą kółka przewijania.
Teraz kliknij kostkę i spójrz na jej właściwości.
Najniższa właściwość wydaje się mieć domyślny materiał i plik Standard moduł cieniujący.
Co to jest materiał?
W Unity (i wielu aspektach modelowania 3D) a Materialto plik zawierający informacje o oświetleniu obiektu z tym materiałem. Zwróć uwagę, jak szara kula oznacza materiał, a trochę światła dociera od góry.
Teraz nie dajcie się pomylić z nazwą; Materiał nie ma nic wspólnego z masą, zderzeniami ani nawet ogólnie z fizyką. Materiał służy do definiowania wpływu oświetlenia na obiekt z tym materiałem.
Spróbujmy stworzyć własny materiał. Kliknij prawym przyciskiem myszy w regionie Zasoby, przejdź doCreate → Material i nadaj mu nazwę, na przykład „Mój materiał”.
Te właściwości nie przypominają niczego, co dotychczas badaliśmy. Dzieje się tak, ponieważ są to właściwości zaprogramowane wshader, a nie materiał.
Materiały to przede wszystkim to, co sprawia, że Twoje obiekty są widoczne. W rzeczywistości nawet w 2D używamy specjalnego materiału, który również nie wymaga oświetlenia. Oczywiście Unity generuje ją i stosuje do wszystkiego dla nas, więc nawet jej nie zauważamy.
Co to jest moduł cieniujący?
Shader to program, który definiuje, w jaki sposób every single pixeljest rysowany na ekranie. Shadery nie są programowane w C # ani nawet w języku OOPS. Są zaprogramowane wC-like język o nazwie GLSL, który może przekazywać GPU bezpośrednie instrukcje do szybkiego przetwarzania.