Profili Göster

After Effects Expressions 1

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

Okunma : 577 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.

sonuc:

buradan..

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 Konferans Dijital Pazarlama Konferansı - Digitalage 2008

Dijital Pazarlama Konferansı - Digitalage 2008

360° Dijital Pazarlama etkinliği 21 Kasımda Istanbul Hyatt Regency’de düzenlenecek ve aşağıda detaylarını bulacağınız başlıklar çerçevesinde kon...
Kategori: Konferans

aç-kapa Eğitim Bilişim Hukuku Sertifika Programı

Bilişim Hukuku Sertifika Programı

BILISIM HUKUKU SERTIFIKA PROGRAMI 22 – 23 Kasım 2008 – 09.30 – 17.00 – Lares Park Otel – Taksim – 650 YTL+kdv Eg...
Kategori: Eğitim

aç-kapa Yarışma 5.İstanbul Animasyon ve Görsel Efekt Kısa Film Yarışması

5.İstanbul Animasyon ve Görsel Efekt Kısa Film Yarışması

5.İstanbul Uluslararası Animasyon Festivali, 24-30 Kasım 2008 tarihleri arasında gerçekleştirilecektir. Festival dahilinde gerçekleşen 5. İstanbul Ani...
Kategori: Yarışma

aç-kapa Konferans TIME 2008 Interpro Forum Telekom, Internet, Medya, Eğlence Konferansı

TIME 2008 Interpro Forum Telekom, Internet, Medya, Eğlence Konferansı

Program 1 Aralık 2008 Pazartesi 08:00-12:00 Kayıt 10:00-10:30 Ana Oturum Türkiye’de Yeni Nesil Telekom Hizmeti Cengiz Anık – Avea, Ge...
Kategori: Konferans

aç-kapa Çalıştay Dirty99, 9. Pazarlama Zirvesi Etkinliği

Dirty99, 9. Pazarlama Zirvesi Etkinliği

Dirty99, 9. Pazarlama Zirvesi süresince 99 özel pazarlama profesyoneli ile, 99 dakikalık bir workshop çalışması! Özellikle interaktif pazarlama araçla...
Kategori: Çalıştay

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

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

coldfusion mysql ubuntu
 
sponsor adobe istanbul