BLOG

Czym jest ambient occlusion w grach?

Ostatnia aktualizacja:

  Ta strona została automatycznie przetłumaczona przez DeepL. Switch to English

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.

Battlefield 6 tank

Czym jest ambient occlusion?

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.

Shot from Cyberpunk 2077 with full Ray Tracing and Ambient Occlusion
Cyberpunk 2077 przy najwyższych ustawieniach z Ambient Occlusion
Shot from Cyberpunk 2077 at the lowest settings with Ambient Occlusion off
Cyberpunk 2077 przy najniższych ustawieniach bez Ambient Occlusion

Jakie są różne rodzaje ambient occlusion?

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).

Alan Wake 2

Czy należy włączyć funkcję Ambient Occlusion?

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:

  • Zacznij od niskiego poziomu SSAO, a następnie zwiększaj jakość, aż spadnie liczba klatek na sekundę.
  • Użyj mniejszego promienia AO, aby uniknąć nadmiernego przyciemnienia dużych obszarów, i dostosuj intensywność tak, aby rogi stały się głębsze bez zniekształcania półcieni.
  • Jeśli włączysz RTAO, połącz je z generowaniem klatek lub trybami skalowania, takimi jak DLSS, aby zrównoważyć spadek wydajności. Przetestuj w scenach o dużej gęstości.

Uważaj na pułapki:

  • Podwójne zaciemnienie może wystąpić, jeśli gra wypieka AO do tekstur lub map światła i nakłada na to AO w czasie rzeczywistym. Jeśli wnętrza wyglądają na pokryte sadzą lub twarze wyglądają na brudne, zmniejsz intensywność AO lub wyłącz dodatkowe przejście.
  • Metody wykorzystujące przestrzeń ekranową mogą powodować powstawanie aureoli na krawędziach obiektów, migotanie przy zastosowaniu czasowego antyaliasingu lub zanikanie obrazu w oddali. Pomocne może być przełączenie się na ustawienia o wyższej jakości lub nowszą metodę, taką jak GTAO.

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.