8 Ekim 2018 Pazartesi

Pierre Bézier ve Animasyon Zamanlaması: 1


Vektörel çizim , animasyon graph'ları , 3B modellerdeki Smooth vb. şeylerin temelinde Pierre Bezierin geliştirdiği sistem yatmaktadır. Bu yazıda kısa bir tanıtım ve teknik açıklamadan sonra Animasyon zamanlamasında ne işe yaradığını anlatmaya çalışacağım. umarım başarırım :)
Pierre Bezier 
Görüntü:Wikimedia Commons

Pierre Bezier

Bilgisayar grafiklerinin önemli bir uygulaması olan bezier eğrileri 1970 yılında, Fransız bir mühendis olan Pierre Bézier tarafından, renault arabaların tasarımında kullanılmak için geliştirilmiştir. Bezier eğrileri günümüzde fontların üretiminde, modelleme çalışmalarında, ve daha birçok alanda kullanılmaktadır.*
 

Bezier Eğrisi

Bezier eğrisi, kendini tanımlayacak olan poligonun köşeleri ile birebir ilişkilidir. Poligonun yalnızca ilk ve son köşeleri eğri üzerinde bulunmaktadır. Diğer köşeler ise eğrinin derecesini ve dolayısıyla şeklini tanımlamada katkıda bulunurlar. Bezier eğrisi açık veya kapalı bir poligon tarafından tanımlanabilir. Poligonun vertexleri üzerinde yaptığımız değişiklikler doğrudan eğrinin üzerinde oluşacak olan değişikliğe karşıdüşecektir. Böylelikle köşelerin kullanımı sayesinde kullanıcı görsel olarak ulaşabileceği sonuçları önceden kestirebilmektedir. Bezier eğrileri, yerel denetime izin vermekle beraber istenilen düzeye erişememiştir. Bezier eğrisinin oluşumuna belirli oranlarda katkıda bulunan kontrol noktalarından herhangi birinde yapılan değişiklik, eğrinin geneli üzerinde etkiye sahiptir.*
Cubic-bezier.com sitesinden uygulamalı olarak nasıl çalıştığını kurcalayabilirsiniz


Animasyon Zamanlaması

Değer grafiği ve Temporal interpolasyon düzenleyici. Yani Graph Editor :D

Tweening: Animasyonda İnterpolasyon


İnterpolasyon, bilinen iki değer arasındaki bilinmeyen veriyi doldurma işlemidir. Bizim anlayacağımız dilde ise iki keyframe arasındaki ara pozları doldurma işlemi olarak açıklayabilirim. Sadece bundan ibaret olmasada bizi ilgilendiren kısmı bu. Genelikle animasyonda Tweening olarak karşımıza çıkar. Bu yönetem mayadan after'a kadar neredeyse tüm animasyon yazılımlarında vardır. İşlevi yukarda bahsetiğim gibi ara kareleri otomatik doldurmasıdır. Fakat bu çoğu zaman için yeterli olmayabilir. ilk yaptığınız dijital animasyonlarda muhtemelen aldığınız ilk eleştiri hareketlerin mekanikliliğidir. benim öyleydi :) . Animasyon prensiplerinden Slow in ve out u düşünelim.
Tweening yöntemi yalın olarak kullandığımızda Slow in slow out gibi etkilerin eksikliğini çekiyoruz. Peki tweening ile oluşturulan ara pozlarda nasıl bu etkiyi yakalayabiliriz? İşte burda karşımıza "Değer grafiği ve Temporal interpolasyon" çıkıyor. İsim kafanızı karıştırmasın aslında bu bizim çok kullandığımız Graph Editörün Türkçe ve teknik ismi.

Value-Time Graph: Değer zaman grafiği

Değer: Eğer bir hareket yapıyorsak onun kompozisyon üzerindeki konumu. After'da örneğin katmanın saydamlığına animasyon vermek istiyorsak saydamlığın yüzdesi değer oluyor.

Zaman: Verdiğimiz animasyonun süresi. verdiğimiz her değer 1 frame oluyor.

Bu grafik müdahale edilmediği zaman lineerdir ve elde etiğimiz hareket çok mekaniktir. Bu lineer grafiği Bezier eğrilerine çevirip hareketi frame by frame animasyonda olduğu gibi hangi konumda aralara nekadar poz oluşturucagını elle belirleyebilir , yumuşatabilir , Slow in ve out yapabilir veya ivmeli hale getirebiliriz.


Bir sonraki yazımda After Effects te uygulamalı olarak Bezier eğrilerinin çeşitlerini ve animasyon zamanlamasında neye karşılık geldiğini göstermeyi planlıyorum 

*Ömer Çakır. "BOYAMA VE KATI CİSİM ÜRETİMİ", KTÜ Ders notu.