SSAO, czyli Screen Space Ambient Occlusion, to jeden z tych efektów, które zwykle docenia się dopiero po wyłączeniu. Dobrze przyciemnia zagłębienia, styki modeli i ciasne zakamarki, dzięki czemu scena wygląda głębiej i mniej płasko. Poniżej wyjaśniam, jak to działa, kiedy ma sens w grze i jak dobrać ustawienia, żeby nie zamienić obrazu w brudną, zbyt ciemną plamę.
Najważniejsze informacje o SSAO w jednym miejscu
- SSAO to efekt, który symuluje przyciemnienie w zakamarkach, a nie pełne cienie od lamp.
- Najlepiej działa jako subtelny dodatek do global illumination i podstawowego oświetlenia.
- Im większy promień i wyższa jakość, tym lepszy wygląd, ale też większy koszt dla GPU.
- Za mocne SSAO szybko robi z obrazu ciemny filtr zamiast poprawy realizmu.
- W nowszych grach bywa zastępowane lub uzupełniane przez inne odmiany ambient occlusion albo ray tracing.
Czym właściwie jest SSAO
Ambient occlusion to sposób na zasymulowanie tego, że w ciasnych miejscach światło otoczenia dociera słabiej niż na otwartej powierzchni. SSAO nie tworzy klasycznych cieni od konkretnego źródła światła; ono tylko dodaje miękkie przyciemnienie tam, gdzie geometria sama siebie „zasłania”. W praktyce chodzi o narożniki ścian, styki pancerza z ciałem postaci, zagłębienia w terenie czy szczeliny między elementami modelu.
W dokumentacji Unreal Engine SSAO jest opisane jako subtelny efekt, który najlepiej działa obok global illumination. I to jest dobre podejście: jeśli efekt ma być widoczny jako osobny filtr, zwykle jest już za mocny. Ja traktuję go raczej jak doprawienie obrazu niż główny składnik oświetlenia.
Najważniejsza korzyść jest prosta: scena przestaje wyglądać jak złożona z odklejonych od siebie obiektów. Zamiast tego dostajesz wrażenie kontaktu, masy i głębi. Żeby zrozumieć, skąd bierze się ten efekt i czemu czasem wygląda dziwnie, trzeba zajrzeć pod maskę samego renderingu.
Jak działa SSAO w silniku gry
SSAO liczy się na podstawie informacji, które silnik ma na ekranie w danej chwili. Zwykle wykorzystuje bufor głębi, normalne powierzchni i dane z GBuffer, a potem porównuje sąsiednie piksele, żeby oszacować, gdzie światło otoczenia powinno zostać częściowo „zablokowane”. Unity pokazuje to bardzo jasno: efekt opiera się na normalnych i głębi bieżącej klatki.
To właśnie dlatego SSAO jest szybkie i praktyczne, ale jednocześnie ograniczone. Jeśli obiekt wychodzi poza kadr, efekt nie ma pojęcia, co dzieje się poza ekranem. Jeśli geometria jest bardzo cienka, ma dziwne krawędzie albo mocno stylizowane normal mapy, wynik może być zbyt mocny, zbyt miękki albo po prostu niespójny.
Warto też pamiętać, że SSAO reaguje na detale powierzchni. Drobna faktura, wyraźne normal mapy i ciasne szczeliny potrafią dać lepszy kontakt światła z modelem. Z drugiej strony to samo bywa źródłem problemów: przy zbyt agresywnych ustawieniach obraz zaczyna się „brudzić”, a nie poprawiać. Dlatego tak ważne jest, żeby wiedzieć, kiedy ten efekt ma sens, a kiedy tylko obciąża GPU.
Kiedy włączać SSAO, a kiedy lepiej je ograniczyć
Ja patrzę na SSAO przez pryzmat sceny i stylu gry, a nie samej zakładki w opcjach. W jednych przypadkach ten efekt robi ogromną różnicę, w innych tylko psuje czytelność obrazu. Poniżej najprostsza mapa decyzji, którą sam stosuję przy ocenie ustawień.
| Sytuacja | Co zwykle robię | Dlaczego |
|---|---|---|
| Gry z wnętrzami, korytarzami i ciasną architekturą | Włączam SSAO, zwykle w średniej lub wyższej wersji | Kontakt między obiektami i narożniki zyskują głębię, a scena nie wygląda płasko |
| Otwarty świat w pełnym słońcu | Ustawiam efekt subtelnie albo go ograniczam | Na jasnych przestrzeniach łatwo przesadzić z ciemnieniem i zgubić czystość obrazu |
| Stylizowana grafika, komiks, cel-shading | Sprawdzam bardzo ostrożnie, często wyłączam | SSAO może wejść w konflikt z celową prostotą stylistyki |
| Komputer lub laptop z ograniczoną wydajnością | Obniżam jakość, promień albo całkiem wyłączam | Lepsza płynność zwykle daje więcej niż słabo widoczny efekt ocieniający |
| Gry z mocnym ray tracingiem lub bardzo dobrym GI | Zmniejszam SSAO do minimum | Przy mocnym oświetleniu pośrednim dodatkowe przyciemnianie bywa zbędne |
Jeśli miałbym wskazać jedną regułę, byłaby ona taka: SSAO ma wzmacniać obraz, a nie przytłaczać go. Gdy już wiesz, kiedy ma sens, warto porównać go z innymi odmianami ambient occlusion, bo w grach nie zawsze spotkasz dokładnie ten sam wariant.
SSAO, HBAO+ i ray traced AO różnią się bardziej, niż wygląda
Na papierze wszystkie te techniki robią podobną rzecz: dodają miękkie zacienienie w miejscach, gdzie światło otoczenia powinno być częściowo blokowane. Różnica zaczyna się przy jakości, stabilności i koszcie obliczeń. Dla gracza to zwykle ważniejsze niż sama nazwa efektu w menu.
| Metoda | Co robi najlepiej | Koszt | Ograniczenia | Kiedy ma sens |
|---|---|---|---|---|
| SSAO | Dobry kompromis między wyglądem a wydajnością | Niski do średniego | Widoczne artefakty na krawędziach, ograniczenie do tego, co widać na ekranie | Większość gier, gdy chcesz poprawić głębię bez dużego spadku FPS |
| HBAO+ | Bardziej naturalne zacienienie kontaktowe i lepsza czytelność detalu | Średni do wysokiego | Cięższe dla GPU niż podstawowe SSAO | Gdy zależy ci na lepszej jakości obrazu i sprzęt ma zapas mocy |
| Ray traced AO | Najbardziej wiarygodne, bo nie ogranicza się do samego ekranu | Wysoki | Potrafi kosztować dodatkowe 1-2 ms lub więcej, zależnie od ustawień | Gdy priorytetem jest jakość, a nie absolutna wydajność |
Najważniejszy wniosek jest prosty: im lepsza metoda, tym zwykle większy koszt. Dla wielu graczy SSAO nadal jest najlepszym „środkiem między skrajnościami”, bo daje zauważalny efekt bez tak dużego obciążenia jak techniki oparte na ray tracingu. Skoro już widać różnice między wariantami, czas przejść do praktyki i ustawić sam efekt tak, żeby faktycznie pomagał.
Jak ustawić SSAO, żeby poprawiało obraz, a nie go brudziło
Gdy testuję ustawienia, zaczynam od dwóch rzeczy: intensywności i promienia. Za wysoka intensywność robi z obrazu przybrudzony filtr, a za duży promień rozlewa zacienienie poza realny kontakt między obiektami. To właśnie wtedy pojawiają się czarne obwódki, nienaturalna ciężkość i wrażenie, że gra nagle straciła czystość kolorów.
- Najpierw obniż intensywność, jeśli scena wygląda zbyt ciężko. To najszybszy sposób na odzyskanie naturalności.
- Potem zmniejsz promień, jeśli przy modelach pojawiają się halo i ciemne obwódki. Zbyt duży promień to częsty błąd.
- Podnieś jakość lub liczbę próbek, jeśli widzisz szum i ziarnistość w ruchu.
- Sprawdź wersję full resolution, jeśli gra oferuje wybór między pełną a niższą rozdzielczością efektu. Pełna zwykle wygląda lepiej, ale jest wyraźnie cięższa dla GPU.
- Porównuj obraz w ruchu, a nie tylko na zrzucie ekranu. SSAO często wygląda dobrze na stopklatce i gorzej podczas poruszania kamerą.
Jeśli chcesz krótkiej reguły redakcyjnej, to brzmi ona tak: najpierw tnij moc efektu, dopiero później gonisz za detalem. Zbyt wiele osób robi odwrotnie i kończy z obrazem, który jest technicznie „lepszy”, ale wizualnie męczący. Żeby uniknąć takich pułapek, trzeba jeszcze rozpoznać najczęstsze artefakty.
Na jakie artefakty warto zwrócić uwagę
SSAO potrafi wyglądać świetnie, ale ma kilka typowych wad. Dobra wiadomość jest taka, że po objawach zwykle da się szybko rozpoznać źródło problemu i dobrać poprawkę bez zgadywania.
- Czarne halo wokół postaci i obiektów - najczęściej za duży promień albo zbyt agresywne ustawienie odległości.
- Szarpanie i migotanie w ruchu - za mało próbek, zbyt niska jakość albo brak sensownej akumulacji temporalnej.
- Zbyt ciemne narożniki - intensywność jest za wysoka lub efekt nakłada się z innym źródłem ocienienia.
- Rozmyte krawędzie - filtr wygładzający jest zbyt mocny albo efekt działa w zbyt niskiej rozdzielczości.
- Brak ocienienia przy krawędziach kadru - to typowe ograniczenie screen-space, bo silnik widzi tylko to, co jest aktualnie na ekranie.
W praktyce najwięcej problemów robi połączenie dużego promienia i niskiej jakości próbkowania. To właśnie wtedy efekt zaczyna wyglądać jak przypadkowe zabrudzenie zamiast realistycznego dociążenia geometrii. Jeżeli widzisz takie objawy, nie walcz z nimi samą „siłą” efektu, tylko najpierw przytnij jego skalę.
Co zapamiętać, zanim wyłączysz SSAO w grze
Ja traktuję SSAO jak narzędzie do porządkowania obrazu, a nie jak obowiązkowy przełącznik do zostawienia na maksimum. Dobrze ustawione przyciemnia miejsca, gdzie rzeczywiście powinno zabraknąć światła, i dzięki temu modele nie wyglądają jak wycięte z kartonu. Źle ustawione robi dokładnie odwrotnie: zabiera przejrzystość, rozlewa cienie i psuje kolory.
Jeśli gra ma mocne global illumination, ray tracing albo po prostu bardzo czytelne oświetlenie, zwykle wystarczy niski poziom efektu albo nawet jego wyłączenie. Jeśli scena wydaje się płaska, a narożniki i styki są zbyt „czyste”, wtedy właśnie SSAO potrafi zrobić największą różnicę. Dobrze dobrany efekt nie krzyczy o siebie - po prostu sprawia, że świat gry ma więcej ciężaru i lepiej się składa w całość.