Türkiye Online Medya Araştırması
Profili Göster

After Effects Expressions 1

adem Kılıc Tarih: 16/07/2008 Yorum: 2 adet

Okunma : 1765 Tutanlar: Bu yazıyı 1 kişi tuttu.

After Effects'de Expressions ile Basit Animasyon Yapmak

Expressions jawa tabanlı kod ile nesneleri senkronize hale getirmek.

Örnekte yapılacak olan işlem otomobil'in x kordinatında gidiş yönü hızına göre tekerleklerin dönüş yönü ve hızını belirlemek.

new Composition ile yeni bir compozisyon açıp otomobil resmimizi compozisyon içine atıp ( ctrl + D ) ile bir kopyasını çıkarıyoruz.

alt layer daki resmi gizleyip Pen Tool ile sadece kasayı maskeliyoruz.

MMİstanbul

Aynı şekilde gizlediğimiz layer i görünür hale getirip bu defa da tekerleği maskeliyoruz.

MMİstanbul

Tekerleğin kendi ekseninde dönmesi için tekerlek seçili iken Pan Behind Tool ile odak noktasını nesnenin ortasına getiriyoruz aksi halde odak noktası neresi ise o noktayı referans alıp etrafında dönecektir.

MMİstanbul

Aynı şekilde maskelediğimiz otomobil kasasının odak noktasını da tekerleğin odak noktası ile aynı konuma getiriyoruz.

MMİstanbul

Şimdi yapmamız gereken tekerleğin dönüş kordinatını otomobilin pozisyon kordinatına kilitlemek.

Bunun için tekerlek seçili iken tranform > rotation Alt basılı iken Mouse ile tıklamap Expressions: Rotation a ulaşmak Expressions pick Whiparacı ile otomobilin position kordinatına bağlamak.

MMİstanbul

Bu işlemi gerçekleştirdikten sonra, otomobili x yönünde sağa sola senkronize bir şekilde hareket ettirdiğiniz zaman tekerleğin hareket hızına göre senkronize bir şekilde döndüğünü göreceksiniz. Ama tekerleğin pozisyonu sabit kalacaktır.

mmistanbul.com

Tekerleğinde pozisyonunu da otomobile kilitlemek için tekerlek seçili iken tranform > position Alt basılı iken Mouse ile tıklamap Expressions: position a ulaşıp Expressions pick Whip ile otomobilin position kordinatına bağlamak gerekiyor.

aç-kapa İçeriğin rss beslemesi kullanımda değil Yorumlar

Profili Göster
Emre Telci 28/07/2008

Sevgili Adem,

Aslında bu konu önemli bir konu çünkü, giden arabanın tekerleklerinin yere tam basarak ve de kaymadan dönmesi After Effects'te Expression kullanılmadan yapılamayacak animasyonlardan birtanesi. Yanlız ciddi bir projede bu konuya yaklaşım daha değişik oluyor.

Senin gösterdiğin metod biraz basit bir expression kullanımı olmuş. Eğer dönen bir tekerlek olmasaymış da herhangi iki nesneyi birbirine bağlasaymışız o zaman daha uygun olurdu ama burada göz önünde bulundurmak gereken daha fazla faktör var. Örneğin tekerleğin çapının; (dolaylı olarak çevresinin) yere tam basması ve kaymaması açısından büyük önemi var.

Şöyle düşünebilirsin: Senin gösterdiğin metodda arabanın soldan sağa giderken katettiği pixel cinsinden değeri, tekerleğin dönme açısına bağlıyorsun. Yani araban 30 pixel sağa gitmişse, tekerleğin 30 derece dönecek. Buradaki pixel-derece ilişkisi doğru değil. Araban 360 pixel sağa gitmişse tekerleğin tam tur atmış olacak, bu da tekerleğin çoğu zaman kayması demek olacak. Yani zemine tam basmadan, kayarak, arabadan gittiği yoldan daha hızlı veya daha yavaş dönmesine neden oluyor. Eğer öyle olmasaydı, bütün çemberlerin çapının 360 pixel olması gerekirdi 

Bu arada konuyu anlatırken, tek değişkenli rotation değerini iki değişkenli olan position değerine bağlamışsın pickwhip ile. Bu da doğru değil aslında. AE bu gibi durumlarda bizi uyarıyor ve bu expresssionu iptal ediyor. Burada çok önemli değil konu olarak ama gene de değinmek istedim.

Peki nasıl yapabiliriz o zaman kaymadan giden bir tekeri. Aslında matematik olarak olaya yaklaşırsak daha doğru bir expression yazabiliriz. Öncelikle tekerin çevresini hesaplamamız gerekir çünkü katettiği yolda kaç tur attığını bulmamız gerekir. Örneğin tekerin çevresi 1 metre ise, 10 metrelik bir yolda 10 tam tur atmış olması doğrudur. İşte bu temel fizik-matematik kuralını temel alarak bir expression yazalım tekerleğin rotationuna.

Matematik kuralı olarak, Çevre=2.π.r

Tekerleğin yarı çapını aslında bulmamıza gerek yok çünkü formüldeki 2.r yerine geçen "width" özelliğini kullanabiliriz tekerleğin. Yani,

2. r = width;

O zaman çevre=width.π

AE, Java Script kulandığı için (Jawa değil) π değerini de Math.PI olarak formülde yerine koyabiliriz:

Çevre=width*Math.PI

Şimdi tekerimizin çevresini hesap ettik. Katettiği pixel değerinden yolu bulup çevreye bölersek kaç tur atmış olduğunu buluruz.

Yol=position[0] diyebiliriz. Position[0] herhangi bir cismin X ekseninde aldığı değerdir. Yani sağa sola giderken aldığı pixel cinsinden değer. AE'de ilk değer 0, ikinci değer 1 oluyor. Yani position[0]=X , position[1]=Y gibi...

O zaman expression için

cevre=width*Math.PI;
yol=position[0];
(yol/cevre);

diyebiliriz. Bu expression ile bir eksende yol kateten bir tekerleğin kaç tur atması gerektiğini bulmuş oluruz. Son olarak da bulduğumuz bu tam tur değerini rotation açısına çevirmeliyiz.Sadece bu şekilde, kaymadan, bir tekerleği sağa sola döndürerek götürebilirsin.

Burada bir örneğini yaptım: kaymadan dönen teker

Profili Göster
adem Kılıc 28/07/2008

Evet aslında çok haklısın bu konuda, ama bu kadar ağır bir kodla başlamak istemedim buradaki amaç sadece nesneleri nasıl birbirine bağlarız dı. Çok basit bir başlangıç ama bu arada anlatılmak istenen olay biraz daha farklı burada matematiksel işlemler ön planda değil.

Hem tekerleğin dönüş hızını ( *= ) metodu ile istediğin kadar hızlandıra bilirsin :)

İyi Çalışmalar.

yeni üyelik | şifremi unuttum

aç-kapa Toplantı Özgür Yazılım ve Linux Günleri '10

Özgür Yazılım ve Linux Günleri '10

İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü ve Linux Kullanıcıları Derneği'nin 9 yıldır düzenlemekte oldukları etkinlikler bu yıl `Özgür Y...
Kategori: Toplantı

aç-kapa Yarışma 3. Uluslararası Ekslibris Yarışması: İstanbul 2010

3. Uluslararası Ekslibris Yarışması: İstanbul 2010

İstanbul Ekslibris Dernegi, Feyziye Mektepleri Vakfı ve Işık Üniversitesi, kitaplar için mülkiyet işareti olarak kabul edilen ve üzerinde estetik dege...
Kategori: Yarışma

aç-kapa Konferans Yeni Medya ve Etkileşim Konferansı 2010 - Marmara Üniversitesi

Yeni Medya ve Etkileşim Konferansı 2010 - Marmara Üniversitesi

Generally speaking, the term "New" brought about debates. We try to open up and elucidate the term "New" along with "Interact...
Kategori: Konferans

aç-kapa Konferans 3. Uluslararası Gelecek İçin Öğrenme Alanında Yenilikler Konferansı 2010: e-Öğrenme

3. Uluslararası Gelecek İçin Öğrenme Alanında Yenilikler Konferansı 2010: e-Öğrenme

Konferans ile ilgili ayrıntılı bilgiye aşağıdaki bağlantıdan ulaşabilirsiniz: http://www.futurelearning.org.tr/katilim_cagrisitr.pdf ...
Kategori: Konferans

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 62 (50 kayıtlı, 12 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

...

Blog Bölümü Blogevi.com'a Taşınıyor

Selam arkadaşlar MMIstanbul'da , tasarımcı ve programcıların blog yazılarını "feedleyerek" MMIstanbul okurlarını MMIstanbul dışın ...

7.500'üncü üyemiz Cem Koç!

Neler Yapılabilir?

500 Hatası Hakkında!

Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)

coldfusion mysql ubuntu
 
sponsor adobe istanbul