Kamery są niezbędne do wyświetlania otoczenia gry. Mogą one zostać dostosowywane, oskryptowane lub nadrzędne w celu osiągnięcia wszelkiego rodzaju efektów jakie tylko można sobie wyobrazić. Do gry puzzle można można zachować kamerę statyczną dla pełnego widoku układanki. Dla first-person shooter (FPS) może być przypisaną do postaci gracza, a następnie ustawiona na poziomie oczu bochatera. Dla gry wyścigowej chcesz mień prawdopodobnie kamerę podążającą za pojazdem gracza.
Można ustawić wiele kamer i przydzielić każdą do innego Depth. Kamery przechodzą z małego Depth do dużego Depth. Innymi słowy kamera z Depth 2 będzie nagrywać na górze aparatu z Depth 1. Można regulować wartości Normalized View Port Rectangle do zmiany rozmiaru i ustawić kamerę w widoku na ekranie. Można ustawić wiele mini-widoków jako pociski, widok mapy, lusterek wstecznych, itp.
Ścieżki renderingu
Unity obsługuje różne ścieżek renderingu. Należy wybrać z których z nich korzystać w zależności od treści i celu gry, platformy/sprzętu. Różne ścieżki renderingu mają różne cechy i właściwości użytkowe, które w większości mają wpływ na światło i cienie.
Ścieżki renderingu używanych przez projektor zostały wybrane w ustawieniach odtwarzacza (Player Settings).
Aby uzyskać więcej informacji na temat ścieżek renderowania, sprawdź stronę ścieżki renderingu.
Clear Flags
Każda kamera przechowuje informacje i głębią kolorów, gdy renderuje swój podgląd. Partie ekranu które nie zostały sporządzone i są puste to wyświerli domyślny Skybox. Podczas korzystania z wielu kamer każda z nich przechowuje własny kolor i informacje o głębiach w buforach, gromadząc więcej danych, jako każda renderowana kamera. Jak jakaś kamera renderuje ze swojego stanowiska można wyczyścić jej zbiory informacji z bufora używając Clear Flags. Odbywa się to po przez wybranie jednej z czterech opcji:
Skybox
Jest to ustawione domyślnie. We wszystkich pustych częsciach ekranu zostanie wyświetlony bieżący Skybox kamery. Jeśli aparat nie ma zestawu Skybox, domyślnie będzie wybrany Skybox w Render Settings (Edit→Render Settings). Wtedy powróci do Background Color. Alternatywnie element Skybox można dodać do kamery. Jeśli chcesz utworzyć nowy SkyBox możesz użyć tego przewodnika
Solid Color
Wszelkie puste części ekranu zostaną wypełnione bieżącym kolorem tła kamery.
Depth Only
Jeśli chcesz zwrócić uwagę gracza na broń i nie pozwolić jej się obciąć wewnątrz środowiska, należy ustawić jednej kamerze Depth 0 w tworzonym środowisku i innej kameże nadać Depth 1 aby nakreślić samą broni. Kamery broni powinny mieć Clear Flags ustawione na depth only. To pomoże utrzymać wyświetlacz graficzny środowiska na ekranie, ale odrzucać wszelkie informacje na temat, gdzie każdy obiekt istnieje w przestrzeni 3D. Kiedy pistolet jest wyświetlany, nieprzezroczyste części będą całkowicie pokryć wszystko, niezależnie od tego jak blisko pistolet jest od ściany.
Pistolet jest rysowany ostatni, po usunięciu bufora z kamer przed nim
Don't Clear
Tryb ten nie jest wyczyszczeniem koloru lub głębi bufora. Powoduje że każda klatka jest tworzona na następnej, w wyniku czego otrzymujemy efekt rozmycia. Nie jest to zazwyczaj stosowane w grach, najlepiej stosować z niestandardowymi shaderami.
Clip Planes
Near i Far Clip Plane właściwości te określają w którym miejscu podgląd kamery zaczyna się i kończy. Płaszczyzny są ułożone prostopadle do kierunku aparatu i są mierzone od jego pozycji. płaszczyzna Near znajduje się najbliżej miejsca które będą renderowane i płaszczyzna Far jest najdalej.
Płaszczyzny clipping również określa jak głębokość precyzja bufor jest rozłożona na scenie. Generalnie, aby uzyskać lepszą dokładność należy przesunąć plan Near w jak największym stopniu.
Należy pamiętać, że przycięcie płaszczyzny near i fear wraz z płaszczyzną określającej pole widzenia kamery opisać można to, co jest powszechnie znane jako kamery ścięte. Unity zapewnia, że podczas renderowania obiektów, które są zupełnie poza tym ścięciem nie są wyświetlane. To się nazywa Frustum Culling. Frustum Culling dzieje się to niezależnie od tego, czy używasz Occlusion Culling w swojej grze.
Ze względu na wydajność warto zerwać małe obiekty wcześniej. Na przykład, małe kamienie i pozostałości mogą być niewidoczna w znacznie mniejszej odległość niż duże budynki. Aby to zrobić, umieścić małe obiekty w osobnej warstwie i konfiguracji za-warstwowe odległości wycofane z wykorzystaniem funkcji skryptu Camera.layerCullDistances.
Culling Mask
Culling Mask służy do selektywnego renderowania grupy obiektów używanej warstwy. Więcej informacji na temat korzystania z warstw można znaleźć tutaj.
Zwykle jest to dobra praktyka, aby umieścić swój interfejs użytkownika na innej warstwie, a następnie uczynić ją samą z oddzielną kamerą ustawioną na renderowania samej warstwy UI.
Aby UI wyświetlany był na wierzchu innych widoków kamery, musisz również ustawić Clear Flags na Depth only i upewnić się że Depth kamery UI jest większa niż w innych kamerach.
Normalized Viewport Rectangle
Normalized Viewport Rectangle są specjalnie określenia dla pewnej części ekranu, że obecna kamera będzie wykorzystywana. Można umieścić widok mapy w prawym dolnym rogu ekranu, lub wskazówkę kierunku w lewym górnym rogu. Przy odrobinie pracy projektowe, można użyć Viewport Rectangle do stworzenia unikatowych zachowań.
Jest to łatwe do stworzenia efekt podziału ekranu dla dwóch graczy przy użyciu Normalized Viewport Rectangle. Po utworzeniu dwóch kamer należy zmienić wartości kamery H na 0,5 a następnie ustawić wartość odtwarzacza Y na 0,5, a drugi odtwarzacz wartość Y na 0. Spowoduje to, że jeden z graczy na obrazie z kamery od połowy wysokości ekranu do góry, a drugi gracz na kameże rozpocznie się na dole i zatrzyma w połowie ekranu.
Dwóch graczy na stworzonym ekranie Normalized Viewport Rectangle
Orthographic
Oznaczenie kamery jako Orthographic usówa wszystkie perspektywy z widzenia kamery. Jest to bardzo skuteczne do tworzenia gier izometrycznych lub 2D.
Należy zauważyć że mgła jest renderowana równomiernie w trybie kamery orthographic. Przeczytaj więcej o tym komponent ustawień renderowania.
Kamera Perspective.
Kamera Orthographic. Przedmioty moga wydać się mniejsze tutaj z odległości!
Render Texture
Ta funkcja jest dostępna tylko dla Unity z licencją Advanced. Będzie to widok z kamery na na Textury, które mogą być stosowane następnie na innym obiekcie. To sprawia że można łatwo stworzyć monitory wideo, sportowe areny, itp.
Render Texture służy do tworzenia na żywo arena-cam