Zaloguj się, aby obserwować  
Obserwujący 0
Valoos

AE Script - wprowadzenie

9 postów w tym temacie

Dobra, już we mnie dojrzało...

Postanowiłem napisać coś o skrypcie AE, a najlepiej będzie zapewne na konkretnych przykładach. Zaczynamy więc nasz mini tutorial wprowadzający do AE Script.

Na samym początku pragnę zaznaczyć, że nie jestem jakimś guru w zakresie programowania chociaż przygodę z programowaniem zaczynałem od asemblera. 80% mojej wiedzy na temat AE Script uzyskałem eksperymentując i mozolnie dochodząc do pewnych rozwiązań. (Resztę wyczytałem w necie, na forach takich jak AE Enharcers). Całe moje doświadczenie tyczy się skryptu AE w wersji 7.0 więc należy brać poprawkę na to, że w CS3 lub 4 niektóre rozwiązania mogą się różnić.

Koniec gadania lecimy.

AE Script możemy pisać w zwyczajnym notatniku, ale najlepiej do tego celu nada nam się Script Editor wbudowany w samego AE. File->Scripts->Open Script Editor.

No to zaczynamy prostego przykładu.

{
app.beginUndoGroup("Przykladowy skrypt");

var myProj = app.project;
   	var myComp = myProj.items.addComp('kompozycja',720,576,1.07,10,25);
   	var myText = myComp.layers.addText("Hello word");
  	myText.property("position").setValueAtTime(0,[100,200]);
myText.property("position").setValueAtTime(5,[500,200]);

app.endUndoGroup();
alert("Gotowe...");
}

Jak widać niezbyt spektakularne efekty osiągneliśmy, ale na początek wystarczą. Pozwolę sobie jeszcze tylko krok po kroku wytłumaczyć każdą linijkę.

1. Całość zamknięta jest klamrą

2. Tworzymy otwieramy grupę w poleceniu undo – jest to po prostu „grzeczne zachowanie”. Umożliwia to cofnięcie dokonań całego skryptu jednym poleceniem. W przeciwnym wypadku, kiedy skrypt jest zbytnio rozbudowany zabraknie po prostu kroków undo, żeby cofnąć działanie całego skryptu.

3. Definiujemy zmienną (dla wygody i przejrzystości) myProj do której „podczepiamy” cały projekt.

4. Definiujemy zmienną myComp, do której „podczepiamy” nową kompozycję, której parametry podajemy w nawiasie – nazwę, szerokość, wysokość, PixelAspect, Długość (w sek), i FPS (Frame Rate)

5. Definiujemy zmienną myText, do której „podczepiamy” nową warstwę tekstową z tekstem podanym w nawiasie.

6. Wstawiamy klucz w pozycji o wartości [100,200] w sekundzie 0

7. Wstawiamy klucz w pozycji o wartości [500,200] w sekundzie 5

8. Grzecznie zamykamy grupę undo

Jeszcze kilka słów dot. wygody i przejrzystości oraz definiowaniu zmiennych.

Otóż jak się w późniejszych przykładach okaże często będziemy się odwoływać do „frazy”/elementu app.project i dlatego wygodniej mieć go już pod zmienną. Natomiast zmienną myComp lub myText definiujemy po to, żeby łatwiej nam było się „dobrać” do konkretnego obiektu w późniejszych działaniach – widać to przy dodawaniu kluczy - myText.property(„position”)...

Można sobie oczywiście podobne zabiegi odpuścić, ale odpowiednie fragmenty kodu, wyglądałyby mniej więcej tak:

app.project.items.addComp('kompozycja',720,576,1.07,10,25);
app.project.item(1).layers.addText("Hello word");

//I tutaj pełen wypas:

app.project.item(1).layer(1).property("position").setValueAtTime(0,[100,200]);

//który zadziała prawidłowo tylko jeżeli nasz tekst jest nadal //pierwszą warstwą w pierwszej kompozycji na liście projektu. 

Ok. Na razie tyle. Jutro kolejny przykład - bardziej już praktyczne zastosowanie AE Script’u

Na koniec zachęcam do używania "lini poleceń" do eksperymentowania na gorąco.

extendscriptgr2.th.jpg

PS. Bardzo proszę o napisanie uwag i zastrzeżeń do moich powyższych wypocin.

Szczególnie prosiłbym kolegów znających bardziej fachowy język programistyczny o wytknięcie błędów i naprowadzenie na właściwą drogę, bo nie mogę bez przerwy używać cudzysłowów w stosunku do rzeczy, które mają już na pewno swoją fachową nazwę.

HOWGH

0

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja tam w skryptach za dobry nie jestem, wiec pytanko. Czy owe "zmienne" moge sobie zdefiniowac pod inna nazwa lub liczba - dla wygody i przejrzystosci? :)

0

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A jak najbardziej... Nazwy zmiennych nie mogą tylko zawierać polskich liter i spacji.

0

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

I gdzie to wklepywac?

0

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Fajna inicjatywa mam nadzieje zobaczyć coś czego nie można zrobić normalnymi metodami.

0

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ratio

do tego celu nada nam się Script Editor wbudowany w samego AE. File->Scripts->Open Script Editor.

Do wszystkich

Odrazu uprzedzam ew. pytania. Niestety video tutoriala ze skryptu nie zrobię z dwóch powodów:

- nagranie miałoby mi strasznie dużo czasu, a wprowadzanie poprawek było by bardzo niewygodne.

- pisanie programów tak samo jak i skryptów kładzie duży nacisk na umiejętność czytania. "Wizualne" odtworzenie tutoriala nie wniesie absolutnie nic do umiejetności programistycznych.

0

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ok. Poki co, na gwalt nie jest potrzebne, podlubie w tym edytorze; ale dobrze wiedziec, ze w poblizu jest skryptolog :)

0

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Heh tak z bliższych oględzin wynika, że to jak pisanie programów w języku C lub C++.

w końcu na coś się przydadzą te kilkanaście godzin tygodniowo z programowania mikroprocesorowego hehehe

0

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

To wogóle jest jak pisanie w jakimkolwiek języku, istotne jest tylko to, jak dobrać się do konkretnych parametrów lub ustawień.

Aaa ... no i pomysł. Pomysł na algorytmiczne rozwiązanie konkretnego problemu.

0

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!


Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.


Zaloguj się
Zaloguj się, aby obserwować  
Obserwujący 0