Artykuł zamieszczony dzięki uprzejmości autora, Piotra Rakowskiego z Wydawnictwa Lynx-SFT oraz Redakcji magazynu GFX - grafika komputerowa. Artykuł pierwotnie opublikowany w numerze 6/99 GFX-a. Wszystkie prawa zastrzeżone. Przedruk tylko za zgodą GFX i Autora.


Tworzymy własne przejścia w Adobe Premiere 5

Zastosowanie Transition Factory

Piotr Rakowski

Podstawy

Czy zastanawialiście się kiedyś, co zrobić, aby montowany materiał zawierał pewne unikatowe elementy, które odróżniałyby go od innych montaży? Oczywiście, jak zawsze w pracy twórczej elementów takich jest wiele, ale jeden z nich rzuca się najlepiej w oczy – jest nim tzw. przejście (ang. transition), czyli to, co się dzieje w trakcie zmiany scen w montażu filmu. Przejście może być proste (bezpośrednie) lub złożone, z dodaniem rożnych ciekawych efektów montażowych. Dobrzej jest, gdy takie przejście jest dostatecznie efektowne, aby było zauważalne, ale nie może być efektem samym w sobie, ponieważ nadmiernie skupia na sobie uwagę widza, a o to przecież nie zawsze chodzi. W tym przykładzie zajmiemy się tworzeniem własnych przejść za pomocą Transition Factory – specjalnego modułu, wbudowanego w program Adobe Premiere od wersji 4.0 w górę. Postaram się przybliżyć podstawy, na tyle na ile będą wymagały tego omawiane przykłady. Więcej na temat przejść znaleźć można w elektronicznym podręczniku, dołączonym do programu.

Naszym zadaniem będzie utworzenie dwóch ciekawych przejść, które uzupełnią zestaw standardowych przejść w Adobe Premiere. W wersji 5 tego programu Transition Factory (w skrócie TF) znajduje się wśród przejść w palecie Transitions. We wcześniejszych wersjach moduł ten należy doinstalować z oryginalnego dysku programu.

Transition Factory

Zanim zajmiemy się utworzeniem przejścia trochę wstępu o interfejsie TF. Poniżej pokazuję, jak wygląda ten moduł. Główną częścią TF są cztery pola tekstowe, w które wpisuje się formuły, według których będą następowały przekształcenia kolorów R,G,B oraz kanału alfa (A).

Obok nich umieszczono 8 przesuwnych kontrolek. Te kontrolki można oprogramowywać (o tym jak, będzie poniżej). Po prawej stronie u góry, umieszczono podgląd działania przejścia. Wprowadzoną formułę przekształceń można zapisać do późniejszej edycji (przycisk Save).

Przykład 1

Naszym zadaniem będzie utworzenie przejścia, w trakcie którego każdy z kanałów kolorów górnej ścieżki będzie znikał z obrazu przesuwając się w innym kierunku i odsłaniając w ten sposób ścieżkę znajdującą się pod nim. Do pracy będą nam potrzebne dwa klipy – tu wykorzystamy dwa napisy utworzone w oknie Title. Oto one:

W oknie montażu (Timeline Window) rozwijamy ścieżkę Video 1 (klikamy na trójkącie przy nazwie ścieżki) i umieszczamy napis 1.ptl - z literą A - w ścieżce Video 1A, a napis 2.ptl - z literą B - w ścieżce Video 1B. Następnie otwieramy paletę Transitions i przeciągamy z niej Transition Factory do ścieżki Transitions. Oto, jak to wygląda:

Na ekranie otwiera się okno, w którym możemy wpisywać "tajemne formuły". Owe formuły to nic innego, jak matematyczny zapis tego, co ma się dziać z pikselami obrazu górnej ścieżki, aby odsłoniły w efekcie obraz ścieżki dolnej.

Teraz trochę nomenklatury. W naszych przykładach będę operował następującymi zmiennymi:
x - wartości pikseli na osi x obrazu,
X = xmax, czyli całkowita ilość pikseli w obrazie,
t - bieżący czas w przejściu,
T = tmax, czyli całkowity czas przejścia,
c - kolor kanału,
c0 - kolor kanału ścieżki górnej,
c1 - kolor kanału ścieżki dolnej.

Uff, tyle narazie. Napiszmy pierwszą formułę zależności pikseli w poszczególnych kanałach od czasu:

r,g,b: x > t ? c0 : c1

Jak to zinterpretować? Ogólna postać wyrażenia odpowiada wyrażeniu warunkowemu, znanemu ze wszystkich niemal języków programowania: if..then..else. W TF zapis jest następujący: IF ? THEN : ELSE. W naszym przykładzie: jeśli wartości x są większe od wartości t to widoczny będzie kanał górny; w przeciwnym przypadku dolny. R, G i B to wartości kanałow. Chodzi o to, że zależność tę wpisujemy do każdego, kanału składowego w tej samej postaci. Wpisz i zobacz, co się dzieje. Włącz opcję Animate Preview. Coś dzieje się na ekranie, obraz lekko zmienia się przesuwając z prawej na lewo. Dlaczego nie działa to poprawnie? Ponieważ nie uwzględniliśmy tzw. kontekstu wielkości obrazu i czasu przejścia. Oto poprawiona formuła:

r,g,b: x*1024/X > t*1024/T ? c0 : c1

Co dzieje się teraz? Liczba 1024 to maksymalna ilość kroków, jaka jest brana do obliczeń w Transition Factory, a X i T są wartościami maksymalnymi x i t. Tak więc po tym drobmym zabiegu mamy już pierwsze nasze przejście, przysłaniające obraz z literą A przez "nakładanie" fragmentów obrazu ze scieżki B. To przejście w oryginale nazywa się Wipe. Naciśnij przycisk OK,zatwierdzając utworzenie przejścia. Na podglądzie wygląda ono tak

:

Możemy w prosty sposób zmienić to przejście, aby było przejściem z "góry na dół":

r,g,b: y*1024/Y > t*1024/T ? c0 : c1

oraz z "dołu do góry":

r,g,b: 1024-y*1024/Y > t*1024/T ? c0 : c1

a także z "prawej do lewej":

r,g,b: 1024-y*1024/Y > t*1024/T ? c0 : c1

Dochodzimy powoli do sedna naszego pierwszego przykładu. Wymieszamy wszystkie przećwiczone formuły do uzyskania efektu, który nazwałem sobie roboczo RGB Doors, czyli otwierające się drzwi kanałów R, G i B. Kanał czerwony będzie "odjeżdżał" w prawo, zielony w lewo, a niebieski w dół. Oto całkowity zapis do wygenerowania przejścia:

Module: RGBDoors
Title: RGB Doors
Author: Piotr Rakowski
a: a
r: x*1024/X > t*1024/T ? c0 : c1
g: 1024-x*1024/X > t*1024/T ? c0 : c1
b: y*1024/Y > t*1024/T ? c0 : c1

Oto, jak wyląda to po wpisaniu w odpowiednie pola tekstowe. Zwróćcie uwagę, że w tym przykładzie nie zdecydowaliśmy się na użycie suwaków kontrolnych. Do wygenerowania trzeba użyć przycisku Build, a następnie OK. Utworzone przejście pojawi się w palecie Transitions po ponownym uruchomieniu programu i będzie działało tak, jak inne, standardowe przejścia Adobe Premiere. Nie zapomnijcie zapisać tego, co stworzyliśmy (przycisk "Save").

 

W Transition Factory możemy także używać operatorów bitowych i logicznych. Do operatorów bitowych zaliczają się & (and), ^ (xor) i | (or). Można uzyskać bardzo ciekawy efekt, podobny do fraktali mieszając wartości x i y operatorem & (and). Oto ten przykład:

r,g,b: ((1024-x*1024/X) & (1024-y*1024/Y)) < t*1024/T ? c0 : c1

Teraz zastosujemy kontrolki do zmiany wartości stałych. Wartość 1024 zamienimy na iloczyn wartości kontrolki 1 i 2. Kontrolka 1 zapisywana jest jako ctl(0), a 2 jako ctl(1). Podstawiając ich iloczyn zamiast liczby 1024 otrzymamy zapis:

r,g,b: ((ctl(0)*ctl(1)-x*ctl(0)*ctl(1)/X) & (ctl(0)*ctl(1)-y*ctl(0)*ctl(1)/Y))
< t*ctl(0)*ctl(1)/T ? c0 : c1

Ten zapis można zostawić w takiej postaci, ale nie jest on całkiem poprawny, ponieważ każda z kontrolek przyjmuje wartości od 0 do 255, a powinny to być wartości od 0 do 32, ponieważ 32*32=1024. Aby zapis był poprawny, trzeba w przykładzie zmienić ctl(0) i na val(0,0,32), a ctl(1) na val(1,0,32). Zapis taki podstawia do kontrolek wartości z zakresu 0 do 32. Pamiętajcie o ustawieniu wartości początkowych obu kontrolek. Oto, jak wygląda wygenerowane przejście.

 

Przykład 2

Tym razem zadaniem naszym będzie utworzenie przejścia, które będzie usuwało zawartość górnej ścieżki spiralnie. W przykładzie użyjemy te same napisy 1.ptl i 2.ptl. Znowu trochę teorii. W tym przykładzie posłużymy się następnymi dwiema wielkościami: d i m. Zmienna "d" to kąt do danego piksela od środka ekranu. Wartości tej zmiennej zawierają się w przedziale od 0 do 1024. Zmienna "m" z kolei to wartość bezwzględna odległości od środka do danego piksela ekranu. Najpierw utworzymy przejście, które będzie naśladowało przejście Clock Wipe. Będziemy przyrównywali wartości kąta "d" do czasu "t". Pierwsza zależność może wyglądać więc tak

r,g,b: d > t ? c0 : c1

Spójrzmy na ekran. Nasz zegar wyciera tylko część ekranu, ponieważ znów nie uwzględniliśmy kontekstu kąta i czasu przejścia. Oto poprawiona formuła:

r,g,b: d > t*1024/T ? c0 : c1

Co dzieje się na ekranie. Niby wszystko jest w porządku, ale tak sformułowane wyrażenie działa tylko na połowie ekranu. Dlaczego? Niestety nie wiem. Podejrzewam, że w filtrze Transition Factory jest jakiś błąd. Po kilku eksperymentach doszedłem do ostatecznej formuły, która wygląda następująco:

r,g,b: d+512 > t*1024/T ? c0 : c1

Wpisz ją i zobacz, że zegar działa prawidłowo, ale niestety swój początek zaczyna od godziny 9.00, a nie od 12.00.

Poeksperymentujcie. Spróbujcie znaleźć właściwy zapis tego wyrażenia. Jak sądzę wartość zmiennej "d" zawiera się w przedziale od 0 do 512, a nie do 1024. Aby zobaczyć, na czym polega problem proponuję zmieniać wartość tej stałej, wprowadzając zamiast 512 wartość val(0,0,512), czyli wartość tę zmieniać suwakiem 1. Transition Factory zawiera także gotowe do użycia funkcje. Jedną z nich jest funkcja c2d(x,y) - przesunięcie kątowe od środka do punktu x,y. Zpiszmy więc formułę:

r,g,b: c2d(d,m) > t*1024/T ? c0 : c1

Przejście zaczyna wyglądać ciekawie. Nie rozwodząc się w szczegółach proponuję do razu wpisać formułę zmodyfikowaną tak, aby działała na całym ekranie.

r,g,b: c2d((d/2+128),2*m) > t*512/T ? c0 : c1

Jak widać zmieniłem tylko współczynniki przy zmiennych. Aby spróbować wpływać na kształt spirali i prędkość jej tworzenia możemy znów wprowadzić dwa suwaki to tego wyrażenia:

r,g,b: c2d((val(0,0,128)+d/2),m*val(1,0,128)/64) > t*512/T ? c0 : c1

Oto efekt. Myślę, że jest nader ciekawy. Należy tutaj zauważyć, że niestety tworząc przejścia w TF nie można ustawić wygładzania krawędzi (ang. antialiasing). Jest na to prosta rada: trzeba skompilować całe przejście do klipu wirtualnego, a następnie zastosować filtr antialias (albo blur). Nie działa to idealnie, ale nie jest źle.

Wygenerujmy gotowy filtr. Cała formuła wygląda tak:

Module: Spiral
Title: Spiralka
Author: Piotr Rakowski
a: a
r: c2d((val(0,0,128)+d/2),m*val(1,0,128)/64) > t*512/T ? c0 : c1
g: c2d((val(0,0,128)+d/2),m*val(1,0,128)/64) > t*512/T ? c0 : c1
b: c2d((val(0,0,128)+d/2),m*val(1,0,128)/64) > t*512/T ? c0 : c1
suwak1=255
suwak2=128

 

Zachęcam Was do eksperymentowania. Niedawno nakładem naszego wydawnictwa wyszła pierwsza na naszym rynku wydawniczym książka do programu Premiere pt. Adobe Premiere 5 w 12 lekcjach, która jest tłumaczeniem oficjalnych materiałow szkoleniowych firmy Adobe Corp. Została także uruchomiona strona internetowa, poświęcona właśnie tej pozycji. Jej adres: http://www.lynxsft.elektron.pl/katalog/premcib.htm. Tam też znajdziecie te i inne przejścia w postaci wygenerowanej, gotowej do użycia. Można je pobrać za darmo. Poniżej podaję ciekawe miejsca w internecie związane bezpośrednio z tworzeniem filtrów w Transition Factory i Filter Factory. Różne pluginy:
http://pluginhead.i-us.com
Znakomita strona Wernera D. Streidt'a:
http://privat.schlund.de/filter-factory
Galeria filtrów utworzonych w FF:
http://www.netins.net/showcase/wolf359/adobepc.htm
Kilka przejść i gradientów dla TF:
http://pico.i-us.com

Piotr Rakowski,
Wydawnictwo Lynx–SFT, Warszawa.
lynxsft@elektron.pl

Powrót do strony głównej