3D Animasyon Aşamaları ve Kavramlar
Bir animasyonun gerçekleştirilmesinde birçok aşama bulunmaktadır. Bu aşamalarda genel olarak hangi işlemlerin yapıldığını ve bu aşamalarla ilgili olan bazı terim ve kavramları bu bölümde açıklamaya çalışacağız.

Storyboard
Bu aşama, hazırlanacak animasyon çalışmasının hikâyesinin çizimlerle belirlendiği, karakterlerin yapması gereken hareketlerin ve konuşma sahnelerinin belirtildiği bölümdür. Hikâyenin tüm aşamaları bu bölümde belirtilir ve düzenlemeler burada yapılır. Bu alandaki çalışmalar sona erdikten sonra animasyonla ilgili diğer çalışmalar anlam kazanır. Bu bölüm, hem ileride çıkabilecek sorun ya da çelişkileri önceden görmeyi sağlamakta, hem de animasyonun diğer bölümlerini hazırlayacak kişilere ne yapmaları gerektiğini açıklayıcı bir şekilde anlatmaktadır.

Modelleme (MODELING)
Modelleme, animasyonlarımızda kullandığımız modellerimizin hazırlanması aşamasıdır. Bu aşamada Storyboard’a sadık kalınarak en küçük ayrıntılara kadar tüm detaylar modellenir. Modelleme amacıyla 3D programlarında kullanılan birçok modelleme yöntemi ve tekniği vardır. Bu konuda rastlayacağımız bazı terim ve yöntemleri bu bölümde açıklamaya çalışalım.

Nokta (Point) : Üç boyutlu uzayda modelleyeceğimiz her şey, noktalar sayesinde oluşmaktadır. Bu noktalar x,y ve z koordinat sistemindeki değerleri ile belirlenmekte ve birbiri ile olan ilişkileri sonucunda Poligonlar, Eğriler (Curve) ve yüzeyler oluşmaktadır.

Poligon (Polygon): Poligon, noktaların birleştirilmesi sonucunda ortaya çıkan kapalı yüzeylere verilen addır. En basit poligon, üç noktadan oluşan üçgendir. Noktalar ve poligonlar poligonal model- lerimizi oluşturan yapı taşlarıdır.

Eğriler (Curves): 3D modellerimizi oluşturmakta kullandığımız bir yapı taşımız da eğrilerdir. 3D programlarında kullanabileceğimiz eğriler genel olarak beşe ayrılmaktadır. Patch ve NURBS yüzeyli modeller bu eğrilerden meydana gelmektedir. 3D modelleri modellemekte kullanılan eğriler, özelliklerine göre Linear, Cardinal, Bezier, B-spline ve NURBS isimlerini almaktadır. Bu eğri tiplerinden NURBS (Non Uniform Rational B-Splines - Bağdaşık olmayan rasyonel B-eğrileri) en çok özelliğe sahip olan ve en kullanışlı eğri tipidir.

Poligonal Model: İsminden de anlaşıldığı gibi Poligonal Model, poligonlardan meydana gelen modeldir. Her poligon 2 boyutlu kapalı bir yüzeydir. Bu poligonlar bir araya gelerek 3 boyutlu modelimizi oluşturur. Poligonal modellere çok kolay bir şekilde yeni noktalar ekleyebilir, yüzey sayısını arttırabilir ya da eksiltebilirsiniz. Her poligonu dilediğiniz materyal ile kaplayabilir, değişik yüzey özellikleri atayabilirsiniz. Render işlemi Patch ya da NURBS yüzeyli modellere göre daha kısa sürmektedir.

Patch ve NURBS yüzeyli modeller : Genel olarak, matematiksel eğrilerden oluşan yüzeylerden meydana gelen modeller olarak tanımlanabilir. Patch ve NURBS yüzeyli modeller, eğrilerden meydana geldiklerinden, kolayca şekillendirilebilirler. Bu model tiplerini meydana getiren eğri- lerin yapısına göre de Patch ve NURBS modeller birbirlerinden ayrılırlar. Patch modeller Linear, Bezier, Cardinal ya da B-Spline eğrilerden oluşturulabilirken, NURBS yüzeyli modeller NURB eğrilerinden oluşmaktadır. Bu tür mo- delerin en büyük özelliği, hazırlanan modelin az sayıda konrol noktası sayesinde ko- layca modellenebilmesi, modellerin oldukça organik ve yumuşak olması, kolayca şekillerinin ve yapılarının değiştirilebilmesi ve mate- matiksel olmaları nedeniyle UV map ping denilen yüzey texture kaplama yöntemine izin vermeleridir.

Null Model: Null Model, esasında modelleme ile ilişkisi olmayan bir model tipidir. Sahnelerimizde kameranın hedefi olarak ya da birçok kısımdan oluşan bir ana modelin kısımları arasındaki hiyerarşiyi sağlamak amacıyla kullanılabilen yardımcı modellerdir. Render sonucunda elde ettiğimiz resimlerde görünmemesi nedeniyle oldukça kullanışlıdırlar. Bu modeller SoftImage ve LightWave’de Null ismini alırken, 3DS Max’te Dummy, Animation Master gibi bazı programlarda ise ghost model olarak adlandırılırlar.

Primitive Modeller: Modelleme sırasında kullanabileceğimiz programın bize sunduğu basit modellere primitive model denilmektedir. Circle, Arc, Cube, Square, Cylinder, Torus, Tetrahedron, Octahedron, Icosahedron, Cone gibi birçok geometrik şekil, primitive modellere örnek olarak verilebilir. Bu modelleri değişik şekillerde direkt olarak kullanarak ya da modelleme araçları yardımıyla şekillerini değiştirerek yeni modeller elde edilebilir.

Bazı modelleme yöntemleri:

Extrude: İki boyutlu olarak hazırladığımız modellerimizi üç boyutlu hale getirmekte kullandığımız bir yöntemdir. Bu yöntem sayesinde, herhangi bir ekranda çizmiş olduğunuz iki boyutlu bir model parçasını 3 boyutlu hale getirebilirsiniz.

Lathe: Herhangi bir 2 boyutlu model kesitinin, bir eksen etrafında döndürülmesi sonucunda 3 boyutlu model elde etmemizi sağlayan yöntemdir.

Skin: Bu yöntem iki adet 2 boyutlu model kesitinin , noktalarının birleştirilerek 3 boyutlu model elde edilmesi işlemidir.

MetaNURBS: LightWave programında poligonal yapıdaki bir modelden NURBS tabanlı bir modelleme sistemine geçilmesi ve NURBS’ün özellikleri kullanılarak modelleme işlemlerinin yerine getirilmesini sağlayan bir modelleme yöntemidir.

Boolean: Bir modelden başka bir modeli çıkartarak, ekleyerek, kesişimlerini alarak yeni bir üç boyutlu model elde etmemizi sağlayan yöntemdir. Boolean yönteminde Subtract işlemiyle bir modelden bir diğeri çıkarılır, Union ya da Add ile iki model birleştirilirken, Intersect işlemi sonucunda iki modelin kesişiminden yeni bir model elde edilir.

MetaBalls: Metaballs özellikle organik olarak adlandırılan yumuşak ve oval kenarlara sahip modellerin modellemesinde kullanılan bir yöntemdir. Bu yöntemde metaball olarak adlandırılan oval modeller gurubundan konumlarına göre yeni bütün bir model elde edilebilmektedir. Soft Image programında bu işleme MetaClay adı verilmektedir.

Animasyon

Animasyon bölümünde ise karakterlerimizin ve sahnemizi oluşturan kamera, ışık vb.lerinin hareketleri ve canlandırılma işlemleri yapılır. Bu bölümde karşımıza çıkabilecek kavram ve tekniklerden bazıları ise şunlardır:

Frame: Animasyonlarımızı oluşturan en küçük birim frame yani karedir. Resim kareleri hızlı bir şekilde peş peşe oynatılarak animasyon elde edilir. Animasyonun yayınlanacağı sisteme göre saniyede gösterilmesi gereken kare sayısı (FPS -Frame Per Second) değişmektedir. PAL sisteminde saniyede 25 kare, NTSC’de 30 kare ve filmde ise saniyede 24 frame gösterilerek görüntü oluşmaktadır.

Key Frame: Animasyonu hazırlarken genelde sahnemizde kullandığımız model, ışık ya da kameramız gibi unsurların, büyüklük, pozisyon, dönüş gibi özelliklerini animasyonumuzun her karesinde belirtmemiz gerekmez. Keyframe’ler sayesinde belli karelerde değişiklikleri belirtiriz, bu değişikliklerin arasındaki karelerdeki değişiklikler, kullandığınız program tarafından otomatik olarak gerçekleştirilir.

Forward ve Inverse Kinematics:Kinematics, hareket bilimi olarak bilinir. Bir cismin konum, hareket hızı, dönme miktarı v.b. konular bu bilim içerisinde incelenir. Forward Kinematics ise bilgisayar animasyonlarında yine hareketle ilgili olarak, eklemli yapılarda ( Hiyerarşik parent/child ilişkilerinde) hiyerarşinin başı olan model parçasını oynatmamız sonucunda, diğer bu modele bağlı yapıların, yapıyı oluşturdukları açılar ve şeklini bozmadan hareket etmesini sağlar. Mesela bir el, elin bağlı olduğu kolu ve omuzumuzu düşünelim. Burada bu hiyerarşiyi oluşturan parent yani ana model parçası omuzdur. Diğer kısımlar buna bağlanan child yani yavru parçaları oluşturur. Eğer omuzu döndürür ya da hareket ettirirsek Forward Kinematics nedeniyle kol ve el de ona bağlı olduğu için hareket edecektir.

Inverse Kinematics ise bu işlemin tam tersini yapmamıza izin verir. Yani hiyerarşinin en ucundaki kısmı oynatarak, diğer kısımların hareketi sağlanır. Inverse Kinematics’in en önemli özelliği hiyerarşiyi oluşturan kısımların her birinin hareketlerinin kısıtlanmasıdır. Mesela kafamızı 360 derece döndürmemiz mümkün olamayacağı için kafamızın dönüş açı limitlerini ve bunun gibi her kısmın limitleri belirtilir. Sonuç olarak Inverse Kinematics işleminde tüm kısımlar için belirlenen bu sınırlara göre hareket sağlanmış olur. Inverse Kinematics’in Forward Kinematics’e birçok üstünlüğü bulunmaktadır. Bir kol animasyonu için Forward Kinematics’te tüm kısımları ayrı ayrı hareket ettirmek gerekirken, Inverse Kinematic yapı hazırlandıktan sonra yapılması gereken sadece hiyerarşinin en ucundaki kısmı hareket ettirmektir.

Bones (İskelet sistemi): Bones yani iskelet sistemi karakterlerimizi hareket ettirmekte, ya da değişik nesnelere canlıymış gibi kişilik katmakta kullanılabilecek araçların başında gelmektedir. Modellerimizin yapmasını istediğimiz birçok hareketi iskelet sistemi ile gerçekleştirebiliriz.

Fog (sis): Animasyon sahnelerinde kullanılan bir diğer teknik ise sis kullanımıdır. Sis, sadece sisli ortamları canlandırmakta değil, denizin altı ve değişik atmosferik olaylarda da ilk başvuracağımız animasyon aracıdır. Özellikle Volumetric (hacimsel) sis kullanımı ile çok etkileyici animasyonlar yapılabilir.

Morph: Morph ilk olarak ILM tarafından kullanılan bir yöntem olsa da biz onu en çok Michael Jackson’ın Black or White klibindeki birbirine dönüşen kadınlı, erkekli animasyon kareleri ile tanıdık. Her ne kadar Michael Jackson’ın video klibindeki animasyon 2D bir animasyon olsa da bize Morph olayının mantığında bir yapıdan başka bir yapıya dönüşümün yattığını çok iyi bir şekilde anlatmaktadır. 3D animasyon programlarında bu değişimi sağlamak için gerekli şart ise dönüştürülecek modellerin eşit nokta sayısına sahip olmalarıdır. Eğer nokta sayılarınız eşit değilse bazı faydalı programlarla bu problemi de giderebilmektesiniz.

Compositing: Compositing olayı, bir veya birden fazla görüntünün birleştirilerek yeni bir görüntünün elde edilmesi olayıdır. Bu amaçla çeşitli yöntemler kullanılsa da bilgisayar animasyonlarında sahnemizin arka tarafındaki hareketli görüntülerin üzerine bilgisayar animasyonlarının bindirilmesi, ön tarafta başka bir görüntünün yine bu iki görüntünün üzerine bindirilmesi gibi işlemler compositing işleminin en çok kullanıldığı alandır. Lost World filminde, şehrin içinde dolaşan dinozorların sahnesinde bu teknik kullanılmıştır.

Glow: Animasyonlarda parıldamanın sağlanması amacıyla kullanılan bir yöntemdir. Çoğu animasyonda, modelin etrafında oluşan parıldamalar bu yöntem ile elde edilmektedir.

Displacement Mapping: Displacement Mapping, modellerimizin şeklini etkileyebileceğimiz bir yöntemdir. Bu yöntem sayesinde hazırlanan bir resim ya da hazır olarak programlar tarafından sunulan procedural (matematiksel) map’ler sayesinde modelimiz form değişikliğine uğramaktadır. Mesela dalgalanan pelerin ya da bayrak, yerden kabararak oluşan bir Logo bu yöntem sayesinde kolayca elde edilebilinir.

Particles (Parçacık Animasyonu): Bilgisayar animasyonlarında birçok parçacıktan oluşan yapıların hareketleri particles (parçacık animasyonu) sistemi sayesinde kolaylıkla gerçekleştirilebilmektedir. Mesela bir meşalenin alevi, bir roketin arkasından çıkan alev ve toz bulutunun canlandırılması bu şekilde elde edilmektedir. Tek tek parçacıkların hareketlerinin verilmesi yerine bu sistemin sağladığı yer çekimi ivmesi, rüzgar, dağılma v.b. etkilerle parçacıklar kolayca hareket ettirilir.

Motion Capture: Son zamanlarda neredeyse tüm bilgisayar oyunlarındaki karakterlerin hareketlerinin gerçekçiliği herkesin dikkatini çekiyor. Bunun yapılmasını sağlayan, canlıların hareketlerini alarak bunları bilgisayar animasyonlarında kullanmamızı sağlayan tekniğe Motion Capture denilmektedir. Bu teknikte, aktörün üzerine bağlanan belirli alıcı ya da vericiler sayesinde kişinin yaptığı hareketler kayıt edilmekte, daha sonra bu veriler bilgisayar animasyonlarında kullanılmak amacıyla düzenlenmektedir. Motion Capture sistemleri Manyetik ve Optik olarak ikiye ayrılmaktadır. Optik olanlarda ışık ve oldukça hızlı görüntü yakalayan hassas kameralar sayesinde kişinin üzerindeki algılama noktaları tespit edilerek hareketler kayıt ediliyor.Manyetik motion capture sistemlerinde ise bu sefer aktörün üzerindeki belirli noktalara kablolarla alıcılar yerleştiriliyor.

Bu iki sistemin de birbirlerine üstünlükleri bulunmakta. Optik sistemlerde bazen yapılan hareketin hızı nedeniyle hareket yakalanamayabiliyor. Buna karşın optik sistemlerde vücuda bağlanan kablolar nedeniyle hareket serbestiniz oldukça düşüyor. Bunun yanında bir başka fark da algılama noktalarından geliyor. Hareketler sonucunda oluşan veriler o kadar çok ve yoğun ki, optik sistemlerde algılama noktaların 23 ilâ 32, manyetik sistemlerde 10 ilâ 20 ile sınırlamak zorunda kalmışlar.

Sonuç olarak elde edilen veriler direkt olarak kullanılamıyor. Bir sonraki aşamada bu veriler düzenlenip hataları ayıklanıyor. SoftImage 3D ve LightWave 5.5 Motion capture sistemini direkt destekliyorlar.

Yüzey Özelliklerinin Belirlenmesi (SHADING)

3D programlarımızda yüzey özelliklerimizin belirtilmesi ve yüzeylerimizin dokularının atanması ile ilgili işlemler bu kapsama girmektedir. Bu aşamada, sahnemizde kullandığımız modellerimizin rengini, yüzeylerinde kullanmak istediğimiz dokuyu, modellerimizin meydana geldiği materyallari, değişik yüzey özelliklerinden yararlanarak elde edebiliriz. Gerçek hayatta her madde, ışığa değişik şekillerde tepki vermektedir. Mesela bazıları ışığı emer, bazıları ise oldukça sert olduklarından ışığı güçlü bir şekilde yansıtabilirler. Bazı maddeler ise ışığın geçmesine izin vererek, şeffaf görünüşler elde etmemizi sağlayabilirler. İşte bunlar gibi birçok özelliği programlarımızda canlandırmak için gerekli tüm araçlar hizmetimize sunulmuştur. Bu araçlardan faydalanarak gerçek hayattaki gibi gerçekçi görüntüler elde etmeniz mümkündür.

Procedural Texture: Matematiksel algoritmalar sayesinde, 2D resim yerine bilgisayar tarafından hesaplanan matematiksel tabanlı doku türlerinin sağlanması. Procedural Map’lerin en büyük özelliği çok az yer kaplamaları ve hangi yüzeye eklenirlerse eklensinler kesikliklerin oluşmaması.

Reflectivity: Yansıma derecesi. Programlarımızda bu seçenekle oluşturduğumuz modelin görüntüyü ne derecede yansıtabileceğini belirliyebiliriz.

Transparency: Geçirgenlik anlamına gelmektedir. Bu özellik sayesinde şeffaf modeller elde edebiliriz.

Refraction (Kırılma): Ray trace programlar, şeffaf bir maddenin canlandırılmış olması durumunda modelimizin arkasında kalan bölümü de görmemizi sağlamaktadır. Gerçek hayatta şeffaf maddelerin yoğunluğuna göre kırılmanın da farklı olduğu bilinmektedir. İşte kırılma indisini bu seçenek ile sağlarız.

Image Mapping: Bu yöntem, kaplama malzemesi olarak bir resmin kullanılması anlamına gelmektedir. Mesela tahta bir zeminin üzerindeki desenler tarayıcılar ya da sayısallaştırıcılar tarafından gerçeğinden alınmış resimler kullanılarak canlandırılabilir.

Planar Image Mapping: Planar image mapping, bir eksende hazırlanmış olan modelimizi kaplamamızı sağlar. Kullanacağımız resim, o eksen doğrultusunda yapıştırılır ve modelimiz bu resimden o doğrultuda etkilenir.

Cylindirical Mapping: Bu yöntemde, hazırlanan resmimiz, bir eksen etrafında döndürülerek kaplanır. İsminden de anlaşıldığı gibi silindirik yapıları kaplamak amacıyla kullanılır. Mesela gazoz kutularını ve şişeleri bu şekilde kaplayabilirsiniz.

Spherical Mapping: Bu yöntemde ise yine bir eksen etrafında resmimiz sarılır. Fakat burada amaç küresel yapıları kaplamaktır. Mesela bir küreyi, dünyanın resmi ile bu şekilde kaplayabilirsiniz.

Cubic Image Mapping: Cubic Image Mapping yönteminde, verilen resim tekrarlanarak tüm yüzeylere kaplanır. Mesela yer döşeme karoları gibi kaplama gerektiren bölgelerde bu yöntemi kullanabilirsiniz.

Front Projection Mapping: Bu yöntemde amaç canlı video görüntülerinin bilgisayar animasyonları ile birleştirilmesidir. Bu amaçla kameranın gördüğü alana Front Projection ile atanan görüntü yüzeylerin bulunduğu bölgelere yapıştırılır.

Kaplama yöntemleri: Yukarıda sıraladığımız procedural map’ler ve image mapping tipleri, değişik amaçlarla modellere uygulanmaktadır. Bazen modelimizin renk özelliklerini belirlemek amacıyla, bazen yansıma özelliğini belirlemek amacıyla, bazen de kabartı özelliklerini belirlemek amacıyla kullanılırlar. Aşağıda sık rastlanan bazı kaplama tiplerini görebilirsiniz.

Colour mapping: Modelimizin renk özelliklerini belirlemek amacıyla bir resim ya da procedural texture’ın kullanılması bu tip kaplama yöntemine girmektedir. Mesela mermer bir zemin kullanmak istediğiniz zaman mermer dokusu resmi kullanımı ya da hazır procedural map’lerin kullanılması.

Bump Mapping: Modelinizin yüzeyinin kabartılı ya da bazı bölgelerde batık gibi görünmesini istiyorsunuz. Amacınız bu ise Bump mapping amacıyla bir resim ya da procedural map kullanmalısınız.

Reflectivity Mapping: Modelinizin bazı bölgeleri ayna gibi yansımayı sağlasın istiyorsanız hazırlayacağınız resmi kullanarak bu bu işlemi gerçekleştirebilirsiniz.

Transparency Mapping: Modelinizin belli bölgelerinin şeffaf olması amacıyla bir resim kullanmanız durumunda yine bu yöntemi kullanacaksınız demektir.

Reflection Mapping: Reflection Map ile modelinizin çevresinde değişik yüzeyler varmış gibi gerçekçi bir yansıma elde edebilir. Özellikle metalleri canlandırmakta bu yöntem kullanılır.

UV Mapping: UV mapping, daha önceden de belirttiğimiz gibi Patch modellerle ilgili bir koordinat sistemini belirtmektedir. Patch modellerin matematiksel olmaları nedeniyle bu tür modeller üzerindeki u ve v koordinatlarına uygulanacak texture, hiçbir sapma olmaksızın belirlenebilmektedir. Bu işlemi poligonal modellere uygulamak mümkün olmasa da bazı programlar bunu simüle etmektedir.

CelShader: Üç boyutlu animasyonlarımızı iki boyutlu (elle çizilmiş) çizgi film haline getirmeye yarayan Shader’lara Cell Shader adı verilmektedir.

Gökhan Sönmez