jak-okielznac-banding-w-Adobe-After-EffectsTak jak od wieków ludzkość zmaga się z pytaniami, skąd pochodzimy i dokąd zmierzamy, tak osoby zajmujące się tworzeniem animacji od zawsze zadają sobie pytanie: dlaczego ich gradienty wyglądają tak źle po wyrenderowaniu i co zrobić, aby wyglądały zdecydowanie lepiej.

Dziś zatem o tym, dlaczego pojawia nam się banding (schodkowanie) w materiale renderowanym z Adobe After Effects i jak sobie z nim poradzić.

Oczywiście osoby z większym doświadczeniem znalazły na to sposób i nie jest to żadna tajemna wiedza, ale mniej doświadczone osoby ciągle go szukają, próbując robić czasem coś, czego nie da się zrobić. Ale zacznijmy od początku.

Problem tzw. bandingu/schodkowania pojawia się, gdy tworzymy gradient. Praca idzie pięknie, wszystko wygląda idealnie, ale tylko do momentu, gdy wyrenderujemy materiał np. do H.264 lub wrzucimy na Youtube czy Vimeo – wtedy pojawiają nam się niezbyt ładne granice pomiędzy kolejnymi stopniami kolorów w gradiencie – zwane właśnie bandingiem.

1-banding-w-after-effects---render-dla-youtube
Czy można coś na to poradzić? Prostej i jednoznacznej odpowiedzi niestety nie ma. Zanim dojdziemy do szukania rozwiązań, może najpierw kilka słów o tym, dlaczego tak sie dzieje.

Banding wynika bezpośrednio z poziomu kompresji materiału i głębi bitowej danego strumienia (ale kwestia głębi 8-bit, 16-bit i 32-bit to temat na zupełnie inny artykuł). Kodeki, którymi kompresujemy, używają różnych mniej lub bardziej skomplikowanych algorytmów, których działanie można krótko streścić w zdaniu: “Co mogę usunąć ze strumienia danych, aby ograniczyć rozmiar i nie zepsuć za mocno jakości”. W przypadku naszych gradientów kodek stwierdza, że powierzchnia gradientu jest w miarę jednolita i można ograniczyć zróżnicowanie kolorów pikseli w nim… Stąd – zamiast płynnych przejść, które wymagają delikatnych przejść między pikselami  – algorytm upraszcza wszystko, aby zmniejszyć wielkość pliku.

Zatem wniosek jest prosty – im bardziej kompresujemy, tym więcej bandingu. Dlatego też najprostszą radą, jaką mogę dać, jest po prostu nieużywanie gradientów, gdy materiał  jest przeznaczony do umieszczenia w sieci np. na Youtube, Dailymotion czy Vimeo – tylko wtedy będziemy mieli 100% pewność że banding/schodkowanie nie pojawi się nam w materiale.

Jeśli jednak upieracie się, aby używać gradientów, oto kilka sposobów.

Jak się pozbyć bandingu?

Zasady usuwania bandingu są takie same dla programów montażowych, graficznych czy animacyjnych. My zaś skupimy się na programie Adobe After Effects.

Jak stworzyć gradient w AE?

Na to jest kilka sposobów i każdy z nich jest doskonały – wszystko zależy od przeznaczenia.

– użycie plugina/dodatku Ramp

2-banding-w-after-effects--ramp

– stworzenie solidów/jednokolorowych warstw i użycie maski z odpowiednio dużym parametrem Mask Feather

3-banding-w-after-effects--circle

– użycie plugina/dodatku Circle i odpowiedniej kombinacji parametrów Radius i Feather

4-banding-w-after-effects--maski

Mówiąc najkrócej, sposób na usunięcie bandingu może być tylko jeden: takie skomplikowanie struktury gradientu, aby kodek nie uznał go za jednolity. W jaki sposób?

W ustawieniach dodatku Ramp znajduje się dość zapomniany parametr o nazwie Ramp Scatter. Dzięki zwiększaniu jego nasilenia zwiększamy zaziarnienie efektu co powoduje że banding znika.

5-banding-w-after-effects--ramp-scatter-1

6-banding-w-after-effects--ramp-scatter-2

Jeśli stworzyliście ramp przy pomocy któregokolwiek ze sposobów wyżej wymienionych, możecie użyć dodatku Add Grain i odpowiedniej jego konfiguracji. Add Grain to dość “powolny” efekt, więc może dość znacznie zmienić prędkość pracy oraz renderowania naszej kompozycji. W przypadku naszego bandingu/schodkowania akurat sprawdziły się następujące wartości:

10-banding-w-after-effects--add-grain-2

9-banding-w-after-effects--add-grain-1

Kolejny sposób polega na oszukaniu kodeku – jest to komplikowanie gradientu przez… kolorowanie. Używając dodatku 4-colour gradient i odpowiednich ustawień trybu warstwy/efektu oraz siły krycia, dodajemy delikatnie inne kolory do naszego gradientu, co utrudnia kodekowi “uproszczenie” naszego gradientu.

8-banding-w-after-effects--4-colour-gradient-1

7-banding-w-after-effects--4-colour-gradient-2

W tej chwili już wiemy, jak możemy próbować pozbyć się bandingu… Oczywiście, nie każdy sposób sprawdzi się idealnie w każdej sytuacji. Wszystko zależy od tego, jak uzyskujemy nasz gradient, w jakiej głębi bitowej tworzymy i zapisujemy film, od kolorów gradientu oraz stopnia kompresji. Nic tak nie pomoże Wam sprawdzić, co będzie dla Was najlepsze, jak stara dobra metoda prób i błędów.

Gdy już uda nam się wybrać najbardziej efektywną metodę pozbycia się bandingu, napotkamy inny problem – wielkość naszego renderowanego pliku z pewnością się zmieni. Plik po „zaziarnieniu” z pewnością znacznie powiększy swój rozmiar i tego nie przeskoczymy – „zaziarnienie” powoduje, że kodek uznaje gradient za powierzchnię dużo bardziej skomplikowaną niż bez ziarna.

To tyle – tajemnica zdemaskowana – w tej chwili już powinniście wiedzieć, dlaczego pojawiają się w Waszym materiale dziwne granice pomiędzy kolorami w gradiencie (banding). Powinniście również wiedzieć, dlaczego się tak dzieje i jak sobie radzić z tym problemem. Osobiście, jeśli napotykam problem z bandingiem, najczęściej używam efektu Add Grain lub jemu podobnych w innych programach. Jednak, jak już wcześniej mówiłem, Adobe After Effects to nie program z oczywistymi odpowiedziami – AE to program, w którym każdy powinien odnaleźć swoją drogę do osiągnięcia pożądanego celu.

Oczywiście czekam na komentarze i opinie, a może ktoś z Was ma swój sposób na banding/schodkowanie, o którym nie napisałem – podzielcie się.