Optymalizacja w Sony Vegas - szybszy efekt winiety
Artykuł pochodzi ze strony Daniela Łysiaka http://vm-rexor.pl, do odwiedzenia której oczywiście zapraszam. Publikacja za zgodą Autora.
Tym razem nie będzie rewelacyjnych efektów specjalnych, niemniej jednak przedstawione niżej tricki mogą być przydate dla montażystów, którzy cenią sobie krótkie czasy renderingu. Spora część użytkowników Sony Vegas jeśli chce zrealizować efekt winiety (wygładzone przyciemnienie rogów obrazu) używa doskonale realizującego to zadanie efektu "Cookie Cutter". Wystarczy zaaplikować ów efekt na żądany fragment, ustawić parametry kształtu, rozmiaru, wygładzenia - i gotowe.
Jednak kiedy przychodzi czas na rendering, efekt ten liczy się tak jak na poniższym obrazku. Tyle liczy się 10 sekund materiału PAL-DV na moim komputerze.
Co prawda procesor i wiele innych sprzętowych czynników mają wpływ na szybkość liczenia filmu, jednak w tym przypadku problem leży po stronie wtyczki efektu, która (najprawdopodobniej) za każdym razem przelicza i wygładza obszar wycięcia na nowo. W przypadku winiety, która ma być niezmienna - ta część algorytmu jest zbędna.
Sposób 1: Buforuj przeliczone efekty w bitmapach lub materiałach filmowych.
Maskę wycięcia można zapisać do pliku graficznego. Aby to jednak zrobić, trzeba efekt "wycinania" zaaplikować nie na obrabianym filmie, a na jednolitym białym kolorze. Najlepiej wstawić nową ścieżkę, w której następnie umieszczony będzie "Solid Color" koloru białego z zakładki "Media Generators". Na ten nowo umieszczony materiał aplikujemy efekt "Cookie Cutter". Wracamy do poprzedniej ścieżki z filmem, otwieramy efekt cuttera i z niego kopiujemy ustawienia do nowo utworzonego białego tła. Najlepiej skopiować punkt z timeline, choć można też zapisać preset pod nową nazwą. Jak już efekt zostanie ustawiony, usuwamy lub wyłączamy efekt z filmu i tymczasowo wyłączamy ścieżkę z filmem. Teraz można zapisać wygenerowany obrazek do pliku klikając w przycisk (z dyskietką) nad ekranem podglądu.
Zapisana bitmapa pojawiła się w puli mediów (media pool). Teraz wygenerowane białe tło można usunąć (lub przesunąć poza obszar roboczy projektu) i w jego miejsce wstawić wygenerowaną bitmapę z puli mediów. Jeśli ścieżka z bitmapą jest nad filmem(zgodnie z rysunkiem), to po ponownym włączeniu ścieżki z filmem, na podglądzie powinien być nadal obraz z bitmapy. Czas wygenerować z obrazka maskę. W tym celu użyć należy generatora maski. Po zaaplikowaniu efektu generatora maski, w miejscach, gdzie był ciemniejszy kolor, mamy teraz przezroczyste obszary.
Aż się prosi o zmianę parametrów generowania maski, ale nic w masce nie ruszamy - jest OK. Teraz zmienić trzeba tryb kompozycji ścieżki z maską z Source Alpha na Multiply(mask).
Mamy teraz na podglądzie ten sam efekt, co wcześniej, więc czas wyrenderować dokładnie ten sam fragment filmu:
Nie muszę nikou mówić ile tym sposobem zyskaliśmy czasu. To widać gołym okiem. Powiem jednak, że można zrealizować ten efekt bez generowania bitmap.
Sposób 2: Użycie generatora gradientu.
Tak prawdę mówiąc to powinno się właśnie tego pluginu użyć do realizacji efektu, ale mało kto zwraca uwagę na generatory i potężne możliwości kompozycji jakie daje Vegas, kiedy jest pula efektów do której każdy odruchowo zagląda najpierw. Ale wracając do winiety. Usuwamy bitmapę, ustawiamy spowrotem tryb kompozycji ścieżki z Multiply na Source Alpha, a następnie w miejsce, gdzie była bitmapa, wstawiamy generowaną przeźroczystą elipsę na czarnym tle. Pozostaje dopasować położenie punktów kontrolnych gradientu, oraz ich położenie. Na ekranie podglądu obserwujemy wynik i dopasowujemy go do naszych oczekiwań.
Czas wyrenderować wynikowy materiał.
Różnica między obydwoma przypadkami jest w granicy błędu pomiaru, więc można stosować metodę, która w danym przypadku bardziej montażyście odpowiada.