Wiele gier dąży do realizmu. Twórcy chcą tworzyć światy, w które gracze wierzą, że istnieją. Podstawowym elementem tego procesu jest odpowiednie oświetlenie, które w nowoczesnych grach zostało w dużej mierze dopracowane, chociaż osiągnięcie idealnego efektu nadal wymaga dużo energii i mocy obliczeniowej kart graficznych. Mowa tu o technikach takich jak ray tracing, globalne oświetlenie i cieniowanie. Jedną z tych technik jest ambient occlusion, ale czym ona jest? Wyjaśnijmy to.
Ambient Occlusion to technika renderowania, która oblicza intensywność oświetlenia dla każdego obiektu na podstawie oświetlenia otoczenia. W rezultacie uzyskuje się bardziej realistyczny obraz, w którym obiekty wyglądają na połączone ze światem, w którym się znajdują, a nie unoszące się nad nim. Technika ta uwzględnia takie czynniki, jak źródła światła, środowisko fizyczne i rozmieszczenie obiektów. Ocenia całą scenę, a nie tylko informacje lokalne, i dodaje subtelne cienie kontaktowe w miejscach styku geometrii.
Ambient Occlusion nie rzuca się w oczy tak jak odbicie w kałuży uzyskane dzięki ray tracingowi, ale znacznie zwiększa realizm sceny, gdy poruszasz się po niej i obserwujesz obiekty. Pomyśl o subtelnym efekcie świetlnym, który sprawia, że rogi sufitu wydają się ciemniejsze niż środek pomieszczenia. Albo o magazynie wypełnionym skrzyniami, w którym zamiast jednolitego oświetlenia wszędzie widoczne są odpowiednie cienie. Dobrze dostrojona technologia AO pogłębia rogi, zagięcia i małe szczeliny, co pomaga obiektom wyglądać bardziej realistycznie.
Podobnie jak w przypadku większości technik renderowania grafiki, programiści mają do wyboru wiele implementacji Ambient Occlusion. Oznacza to, że w ustawieniach grafiki dostępnych jest kilka opcji i trzeba poeksperymentować, aby sprawdzić, jaka jest między nimi różnica. Oto najważniejsze z nich:
SSAO: Screen Space Ambient Occlusion (okluzja otoczenia w przestrzeni ekranowej)
Oblicza okluzję na podstawie tego, co jest widoczne na ekranie, dzięki czemu jest szybka i szeroko obsługiwana. Jest to najbardziej podstawowa metoda AO i działa zarówno na kartach AMD, jak i Nvidia. Jakość może się różnić w zależności od odległości kamery i może powodować powstawanie aureoli wokół cienkich obiektów.
HBAO: Horizon Based Ambient Occlusion (okluzja otoczenia oparta na horyzoncie)
Opracowana przez firmę Nvidia technologia HBAO poprawia dokładność poprzez uwzględnienie linii horyzontu, co pozwala uzyskać lepsze cieniowanie w szczelinach i narożnikach. Wiele gier wykorzystuje podobne techniki oparte na horyzoncie, które działają na każdym nowoczesnym procesorze graficznym, więc nie jest to technologia dostępna wyłącznie na określonym sprzęcie.
HDAO: wysokiej rozdzielczości okluzja otoczenia
Odpowiedź AMD na HBAO, oferująca wyższą precyzję i lepszą obsługę głębi. Ponownie, można spodziewać się porównywalnych wariantów niezależnych od dostawcy w wielu silnikach.
GTAO i CACAO
Nowsze metody wykorzystujące przestrzeń ekranową, które mają na celu uzyskanie wyższej jakości przy rozsądnych kosztach. GTAO (Ground Truth Ambient Occlusion) ma na celu uzyskanie bardziej fizycznie prawdopodobnych wyników, podczas gdy CACAO koncentruje się na wydajności i stabilności. Nazwy te mogą być wyraźnie widoczne w niektórych menu ustawień.
RTAO: Ray Traced Ambient Occlusion (śledzenie promieniowania w otoczeniu)
Wykorzystuje ray tracing do uzyskania bardziej fizycznie dokładnego zacienienia, zapewniając najbardziej realistyczne wyniki, ale kosztem wydajności. Wymaga karty graficznej z ray tracingiem sprzętowym (Nvidia RTX, AMD RDNA2 lub nowsza, Intel Arc).
Jeśli chcesz stworzyć wiarygodny, wciągający świat, to tak, Ambient Occlusion robi zauważalną różnicę i jest niezbędny w niektórych grach. Technika ta jest szczególnie przydatna w grach FPS, które kładą nacisk na eksplorację.
Strzelcy biorący udział w zawodach powinni przede wszystkim zwrócić uwagę na wydajność i widoczność, ponieważ silny efekt AO może pogłębiać cienie i utrudniać widoczność celów.
Praktyczne wskazówki dotyczące strojenia:
Uważaj na pułapki:
Włącz AO, jeśli możesz utrzymać stabilną liczbę klatek na sekundę, priorytetowo traktuj wyższą jakość w wolniejszych lub kinowych grach, a gdy liczy się każda klatka, przejdź na prostszy model, taki jak SSAO.