After Effects Expression Temelleri: wiggle, loopOut, time ve linear ile Hızlı Animasyon
Expression, After Effects'te bir özelliğin değerini JavaScript tabanlı küçük bir kodla hesaplatma yöntemidir. Yüzlerce keyframe yerine tek satırla titreşim, döngü, sürekli dönüş veya katmanlar arası bağlantı kurabilirsin. Kod bilmen gerekmez; en çok kullanılan beş altı fonksiyonu öğrenmek günlük işlerin çoğuna yeter.
Expression Nasıl Eklenir?
Zaman çizelgesinde bir özelliğin (örneğin Position) kronometre simgesini Alt (Mac'te Option) tuşuna basılı tutarak tıkla. Özelliğin yanında kod yazabileceğin bir alan açılır. Kodu yazdıktan sonra alanın dışına tıkla; kod hatalıysa kırmızı bir uyarı ve hata mesajı görünür. Expression'ı kaldırmak için yine Alt ile kronometreye tıklaman yeterlidir.
wiggle: Rastgele Titreşim
wiggle(sıklık, genlik) bir özelliği rastgele sallar. İlk sayı saniyedeki titreşim sayısı, ikinci sayı titreşimin büyüklüğüdür. Position üzerinde şöyle kullanılır:
wiggle(3, 40)Bu kod katmanı saniyede yaklaşık 3 kez, en fazla 40 piksel kadar rastgele hareket ettirir. Kamera sarsıntısı için Null katmanın Position özelliğine, nefes alma etkisi için Scale özelliğine uygulayabilirsin. Sadece X ekseninde titreşim için şunu kullan:
[wiggle(2, 30)[0], value[1]]time: Sürekli Hareket
time değişkeni, kompozisyonun o anki zamanını saniye olarak verir. Bir değeri time ile çarparsan, o özellik sürekli artar. Rotation özelliğine aşağıdaki kodu yazarsan katman saniyede 90 derece dönmeye devam eder; keyframe gerekmez:
time * 90loopOut: Animasyonu Döngüye Almak
Bir özelliğe iki veya daha fazla keyframe verdikten sonra loopOut kullanarak animasyonu sonsuza kadar tekrarlayabilirsin. Üç yaygın tipi vardır:
- loopOut("cycle"): Animasyon başa dönüp aynı yönde tekrar eder.
- loopOut("pingpong"): İleri-geri gider, yani ping pong gibi döner.
- loopOut("continue"): Son hızı koruyarak hareketi sürdürür.
loopOut("pingpong")linear ve ease: Değer Eşleme
linear(t, tMin, tMax, değer1, değer2) bir değeri başka bir aralığa eşler. Örneğin zaman 0 ile 2 saniye arasında geçerken opaklığı 0'dan 100'e çıkarmak için Opacity'e şunu yaz:
linear(time, 0, 2, 0, 100)ease(...) aynı mantıkta çalışır ama başlangıç ve bitişi yumuşatır. İleri düzeyde, bir katmanın özelliğini başka bir katmana bağlayabilirsin; örneğin bir katmanın konumunu "Kontrol" adlı Null katmanın konumuna eşitlemek için:
thisComp.layer("Kontrol").transform.positionPick Whip ile Kod Yazmadan Bağlama
Kod yazmak istemiyorsan expression alanının yanındaki spiral (pick whip) simgesini bir başka özelliğin üzerine sürükle; After Effects ilgili kodu senin yerine yazar. Bu yöntem, iki katmanın hareketini veya ölçeğini birbirine bağlamak için en hızlı yoldur. Karmaşık expression'ları ileride tekrar kullanmak için bir metin dosyasına kaydetmek iyi bir alışkanlıktır.
Sık Karşılaşılan Hatalar
- Büyük/küçük harf duyarlılığı: wiggle doğru, Wiggle ise hata verir.
- Köşeli parantez: Position gibi iki değerli özelliklerde sonuç [x, y] biçiminde olmalıdır.
- Çok sayıda wiggle içeren ağır sahneler önizlemeyi yavaşlatabilir; bu durumda expression'ı sabitleyip "Convert Expression to Keyframes" ile anahtar karelere dönüştür.
- Yeni sürümlerde JavaScript motoru varsayılandır; çok eski projelerdeki Legacy ExtendScript expression'ları farklı davranabilir.
Sıkça Sorulan Sorular
Expression yazmak için programlama bilmem gerekir mi?
Hayır. Bu rehberdeki beş fonksiyonla başla, pick whip ile bağlantı kur ve gerektikçe yeni fonksiyon öğren.
Expression render süresini uzatır mı?
Basit olanlar ihmal edilebilir etki yapar; ancak çok sayıda katmanda karmaşık expression'lar yavaşlatabilir. Gerekirse anahtar karelere dönüştür.
Expression'ı başka projeye nasıl taşırım?
Özelliği kopyalayıp yeni katmana yapıştırabilir veya Animation Preset (.ffx) olarak kaydedip her projede yeniden kullanabilirsin.