KTÜ Bilgisayar Mühendisliği - Karadeniz Teknik Üniversitesi
Transkript
KTÜ Bilgisayar Mühendisliği - Karadeniz Teknik Üniversitesi
Karadeniz Teknik Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Maya’da İnsan Yüzünün Modellenmesi Ve Animasyonu Bitirme Tezi Mehmet Sercan İÇAÇAN Trabzon 2007 Karadeniz Teknik Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Maya’da İnsan Yüzünün Modellenmesi Ve Animasyonu Bitirme Tezi Mehmet Sercan İÇAÇAN Tezin Bölüme Verildiği Tarih : 01.06.2007 Tezin Savunma Tarihi : 25.06.2007 Tez Danışmanı Jüri Üyesi Jüri Üyesi Jüri Üyesi : Öğr.Gör. Ömer ÇAKIR : Prof.Dr. Vasıf V. NABİYEV : Yrd.Doç.Dr. Hüseyin PEHLİVAN : Yrd.Doç.Dr. Tuğrul ÇAVDAR Bölüm Başkanı : Prof.Dr. Rıfat YAZICI Trabzon 2007 ÖNSÖZ “Maya’da İnsan Yüzünün Modellenmesi ve Animasyonu” konulu bu çalışma, Karadeniz Teknik Üniversitesi, Bilgisayar Mühendisliği Bölümü’nde “Bitirme Tezi” olarak hazırlanmıştır. Bitirme tez danışmanlığımı üstlenerek bu zevkli konu üzerinde çalışmamı sağlayan, yardımını ve her türlü desteğini esirgemeyen saygıdeğer hocam Öğr. Gör. Ömer ÇAKIR’a, çalışmalarım esnasında bana yardımcı olan diğer hocalarıma ve arkadaşlarıma teşekkür ederim. Mehmet Sercan İÇAÇAN İÇİNDEKİLER İçindekiler……………………………………………………………………………………………………………………………………………1 Resim Dizini…………………………………………………………………………………………………………………………………………3 Formüller Dizini………………………………………………………………………………………………………………………………4 Özet………………………………………………………………………………………………………………………………………………………………5 1.Genel Bilgiler………………………………………………………………………………………………………………………………6 1.1 Bilgisayar Grafiklerinin Temelleri……………………………………………………………6 1.1.1 Bilgisayar Grafiklerinin Kullanım Alanları…………………………6 1.1.2 Transformasyon Matrisleri………………………………………………………………………7 1.2 Üç Boyutlu Nesne Tanımlama Yöntemleri……………………………………………………7 1.2.1 Poligon Nesneler………………………………………………………………………………………………8 1.2.2 Eğriler ve Yüzeyler………………………………………………………………………………………8 1.2.2.1 Bézier Eğrileri……………………………………………………………………………………9 1.2.2.2 Bézier Yüzeyler…………………………………………………………………………………10 1.2.2.3 B-Spline Eğrileri……………………………………………………………………………10 1.2.2.4 NURBS Eğrileri……………………………………………………………………………………12 1.2.2.4 B-Spline Yüzeyleri…………………………………………………………………………13 2. Maya……………………………………………………………………………………………………………………………………………………15 2.1 Maya Nedir…………………………………………………………………………………………………………………………15 2.2 Maya’nın Temelleri……………………………………………………………………………………………………15 2.2.1 Maya’nın Ara yüzü…………………………………………………………………………………………16 2.2.1.1 Status Line……………………………………………………………………………………………16 2.2.1.2 QWERTY Araçları…………………………………………………………………………………17 2.2.1.2 Layouts………………………………………………………………………………………………………17 2.2.1.3 Hotbox…………………………………………………………………………………………………………17 2.2.1.4 Kanal Kutusu (The Channel Box)…………………………………………18 2.2.1.5 Özellik Editörü (The Attribute Editor)……………………18 2.2.2 Koordinat Düzlemleri…………………………………………………………………………………19 2.2.2.1 XYZ Koordinat Düzlemi…………………………………………………………………19 2.2.2.2 UV Koordinat Düzlemi……………………………………………………………………19 2.2.3 Görünümler……………………………………………………………………………………………………………19 2.2.3.1 Perspektif Görünüm.………………………………………………………………………19 2.2.3.2 Orthographic Görünüm……………………………………………………………………19 2.2.4 Kameralar………………………………………………………………………………………………………………19 2.2.4.1 Görüntü Düzlemi…………………………………………………………………………………20 2.2.5 Bağımlılık Grafiği………………………………………………………………………………………20 2.2.5.1 Düğümler……………………………………………………………………………………………………20 2.2.5.2 Eksenler.…………………………………………………………………………………………………20 2.2.5.3 Hiyerarşi…………………………………………………………………………………………………21 2.2.6 MEL………………………………………………………………………………………………………………………………21 2.3 Maya’da Modelleme………………………………………………………………………………………………………22 2.3.1 Maya’da NURBS Eğriler………………………………………………………………………………22 2.3.2 Maya’da NURBS yüzeyler……………………………………………………………………………22 2.3.3 Maya’da Poligonlar………………………………………………………………………………………23 2.4 Maya’da Deformasyonlar…………………………………………………………………………………………23 2.4.1 Lattice……………………………………………………………………………………………………………………23 2.4.2 Sculpt Nesneleri……………………………………………………………………………………………24 2.4.3 Cluster Nesneleri…………………………………………………………………………………………24 2.5 Maya’da Animasyon………………………………………………………………………………………………………24 2.5.1 Keyframe Animasyon………………………………………………………………………………………24 2.5.2 Path Animasyon…………………………………………………………………………………………………25 2.5.3 Reactive Animasyon………………………………………………………………………………………25 2.5.4 Dinamik Animasyon…………………………………………………………………………………………26 2.5.5 Motion Capture…………………………………………………………………………………………………28 2.6 Maya’da Organik Modelleme Teknikleri……………………………………………………28 2.6.1 Kılavuz Resimler Yardımıyla Modelleme……………………………………28 2.6.2 Yontma Tekniği…………………………………………………………………………………………………28 2.6.3 NURBS Modelleme………………………………………………………………………………………………28 2.6.4 3D Tarayıcı ile Modelleme……………………………………………………………………29 3. Yapılan Çalışma - Maya’da İnsan Yüzü Modellemesi………………………………30 3.1 Model Fotoğraflarının Çekilmesi ve Düzenlenmesi………………………31 3.2 İnsan Kafası Anatomisi…………………………………………………………………………………………32 3.3 Kas Gruplarının Boyanması…………………………………………………………………………………33 3.4 Resimlerin Maya’ya Aktarılması……………………………………………………………………33 3.5 Kas Gruplarının Eğrilerle Belirtilmesi………………………………………………35 3.6 NURBS Yüzeylerin Oluşturulması……………………………………………………………………37 3.7 NURBS Yüzeylerin Düzeltilmesi………………………………………………………………………38 3.8 Kulak Modellemesi………………………………………………………………………………………………………39 3.9 Göz Modellemesi……………………………………………………………………………………………………………39 3.10 Texture Yapımı……………………………………………………………………………………………………………39 3.10.1 Projection Kamera………………………………………………………………………………………40 3.10.2 Photoshop’ta Texture Map Yapımı…………………………………………………40 3.10.3 Texture’ın Modele Kaplanması…………………………………………………………41 4. Sonuçlar ve Öneriler…………………………………………………………………………………………………………42 5. Kaynaklar………………………………………………………………………………………………………………………………………43 RESİMLER DİZİNİ Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim Resim 1 2 3 4 5 6 7 8 9 10 – 11 – 12 – 13 14 – 15 – 16 – 17 – 18 – 19 – 20 – 21 – 22 – 23 – 24 – 25 – 26 – 27 – 28 – 29 – 30 – 31 – 32 – 33 – 34 – 35 – 36 – 37 – 38 – 39 – 40 – 41 – 42 – 43 – 44 – 45 – 46 – 47 – 48 – 49 – 50 – 51 – 52 – 53 – Poligonsal Nesneler…………………………………………………………………………………………8 Kübik Bezier Eğrisi………………………………………………………………………………………10 Bezier Yüzeyi………………………………………………………………………………………………………10 B-Spline Eğrisi ve Kontrol Poligonu……………………………………………11 Bezier Eğrisine Eşdeğer Bir B-Spline Eğrisi………………………11 B-Spline Yüzeyi ve Kontrol Neti………………………………………………………14 Maya Amblemi…………………………………………………………………………………………………………15 Günümüz Sinemasından Örnek Maya Kullanımları……………………15 Maya Ara Yüzü………………………………………………………………………………………………………16 Status Line……………………………………………………………………………………………………………16 QWERTY Tools…………………………………………………………………………………………………………17 Layouts………………………………………………………………………………………………………………………17 Hotbox…………………………………………………………………………………………………………………………17 Channel Box……………………………………………………………………………………………………………18 Attribute Editor………………………………………………………………………………………………18 XYZ Koordinat Düzlemi…………………………………………………………………………………19 UV Koordinat Düzlemi……………………………………………………………………………………19 Görüntü Düzlemi…………………………………………………………………………………………………20 Bağımlılık Grafiği…………………………………………………………………………………………20 Eksenlerin Kullanımına Örnek………………………………………………………………20 Hiyerarşi Grafiği……………………………………………………………………………………………21 NURBS Eğrisi Bileşenleri…………………………………………………………………………22 NURBS Yüzey……………………………………………………………………………………………………………22 NURBS Yüzey Bileşenleri……………………………………………………………………………22 Poligonal Yüzey…………………………………………………………………………………………………23 Lattice Deformasyon Aracı………………………………………………………………………23 Sculpt Deformasyon Aracı…………………………………………………………………………24 Cluster Deformasyon Aracı………………………………………………………………………24 Keyframe Animasyon…………………………………………………………………………………………25 Path Animasyon……………………………………………………………………………………………………25 Tepkisel Animasyon…………………………………………………………………………………………26 Katı Cisim Simülasyonu………………………………………………………………………………27 Parçacık Bileşenleri……………………………………………………………………………………27 Yumuşak Cisim………………………………………………………………………………………………………27 Kılavuz Resimli Modelleme………………………………………………………………………28 Yontma Tekniği……………………………………………………………………………………………………28 NURBS Tekniği………………………………………………………………………………………………………28 3D Scanner Tekniği…………………………………………………………………………………………29 Yandan ve Önden Fotoğraflar…………………………………………………………………31 Distort Aracı………………………………………………………………………………………………………31 Straighten Aracı………………………………………………………………………………………………31 İnsan Kafası Kasları……………………………………………………………………………………32 Önden ve Yandan Boyanmış Kas Grupları………………………………………33 Maya’ya Aktarılmış Image Planeler…………………………………………………34 Yanlış Birleştirilmiş Eğriler……………………………………………………………35 Shelf……………………………………………………………………………………………………………………………35 Eğrilerin Oluşturulması……………………………………………………………………………36 Oluşturulan Eğriler………………………………………………………………………………………37 Birail 2 Tool ile Yüzey Oluşturma…………………………………………………37 Oluşturulan Yüzeyler……………………………………………………………………………………38 Smooth İşlemi………………………………………………………………………………………………………38 Oluşturulan Kafa………………………………………………………………………………………………38 Kulağın Tamamlanmış Hali…………………………………………………………………………39 Resim Resim Resim Resim Resim Resim 54 55 56 57 58 59 – – – – – – Göz Küresi………………………………………………………………………………………………………………39 Tamamlanmış Göz…………………………………………………………………………………………………39 Projection Kamera Ayarları……………………………………………………………………40 Projection Render’ı………………………………………………………………………………………40 Ön Texture Map……………………………………………………………………………………………………40 Sonuç Renderları………………………………………………………………………………………………41 FORMÜLLER DİZİNİ Formül Formül Formül Formül Formül Formül Formül 1 2 3 4 5 6 7 - Bezier Eğrisi………………………………………………………………………………………………………9 Bernstein Polinoları……………………………………………………………………………………9 Bezier Yüzeyi……………………………………………………………………………………………………10 B-Spline Eğrisi………………………………………………………………………………………………11 B-Spline Eğrisi Ağırlık Fonksiyonu……………………………………………12 NURBS Eğrileri…………………………………………………………………………………………………12 B-Spline Yüzeyler…………………………………………………………………………………………13 ÖZET Bu bitirme tezinde ilk olarak Maya ve diğer üç boyutlu tasarım ve animasyon programlarının temelini oluşturan bilgisayar grafikleri konuları ana hatlarıyla verilmiştir. Daha sonra Maya programının özellikleri ve Maya’ya yeni başlayacak kişilerin ara yüze aşina olması için ara yüz bileşenleri de verilmiştir. Maya’nın nesnelere yaklaşımı ve içindeki bileşenler ayrıntılı olarak işlenmiş ve Maya ile yapılabilecekler sıralanmıştır. İnsan anatomisi ve kasları ile ilgili bilgiler gerçekçi organik modelleme yapabilmek için gerekli olduğundan onlara da değinilmiştir. Tezin önemli bir kısmını insan kafası modellemesinin B-spline eğrileriyle nasıl yapıldığı, NURBS yüzeylerle bu eğrilerin arasını yüzeylerle doldurma aşamaları oluşturmaktadır. Bu aşamalar ekran görüntüleriyle desteklenmektedir, ayrıca Maya’nın örnek kullanım alanlarının resimleri de bulunmaktadır. Anahtar Kelimeler: Maya, Modelleme, Organik Modelleme, AutoDesk, Alias, Animasyon, NURBS Yüzeyler, Bilgisayar Grafikleri, 3D, Anatomi. 1. GENEL BİLGİLER 1.1 Bilgisayar Grafiklerinin Temelleri Bilgisayar grafiklerinin genel olarak tanımı; bilgisayar tarafından üretilen resimlerdir. Ancak olaya 3 boyutlu grafikler açısından bakacak olursak; görsel bir objenin matematiksel veya geometrik tanımlama yardımıyla, 3 boyutlu düzlemden 2 boyutlu düzleme aktarılmasıdır. 1.1.1 Bilgisayar Grafiklerinin Kullanım Alanları: • En çok sanat ve eğlence dünyasında kullanılır. Reklam, film, animasyon sektöründe bilgisayar grafikleri günümüzün vazgeçilmezleri arasındadır. Ayrıca web sitelerinde de bu grafiklerden yararlanılmaktadır. • Günümüz yayıncılığında bilgisayar grafiklerinden etkin bir şekilde faydalanılmaktadır. Artık kitaplar ve dergiler bilgisayar grafikleri ile donatılmaktadır. • Günümüzde bilgisayar grafikleri ve resim işleme (Image Processing) konuları birbiriyle ilişkili konular olarak öne çıkıyor. Bilgisayar grafikleri alanı bilgisayar tabanlı resimleri yaratırken, resim işleme ise mevcut bir resim üzerinde değişiklikler yapıyor. Analog yollarla elde edilen resimler bilgisayara aktarılarak üzerinde istenilen her türlü değişiklik yapılabiliyor. • Artık çoğu fabrikada, enerji üretim santrallerinde ve hava alanlarında devam eden işleri gözlemek için bilgisayar ve grafiklerden yararlanılıyor. Fabrikalardaki otomasyon sistemleri sıcaklık veya basınç gibi bazı değerleri ölçen sensörlerden gelen değerleri grafiksel bilgiye dönüştürüyor. Hava alanlarında da bilgisayar ve grafikler kullanılıyor. NASA’nın yürüttüğü bir projede hava alanı kulesi tamamen kapalı ve hava alanından izole bir yere kuruluyor. Gerçekte olması gereken hava alanı görüntüsü (uçaklar, araçlar vs.) ise bu odanın çevresine yerleştirilmiş perdelere panoramik olarak yansıtılıyor. Yansıtılan görüntü kaydedilen gerçek görüntünün bilgisayar tarafından yeniden üretilmiş şekli. Bu sistem sadece hava alanları için değil roket fırlatılması, Marsın yüzeyinin araştırılması gibi projelerde de kullanılabiliyor. • Gerçek dünyanın simüle edilerek, gerçek hayatta tehlikeli olabilecek birtakım eğitimler (uçak pilotu ve gemi kaptanı eğitimleri gibi) bu simülasyonlar yardımıyla tehlikesiz ve daha etkin bir biçimde yapılabiliyor. • Bilgisayar grafiklerinin en çok kullanıldığı bir diğer alan ise bilgisayar destekli dizayn (CAD). Mimarlar artık binaları bilgisayar programlarıyla tasarlayıp müşterilerinin beğenisine sunabiliyorlar. Müşterilerin bu yapay binalar içinde gezmeleri bile sağlanabiliyor. Bilgisayar destekli tasarım sadece mimaride kullanılmıyor, günümüzde elektronik devreler de grafiksel olarak tasarlanıp üretiliyorlar. • Bilgisayar grafikleri bilimsel araştırmalarda ve bu araştırmaların sonuçlarının görselleştirilmesinde de kullanılıyor. Matematikte değişkenlerin değerlerinin 3 boyutlu bir ortamda gösterilmesinde, kimyada karmaşık moleküllerin gösteriminde, sağlık alanında insan vücudunun değişik cihazlarla görüntülenmesinde kullanılıyor. 1.1.2 Transformasyon Matrisleri Bilgisayar grafiklerinde, değiştirilmesinde, şeklinin oluşturulan deforme objenin edilerek büyütülüp başka bir küçültülmesinde, şekle yer döndürülmesinde transformasyon matrisleri kullanılır. Bu matrislerin kullanılma mantığı, objeyi oluşturan her bir noktanın istenilen şekilde yerinin değiştirilmesidir. Mayada tasarım yaparken de bu matrislerden etkin bir şekilde yararlanılır. Translation Matrisi Scaling Matrisi Rotation Matrisi Translation Matrisi: Bir objeyi oluşturan noktaları, objenin ilk yerinden dx, dy, dz kadar uzağa taşımak için kullanılır. Scaling Matrisi: Bir objeyi oluşturan köşe noktalarının Sx, Sy, Sz kadar uzaklığa taşınarak objenin ölçeklenmesini sağlar. Rotation Matrisi: Objenin bir eksen etrafında kaç derecelik bir açıyla döneceğini belirler. Şekilde verilen matriste objenin x ekseni etrafında θ kadar bir açıyla dönmesi sağlanmaktadır. 1.2 Üç Boyutlu Nesne Tanımlama Yöntemleri Bilgisayar grafiklerinde üç boyutlu nesneleri tanımlamak için birçok yöntem geliştirilmiştir. Hangi tanımlama yöntemin avantajlı olduğu üç boyutlu uygulamanın amaç ve gereksinimleri, modellenme yöntemleri ve kullanılan modelleme programına göre farklılık gösterir. Nesne tanımlama yöntemlerini iki sınıfta incelemek mümkündür: Bu yöntemlerin ilkinde nesnenin iç kısmını dış ortamdan ayıran sınır (nesnenin yüzeyi) tanımlanır. Bu yöntemin belirgin örnekleri arasında poligonsal nesneler ve parametrik yüzeyler bulunur. İkinci yöntemde ise nesnenin uzayda kapladığı hacim göz önünde bulundurulur ve genellikle bu yöntem nesnenin sınır bilgisinin uygulama için yetersiz kaldığı durumlarda kullanılır. 1.2.1 Poligon Nesneler Poligonsal nesneler en yaygın kullanılan nesne tanımlama yöntemidir. Poligonsal tanımlama yöntemlerinde, birbirlerine komşu birçok üç boyutlu poligon nesnenin yüzeyini oluşturur. Poligonsal nesnelerin diğer nesne tanımlama yöntemlerine göre çok daha yaygın olarak kullanılmasının başlıca nedenleri, poligonsal tanımlama yöntemlerinin hızlı, kolay ve esnek olmasıdır. Ancak ayrıntılı bir nesneyi tanımlamak için yüksek sayıda poligon kullanılması gerekliliği, poligonsal nesnelerin önemli bir dezavantajdır. Örneğin, bir Boeing– 777 uçağının üç boyutlu modeli yaklaşık olarak 500.000.000 adet poligon içerebilir. Bu kadar fazla sayıda poligon ile çalışmak fazla bellek, yüksek işlemci gücü ve hızlı veri yolları gerektirecektir. Resim 1 – Poligonsal Nesneler Şekil 1'de bazı nesneler ve poligonlarla tanımlanmış halleri gösterilmektedir. Kullanılan poligon sayısı arttırıldıkça, tanımlamadaki hatalar (gerçek nesne ile poligonlarla tanımlanmış hali arasındaki fark) o kadar azalacaktır. 1.2.2 Eğriler ve Yüzeyler Ayrıntılı bir nesneyi tanımlamak için yüksek sayıda poligon kullanılması gerekliliği, poligonsal nesnelerin en önemli dezavantajıdır. Örneğin, basit kahve kupasının poligonsal gösterimi binlerce poligon içerebilir ve kupa üzerinde ufak bir değişiklik yapmak için bile birçok koordinatın değiştirilmesi gereklidir. Dolayısıyla, ayrıntılı nesnelerin gösterimi için hem daha az bellek ihtiyacı olan hem de modelleme yapan kişiye kolaylıklar sağlayacak daha esnek yapılara ihtiyaç duyulur. 1.2.2.1 Bézier Eğrileri Bu yöntem, bir Fransız mühendis olan Pierre Bézier tarafından otomobil tasarımında kullanmak amacıyla geliştirilmiştir. Bézier eğrilerinin sahip olduğu özellikler, onları eğri ve yüzey tasarımında bir hayli kullanışlı ve uygun hale getirmektedir. Ayrıca, Bézier eğrilerinin programlanması da oldukça kolaydır. Bu tür özelliklerinden dolayı, Bézier eğrileri bilgisayar grafiklerinde yaygın olarak kullanılır. Pierre Bézier, n+1 adet pi kontrol noktası tarafından kontrol edilen p(u) eğrisini aşağıdaki gibi tanımlamıştır: n ∑ pB i i, n (u ) i =0 Formül 1 – Bezier Eğrisi Denklemde bulunan Bi,n (u) fonksiyonu Bernstein polinomları olarak adlandırılır. Bi , n(u ) = n! u i (1 − u ) n−i i!(n − i )! Formül 2 – Bernstein polinomları Tüm kontrol noktalarının az veya çok eğri üzerinde bir etkisi vardır. Çünkü Bernstein polinomlarının değeri sadece u=0 ve u=1 dışında sıfırdan farklıdır. Kontrol noktalarının sayısı ne olursa olsun bu durum değişmez. Kontrolün geniş çaplı olup, kontrol noktalarının tüm eğri üzerinde etkili olması Bézier eğrilerinin dezavantajlarından birisi olarak kabul edilebilir. Ayrıntılı Bézier eğrilerini tanımlamak için birçok kontrol noktası kullanmak mümkündür. Fakat Bézier eğrilerinde kontrolün geniş çaplı olması ve polinomun derecesi arttıkça matematiksel hesaplamalarının karmaşıklaşması yüzünden kontrol noktalarının sayısının fazla olması tercih edilmez. Bunun yerine dört kontrol noktasına sahip Bézier eğrilerinin arka arkaya birleştirilmesiyle daha ayrıntılı eğriler oluşturulur. Bu nedenden dolayı, kübik Bézier eğrileri (4 kontrol noktasına sahip Bézier eğrileri) diğer dereceden Bézier eğrilerine göre daha yaygın olarak kullanılır. Resim 2 - Bir kübik Bézier eğrisi ve onu tanımlamak için kullanılan dört kontrol noktası. 1.2.2.2 Bézier Yüzeyler Üç boyutlu Bézier yüzeylerinin (diğer adıyla Bézier yamalarının) tanımlanması için Bézier eğrilerinin gösteriminin genelleştirilmesi mümkündür. Matematiksel olarak, üç boyutlu yüzeyler iki eğrinin kartezyen çarpımından elde edilebilir. Dolayısıyla, (m+1)(n+1) kontrol noktası tarafından belirtilen Bézier yüzeyinin gösterimi şöyle olacaktır: n m p(u, v) = ∑∑ pi , jBi , n(u ) Bj , m(v) i =0 j =0 Formül 3 – Bézier yüzeyi Resim 3 – 16 kontrol noktası ile tanımlanmış 3 boyutlu Bézier yüzeyi 1.2.2.3 B-Spline Eğrileri B-spline eğrilerinin teorisi ilk olarak Schoenberg (1946) tarafından önerilmiş olmasına rağmen, Bilgisayar Destekli Geometrik Dizayn alanında ilk uygulamalar Gordon ve Riesenfeld (1974) tarafından yapılmıştır. B-spline eğri ve yüzeyleri kontrol noktaları adı verilen köşe noktaları ile tanımlanırlar. Bu noktalar kullanılarak elde edilen eğri ve yüzeyler, kontrol noktalarından geçmemekle birlikte, eğri veya yüzeyin formu tamamen bu noktaların konumlarına göre şekillenmektedir. Bu kontrol noktalarının oluşturduğu poligona kontrol poligonu denilmektedir. Bu noktalar bir mıknatıs gibi davranarak eğrinin kontrol poligonunun şeklini takip etmesini sağlar ve sonuçta kontrol poligonunun sınırları içerisinde kalan karakteristik ve düzgün bir eğri elde edilir. Resim 4 – Bir B-Spline eğrisi ve kontrol poligonu B-spline eğrilerinin genel olarak Bézier eğrilerinin geliştirilmesi sonucu ortaya çıkmış eğriler olduğunu söyleyebiliriz. Yalnız B-spline eğrileri genelde Bézier eğrisi gibi tek parça bir eğri değildir. B-spline eğrisi en az bir ya da daha çok polinom segmentinin birleşmesinden oluşmaktadır. B-spline eğrisinin tek bir segmentten oluşması durumunda bu eğri aynı zamanda Bézier eğrisidir. Bu durumun gerçekleşebilmesi için, eğrinin kontrol noktası sayısı ile mertebesinin birbirine eşit olması gerekmektedir. Şekil 5’te görülen eğrinin dört kontrol noktası vardır ve eğrinin mertebesi de dört olarak belirlenmiştir. Dolayısıyla bu eğri, hem Bspline eğrisi hem de Bézier eğrisidir ve tek parça bir eğridir. Resim 5 – Bézier eğrisine eşdeğer bir B-Spline eğrisi B-Spline eğrilerinin tanımlanması aşağıdaki şekilde olmaktadır: n p (t ) = ∑ PiNi , k (t ) i =0 Formül 4 – B-spline eğrisi pi n+1 adet poligon köşelerinden biridir. k. dereceden i. normalize edilmiş B-spline eğrisi için Ni,k(t) ağırlık fonksiyonu recursive formüllerle tanımlanır. Ni , k (t ) = (t − xi ) Ni , k − 1(t ) ( Xi + k − t ) Ni + 1, k − 1(t ) + Xi + k − 1 − X i X i + k − Xi + 1 Formül 5 – B-spline eğrisi ağırlık fonksiyonu B-spline eğrileri yerel kontrollerde Bézier eğrilerine göre daha üstündür, eğriyi oluşturan bir noktanın yeri değiştirildiğinde eğrinin hepsi değişmez. 1.2.2.4 NURBS (Non-Uniform Rational B-Splines) Eğrileri Temsil kabiliyeti açısından en başarılı yöntemlerden biri olan B-spline eğrilerinin tek dezavantajı daire, çember gibi konik şekillerin temsilindeki yetersizlikleridir. Versprille (1975) bu yetersizlikleri gidermek üzere non-üniform rasyonel B-spline eğrilerini (NURBS) önermiştir ve Bilgisayar Destekli Geometrik Dizayn uygulamalarında kullanmaya başlamıştır. NURBS eğrilerinin diğer B-spline eğrilerine göre avantajı, bilgisayar destekli tasarım ortamında karşılaşılabilecek tüm analitik şekilleri (çember, elips, yay) temsil edebilme kabiliyetidir. NURBS eğrileri, standart B-spline eğrileri gibi kontrol noktaları (Bi) ve kontrol poligonu ile tanımlanır. NURBS eğrilerinde farklı olarak her kontrol noktasında bir ağırlık fonksiyonu tanımlanmıştır. Bu ağırlık fonksiyonu eğrinin formunu etkileyen yeni bir faktör olarak karşımıza çıkmaktadır. Ağırlık fonksiyonu ait olduğu kontrol noktasının B-spline eğrisini ne kadar etkileyeceğini belirlemektedir. Ağırlık fonksiyonunun değerinin artması Bspline eğrisini o kontrol noktasına yaklaştırmakta, düşmesi ise uzaklaştırmaktadır. Rasyonel B-spline eğrileri standart B-spline eğrilerinin genelleştirilmiş halidir ve ifadesi aşağıdaki gibi verilmektedir: n +1 n +1 i =1 i =1 P (t ) = ∑ B i Ri ,k (t ) = ∑ Bi hi N i ,k (t ) n +1 ∑h N i =1 i i ,k (t ) Formül 6 – NURBS eğrileri Bu ifadede, hi her kontrol noktası için tanımlanmış ağırlık fonksiyonunu, R i,k(t) rasyonel temel fonksiyonu göstermektedir. Eğer tüm ağırlık fonksiyonlarının bire eşit olduğu kabul edilirse (hi=1), rasyonel B-spline eğrileri standart B-spline eğrilerine dönüşecektir. NURBS eğrileri B-spline eğrilerinin genelleştirilmiş hali olduğundan, B-spline eğrileri için geçerli olan tüm özellikler NURBS eğrileri için de geçerlidir. NURBS eğrileri farklı olarak aşağıdaki özelliklere sahiptir: • Araba, gemi vs. gibi endüstriyel ürünlerde rastlanabilecek her türlü şekil ve formda (Doğru parçalarından, çember, yay gibi analitik şekillere kadar) eğri ve yüzeylerin temsil imkanı. • Herhangi bir kompleks şekli, az sayıda nokta ile tanımlayarak temsil edebilme imkanı. • NURBS eğrilerinin ağırlık fonksiyonları, eğrinin yerel kontrol kabiliyetini arttırmaktadır. Ağırlık fonksiyonu değerleri kullanıcı tarafından değiştirilerek, eğri istenildiği kadar kontrol noktalarına yaklaştırılıp uzaklaştırılabilmektedir. (ör. ağırlık fonksiyonu değerinin sıfır olması, o kontrol noktasının eğri üzerinde herhangi bir etkisinin olmadığını göstermektedir) • Bir NURBS eğrisi tek parça bir eğri ise o eğri aynı zamanda rasyonel bir Bézier eğrisidir. Dolayısıyla NURBS eğrileri hem Bézier eğrilerini hem de B-spline eğrilerini bünyesinde barındıran eğrilerdir. • NURBS eğrilerinin temel kontrol araçları olarak kontrol noktaları, eğrinin derecesi, düğüm vektörü ve ağırlık fonksiyonları sayılabilir. 1.2.2.4 B-Spline Yüzeyleri B-spline eğrileri yüzeyler için genelleştirilerek B-spline yüzeyleri elde edilmektedir. B-spline yüzeyleri, B-spline eğrilerinin sahip olduğu tüm özelliklere sahiptir. Matematiksel denklemi de B-spline eğrilerine benzer olarak aşağıdaki gibidir: n +1 m +1 umin ≤ u ≤ umax , 2 ≤ k ≤ n + 1, i =1 j =1 wmin ≤ w ≤ wmax , 2 ≤ l ≤ m + 1 Q(u, w) = ∑∑ Bi , j N i ,k (u ) M j ,l ( w) Formül 7- B-Spline yüzeyler Kontrol noktaları, artık kontrol neti olarak adlandırılmakta ve yüzey tanımlamada kullanılacak olan köşe noktalarını göstermektedir. Resim 6 – B-Spline yüzeyi ve kontrol neti B-spline yüzeyleri ile ilgili temel özellikler aşağıdaki gibi sıralanabilir: • Bir B-spline yüzeyinin herhangi bir parametrik yönündeki maksimum mertebe değeri, o yönde tanımlanan nokta sayısı kadardır. • B-spline yüzeyinin her iki yöndeki sürekliliği, eğer düğüm vektörlerinde tekrarlanan değerler yoksa, mertebesinden iki eksiktir (Ck-2), (Cl-2) .Yani B-spline yüzeyi ve tüm (k-2) ve (l-2)’ye kadar olan türevleri süreklidir. • B-spline yüzeyinin herhangi bir transformasyonu (döndürme, ölçeklendirme, vs) için kontrol netinin transformasyonu yeterlidir. • Tek bir kontrol noktasının yüzeye etkisi her iki parametrik yönde de ± k/2, ± l/2 ile sınırlıdır. • Her iki yönde de kontrol noktası sayısı mertebe sayısına eşitse B-spline yüzeyi Bézier yüzeyine dönüşür. • B-spline yüzeyi, tıpkı B-spline eğrilerinde olduğu gibi kontrol noktalarının oluşturduğu konveks alanlar içinde kalacak şekilde oluşur. 2. MAYA Maya Nedir? Maya, uzun yıllar Alias firması tarafından hazırlandıktan sonra 7,0 sürümü ile birlikte Autocad ve 3DMax gibi tanınmış yazılımların sahibi Autodesk firması tarafından, diğer tüm Alias yazılımları ile birlikte satın alınmış bir 3D tasarım ve animasyon yazılımıdır. Günümüzde birçok büyük film, animasyon, oyun ve tasarım stüdyosu çalışmalarını Maya ile yapmaktadır. Resim 7- Maya Amblemi Bu stüdyolara ve Maya ile yaptıkları çalışmalara örnek olarak: Industrial Light&Magic (Karayip Korsanları 1, 2, 3, Harry Potter serisi, Terminator 3, Hulk Yeşil Dev… ), New Line Cinema (Yüzüklerin Efendisi serisi…), Pixar (tüm animasyonları), Vetor Zero, Kleiser-Walcwak (X-Men Serisi…), CapCom, Turner Studios, Meteor Studios, vb… gösterilebilir. Maya modülerliği ve içerdiği MEL (Maya Embedded Language) script dilinin esnekliği sayesinde CG (Computer Graphics) sanatçıları tarafından kısa zamanda benimsenmiş ve kullanılmaya başlanmıştır. Maya için birçok plug-in tasarlanmış ve bunlar sayesinde kullanımını daha profesyonel ve rahat hale getirmek amaçlanmıştır. Resim 8 - Maya’nın günümüz sinema ve animasyon filmlerinde örnek kullanımları: Sol: Gollum (Yüzüklerin Efendisi), Orta: Davy Jones (Karayip Korsanları) Sağ: Mr. Incredible (İnanılmaz Aile) Maya’nın Temelleri Maya programında 10.000’den fazla komut bulunmaktadır ve bu komutların bulunduğu ara yüze aşina olmak için Maya ile oldukça uzun süre uğraşmak gerekmektedir. Bu bölümde Maya ara yüzünü ve alt yapısını göreceğiz. 2.2.1 Maya’nın Ara yüzü QWERTY araçları Menüler Durum Çubuğu (Status Line) Menü takımı Shelf Kanal Kutusu (Channel Box) Yerleşimler (Layouts) Oynatma Zaman sürgüsü (Time Slider) Alan Sürgüsü (Range Slider) Komut Satırı (Command Line) Yardım Satırı (Help Line) Resim 9 – Maya arayüzü 2.2.1.1 Durum Çubuğu (Status Line) Menü takımları (Menu Sets) Render Kontrolleri Bu menü takımları yardımıyla var olan menülere(polygon, animation.,vs) ulaşılabilir, ayrıca kişisel menüler oluşturulabilir. Sahnenin neresinin render edileceğini belirler. Odaklama Fonksiyonları Seçme Modları Hiyerarşiye, nesneye ve komponente göre seçme sağlar İşaretçiyi sahnenin belli yerlerine getirmek için kullanılır Sahne Dosyası (scene file) Seçme maskeleri Bu 3 simge sayesinde sahneler kaydedilebilir, açılabilir, yaratılabilir. Hangi komponentlerin seçileceğini belirler. Giriş/Çıkış Bağlantıları Objelerin birbirlerine olan bağlantısının nasıl olacağını belirlerler Resim 10 – Status Line Ad seçme Objeleri isimlerine göre seçmede kullanılır Kanal Kutusu Özellik editörünü,araç özelliklerini ve kanal kutusunu gösterip gizlemede kullanılır. 2.2.1.2 QWERTY Araçları 2.2.1.2 Yerleşimler (Layouts) Select(Q):Objeleri seçmede kullanılır Bir eğri çizerek obje seçmede kullanılır. Seçili objeleri boyamak için kullanılır. Tekli perspektif Dörtlü Perspektif Move(W):Objeleri hareket ettirmek için kullanılır. Rotate(E):Objeleri döndürmek için kullanılır Perspektif ve Taslak görünümü Perspektif ve Grafik editörü Scale(R):Objeleri ölçeklendirmek için kullanılır. Genel Manipule aracıdır, tüm W,E,R işlemlerini birden yapar. Perspektif ve Hypershade editörü Perspektif, Grafik ve Hypershade Nesneleri bozmadan yumuşak düzeltmeler yapmakta kullanılır. Show Manipulator(T):Manipule aracını gösterir. Resim 12 - Layouts (Y):En son kullanılan aracı seçer. Resim 11 – QWERTY Tools 2.2.1.3 Hotbox (Space tuşuna basıldığında açılan menü kutusu) Ana Menüler Panel Menüleri Önceki Emirler Görünüm Hotbox Menü Takımları: Kontrolleri Seçilen menü takımına göre gelecek menüleri gösterir Resim 13 – Hotbox 2.2.1.4 Kanal Kutusu (The Channel Box): Mode Seçimi: Kanal Kutusunu, Layer editörünü veya ikisini birden gösterir. Kanallar: Üzerine tıklandığında açılan menüden kanal özellikleri değiştirilebilir. Objeler: Birden fazla obje seçilmişse bunların arasında geçişi sağlar. Özellikler: Seçili olan nesnenin ilk oluşturulduğu yere göre yer, şekil ve açı değişimleri ayrıca nesnenin görülebilirliği buradan ayarlanabilir ve bu özellikler istenilirse kilitlenebilir. Girişler: Seçili nesneyi değiştiren giriş değiştiricilerini gösterir. Giriş Özellikleri: Seçili nesnenin değiştirilebilir giriş özelliklerini gösterir. Layer Editörü: Katmanlar halinde çalışırken katmanları yönetmek için kullanılır. Resim 14- Kanal Kutusu 2.2.1.5 Özellik Editörü (The Attribute Editor): Ana menü: List: Bir nesne seçildiğinde otomatik olarak özellikleri yüklemek için kullanılır. Selected: Birden fazla nesne seçilirse istenilen nesnenin özelliklerini görmek için kullanılır. Focus: Sahnedeki tüm seçili düğümleri gösterir. Attributes: Bir nesne düğümü için ekstra özellik eklemek veya çıkarmak için kullanılır. Düğümler: Seçili nesnenin düğümlerini gösterir. Transform Attributes: Ana düğüm için yer değiştirme, döndürme, ölçeklendirme gibi özellikleri gösterir. Pivots: Ölçeklendirme ve döndürme eksenlerinin ayrı ayrı gözükmesini sağlar. Limit Information: Nesnenin yer değiştirme, döndürme, ölçeklendirme özelliklerinin sınırlandırılmasını sağlar. Display: Bir nesnenin nasıl gözükeceğini belirleyen özellikler. Notes: Dökümantasyonda yardımı olması için her düğüm not almaya uygun yapılmıştır. Buraya düğümle ilgili şeyler yazılabilir Resim 15 – Özellik editörü 2.2.2 Koordinat Düzlemleri 2.2.2.1 XYZ Koordinat Düzlemi: Maya’da ve diğer birçok 3D programda kullanılan homojen koordinat düzlemidir. X uzunluğu, Y yüksekliği, Z derinliği belirtir. Mayada X kırmızı, Y yeşil, Z mavi olarak gösterilir. Bu koordinat düzleminde merkez origin adını almaktadır ve 0,0,0 noktası ile temsil edilir. Resim 16 – XYZ Koordinat Düzlemi 2.2.2.2 UV Koordinat Düzlemi: Maya’da yüzeyler kendi koordinat sistemlerinde yaratılır. Bir doğrultuda U adını alırken, diğer doğrultuda V adını alır. U kırmızı ile ,V yeşil ile gösterilir. Yüzey nesneleri ile çalışırken veya bu nesnelere kaplama (texture) eklerken bu koordinat sisteminden yararlanılır. Yüzeyin bir köşesi origin olarak olarak kullanılır ve tüm Resim 17 – UV Koordinat Düzlemi koordinatlar direk olarak yüzeyde uzanır. 2.2.3 Görünümler 2.2.3.1 Perspektif Görünüm: Sahneye sanki bir kameradan veya bir fotoğraf makinesinin lensinden bakıyormuş gibi bakmak için kullanılır. 2.2.3.2 Orthographic Görünüm: Bu görünümler sahneye paraleldir ve daha nesnel bir görünüm sağlarlar. Bu görünümlerde sadece iki koordinata odaklanılır. Yukarıdan, yandan ve önden bakış açıları sağlanabilir. 2.2.4 Kameralar Kameralar da aynı görünüm açıları gibi perspektif ve orthographic olarak ayrılırlar. Orthographic kameralar sahneye paralel olarak yerleştirilerek yine 2 koordinat açısından sahneye bakmayı sağlarlar. Perspektif kameralar daha karmaşıktır; göz noktası, gözün baktığı açı ve odak derinliği gibi özelliklere sahiptirler. 2.2.4.1 Görüntü Düzlemi: Kameralarla çalışırken, kameralara görüntü düzlemi (image plane) adı verilen nesneler eklenebilir. Bu nesnelerin özellikleri sayesinde kamera hareket ettikçe bu nesneler de hareket eder ve kamera açısından bakıldığında nesnenin bir arka planı Resim 18 – Görüntü düzlemi olduğu hissi doğar. 2.2.5 Bağımlılık Grafiği Mayanın sistem mimarisi, sahnedeki tüm nesnelerin birbirlerine olan bağımlılıklarını ve özelliklerini düğümlerle ifade ederek büyük bir esneklik sağlar. Yan taraftaki grafikte basit bir kürenin bağımlık grafiği ve bağlantılar gösterilmiştir. Resim 19 – Bağımlılık grafiği 2.2.5.1 Düğümler: Mayada eğriler, yüzeyler, ışıklar, kameralar, kaplamalar kısacası her şey bir veya birbirlerine bağlanmış birden çok düğüm ile ifade edilir. Bu düğümler mayada ki geometri, ışıklandırma, gölgelendirme gibi nesneleri de kapsayan tüm nesne tiplerini tanımlayabilir. Yukarıdaki grafikte en üstteki düğüm kürenin transform düğümünü ifade etmektedir. Sol alt tarafta giriş düğümü, alt ortada şekil düğümü, sağ altta gölgelendirme düğümü bulunmaktadır. 2.2.5.2 Eksenler: Mayada transform düğümleri eksen noktası (pivot point) olarak bilinen özel bir bileşene sahiptirler. Bu eksen noktasının yeri değiştirilip nesne herhangi bir transformasyona uğratılırsa değişik sonuçlar elde edilir. Pivot noktaları basit olarak nesnelerin ölçeklendiklerinde veya döndürüldüklerinde sabit kalan noktalarıdır. Resim 20 – Eksenlerin kullanımına örnek 2.2.5.3 Hiyerarşi: Maya’da sahneler yapılırken nesneler ve alt nesneleri birbirleriyle parent- child ilişkisine sahiptirler. Maya bu düğümlerle çalışırken en üstteki yani root düğümden başlar ve aşağıya Resim 21 – Hiyerarşi grafiği doğru devam eder. Yan taraftaki grafikte solda bulunan group1 düğümü döndürülürse veya yer değiştirme yapılırsa alt taraftaki düğümler de bundan etkilenecektir. Ancak nurbsCone düğümü döndürülürse üst düğümler bundan etkilenmeyecektir. Grafikte sağ tarafta bulunan hiyerarşiye birleşim noktası (joint) hiyerarşisi denilir. Bu hiyerarşi daha çok karakter yapımında kullanılır. İskelet şekillendirilirken birbirleriyle bağlantısı olan kemikler birbirlerine joint ile bağlanılır ve bir hiyerarşi oluşturulur. Bu sayede en üstteki düğüm oynadığında alttakiler de etkilenecektir ancak alt taraftaki düğümler oynadığında üst taraftakiler nesne hiyerarşisinde olduğu gibi oynamaz. Bu aynen kolumuzu hareket ettirdiğimizde elimizin de hareket etmesine ama elimizi hareket ettirdiğimizde kolumuzun hareket etmemesine benzemektedir. 2.2.6 MEL (Maya Embedded Language) Maya’da herhangi bir şey açıldığında, kullanıldığında veya değiştirildiğinde ufak bir script çalıştırılmış olunur. Bu scripte MEL (Maya Embedded Language) denilmektedir. MEL sayesinde basit komutlar yazılabilir, matematiksel ifadeler yazılabilir ,scriptler oluşturularak Maya’ya fonksiyonellik kazandırılabilir. Animatörler MEL sayesinde komplex sahneler için makrolar hazırlayarak işlerini kolaylaştırmaktadırlar. Aşağıda bir torus oluşturan ve yerini değiştiren bir MEL script örneği bulunmaktadır: CreateNURBSTorus; setToolTo "CreateNurbsTorusCtx"; torus -ch on -o on -po 0 -ax 0 1 0 -nsp 4 -hr 0.5 ; // Result: nurbsTorus1 makeNurbTorus1 // select -cl ; select -r nurbsTorus1 ; move -r 2.684282 0 0 ; select -cl ; 2.3 Maya’da Modelleme 2.3.1 Maya’da NURBS Eğriler Şekil22 - Maya’da NURBS eğrilerinin önemli bileşenleri 3D tasarım dünyasında, karakter modellemesi yapılırken en fazla kullanılan bileşen NURBS eğrileridir. Bunun sebebi, poligon modellemeye göre daha fazla esneklik sağlaması ve genelde yumuşak hatlar içeren karakter modellemede bu esnekliğe ihtiyaç duyulmasıdır. Şekil 7’de Maya’da tanımlanmış bir NURBS eğrisi ve bu eğriyi oluşturan bileşenler görülmektedir. Eğrinin şeklinin belirlenmesi büyük bir oranla tasarımcının ustalığına kalmıştır. Eğrilerle tanımlanacak şekil karmaşıklaştıkça, eğrinin kontrolü bir o kadar zorlaşır. Bu sebeple, daha az kontrol içeren eğriler kullanmak tasarımcının iyiliğine olacaktır. Eğer daha fazla kontrole ihtiyaç duyuluyorsa, bu kontroller daha sonra eklenilebilir. 2.3.2 Maya’da NURBS yüzeyler Resim 23 - NURBS yüzey Resim 24 – NURBS yüzey bileşenleri NURBS yüzeyler NURBS eğrilerle aynı matematik tanımlamaya sahiptir ancak bu yüzeyler U-V koordinat düzleminde tanımlanmıştır. Resim 24’de görülen NURBS yüzey bileşenleri sayesinde bu yüzeylerin şekli değiştirilebilmektedir. Aynen NURBS eğriler gibi ilk başta az kontrol bileşeni ile bu yüzeyleri oluşturmak, tasarımcının daha kolay modelleme yapabilmesini sağlamaktadır. 2.3.3 Maya’da Poligonlar NURBS yüzeyler daha çok organik tasarımda kullanılırlar, düzgün şekillere sahip olması gereken mimari ve iç mimari tasarımlar ve benzeri düzgün hatlara sahip olması gereken nesnelerin modellenmesinde genellikle poligonlarla modelleme yapılır. Aşağıda Maya’da tanımlanmış bir poligonun kontrol bileşenleri bulunmaktadır: Resim 25 – Poligonal yüzey Poligonal yüzeyler tanımlandığında yüzey yumuşaklığını hızlıca değiştirmek için klavyeden 1(düşük yumuşaklık), 2(orta yumuşaklık) ve 3(yüksek yumuşaklık) tuşları kullanılabilir. 2.4 Maya’da Deformasyonlar Deforme ediciler Maya’da tanımlanmış özel nesne türleridir ve diğer nesnelerin yeniden şekillendirilmesinde kullanılır. Bu nesneler sayesinde animasyonlarda germe (stretch) ve sıkıştırma (squash) etkilerinden daha fazlası verilebilir. 2.4.1 Lattice (Kafesler) Lattice’ler, nesneleri dışarıdan saran çerçeveler gibi düşünülebilir. Eğer bu çerçevenin kontrol noktalarının yeri değiştirilirse, etki olarak tanımlanmış olduğu nesnenin şekli değiştirilmiş olur. Resim 26 – Lattice deformasyon aracı 2.4.2 Sculpt (Yontma) Nesneleri Yontma araçları sayesinde bir yüzey üzerinde itme ve çekme etkileri rahatlıkla yapılabilir. Bu nesnelerin canlandırma sahnesinde ki pozisyonları canlandırılarak, animasyonlu yüzey deformasyonları yapılabilir. Resim 27 – Sculpt deformasyon aracı 2.4.3 Cluster (Küme) Nesneleri Bu nesneler CV veya lattice noktalarının bir araya getirilmiş halleridir. Cluster tutacı sayesinde bu noktaların hepsinin birden kontrolü sağlanabilir. Bu nesne sayesinde, kontrol edilen nesne üzerinde daha zarif etkiler sağlanabilir. Resim 28 – Cluster deformasyon aracı 2.5 Maya’da Animasyon Animasyon, objelerin canlandırılması olarak tanımlanabilir. Maya özellikle animasyon gücü ve etkinliği sayesinde günümüz piyasasında oldukça iyi bir yer edinmiştir. Maya’da animasyon hazırlamanın değişik yolları vardır. Ancak genellikle izlenen yol, film karelerinde izlenilen yoldur. Yani bir hareketi oluşturan karelerin arka arkaya değişik hızlarda gösterilmesi yoluyla sağlanır. 2.5.1 Kilit Kareler Animasyon Yöntemi (Keyframe Animation) En fazla kullanılan animasyon yöntemidir. Bir nesnenin hareketinin nasıl olacağına karar verildikten sonra önemli kareler belirlenir ve buralardaki hareketler tanımlanır. Bu karelerin arasını Maya kendisi tanımlayarak canlandırma etkisinin verilmesi sağlar. Resim 29 – Keyframe Animasyon 2.5.2 Yol Animasyonu (Path Animation) Yol animasyonu yönteminde 3 boyutlu uzayda tanımlanan bir eğri sayesinde canlandırma yapılacak nesnenin hareketi sağlanır. Bu eğrinin veya yol işaretçilerinin şekli değiştirilerek, hareket düzleminin değiştirilmesi sağlanır. Resim 30 –Yol Animasyonu 2.5.3 Tepkisel Animasyon (Reactive Animation) Tepkisel animasyon, bir objenin canlandırma etkilerinin bir diğerine bağlı olduğu animasyon yöntemidir. Bu animasyon yöntemine en basit örnek iki dişlinin hareketidir. İkinci dişlinin transformasyonu, ilk dişlinin transformasyon değerleriyle ilişkilendirilir, bu sayede ilki döndüğünde ikinci çark da dönecektir. Resim 31 –Tepkisel Animasyon Maya’da tepkisel animasyon yapmanın birçok yolu vardır. Aşağıda bunlardan birkaçı listelenmiştir. Sürülen Anahtarı Atama (Set Driven Key): Bu yöntemde bir adet sürücü (driver), bir adet de sürülen (driven) nesne vardır. Sürücü nesnenin bir özelliğine atanılan sürme anahtarı sayesinde, bu özellik değişime uğradığınde sürülen nesnenin o özelliği de belirlenen kriterlere göre değişime uğrar. İfadeler (Expressions): Expression’lar, değişik özelliklerin değişik düğümlere atanmasına izin veren scriptlerdir. Kısıtlayıcılar (Constraints): Constraint’ler, bir nesnenin başka bir nesneyi işaret etmesini, yönlenmesini ve göz atmasını sağlayan araçlardır. Bağlantılar (Connections): Bir nesnenin özellikleri, bağımlılık düğümü bağlantılarını kullanarak başka bir nesnenin özelliklerine bağlanılabilir. Bu işlem Bağlantı Editörü (Connection Editor) aracılığıyla yapılır. 2.5.4 Dinamik Animasyon (Dynamics) Bu animasyon tekniğinde, sahne üzerindeki nesnelerin hareketleri fizik kanunlarına göre simüle edilir ve diğer tekniklere göre daha gerçekçi animasyon sahneleri oluşturulabilir. Bu teknikte çarpışma, yer çekimi, rüzgar etkenler sahneye adapte edilebilir. Canlılık, ilk hız, sürtünme gibi değişkenler ayarlanarak sahnenin bu değişkenlere göre tepki vermesi sağlanabilir. Dinamik animasyon tekniği parçacıklar üzerinde veya katı/yumuşak cisimler üzerinde uygulanabilir. Katı cisimler deformasyona uğramayan cisimlerdir. Bu simüle etme tekniğinde katı cisimler aktif ve pasif olarak ayarlanılır ve fizik kuralları bu ayarlamaya göre uygulanır. Aktif cisimler fizik kurallarına göre hareket ederken, pasif cisimler sadece aktif cisimler tarafından çarpılan cisimler olmaktadır. Resim 32 – Bowling topu ve lobutlarla yapılmış bir katı cisim simülasyonu Parçacıklar; duman, ateş veya patlama etkilerinin yaratılması için kullanılan küçük noktalardır. Bu noktalar sahneye saçılırlar ve fizik kurallarından etkilenirler. Resim 33 – Parçacıklar Yumuşak cisimler, simülasyon esnasında deforme edilebilen yüzeylerdir. Yumuşak cisim üretimi için bir yüzeyi parçacıklarla birleştirmek gereklidir. Parçacıklar fizik kurallarına uygun hareket edeceğinden yüzeyi deforme edebilirler. Resim 34 – Yumuşak cisim 2.5.5 Hareket Yakalama (Motion Capture) Animasyonda ki karakteri canlandıracak olan bir kişinin üzerine veya bir insan iskeleti üzerine sensörler takılarak, yapılan hareketlerin yakalanıp Mayaya aktarılması ile yapılan animasyon tekniğidir. 2.6 Maya’da Organik Modelleme Teknikleri 2.6.1 Kılavuz Resimler Yardımıyla Modelleme Bir adet profilden ve bir adet de önden olmak üzere iki adet fotoğraf veya çizim yardımıyla yapılan modelleme tekniğidir. Bu kılavuz resimler mayaya aktarıldıktan sonra, yan tarafta ki resimde görüldüğü gibi birbirine dik açı ile koordinat eksenine oturtulur ve daha sonra koordinat eksenine eklenilen bir cisim (genellikle küp Resim 35 – Kılavuz Resimli Modelleme veya silindir) deforme edilerek bu kılavuz resimlerin hizasına gelmesi sağlanır. Bu cisim yavaş yavaş şekillendirilerek insan kafası oluşturulur. 2.6.2 Yontma Tekniği (Kaba Poligonal Modelleme ) Bu teknikte de yine bir adet cisim, heykel yapar gibi poligonlarla şekillendirilip yontularak insan kafası şekli verilir. Bu teknik genellikle modellenecek kafanın herhangi bir kişiye ait olmadığı zamanlarda veya oyunlarda yaratık kafası modellenmesinde kullanılır. Resim 36 – Yontma Tekniği 2.6.3 NURBS Modelleme Bu yöntemde tek bir NURBS bileşeninden yola çıkılarak insan kafası modellemesi yapılır. Bu eğri yine kılavuz resimler yardımıyla veya başka bir teknikle insan kafası şeklini alana kadar deforme edilir. İstenilen şekil verildikten sonra bu bileşen kopya edilir ve bir yerden başlayarak eğriler şekillendirilir. Genellikle ağızdan başlanılır. Resim 37 – NURBS Tekniği 2.6.4 3D Tarayıcı Yardımıyla Hazır Model Elde Etme 3D tarayıcı vasıtasıyla insan kafasının değişik yönlerden taranmasıyla elde edilen model RapidForm isimli yazılımla düzenlenerek daha gerçekçi modeller elde edilebilir. Oldukça hızlı bir yöntem olduğundan büyük stüdyolar genellikle bu yöntemi tercih ederler. Animasyon filmlerindeki karakterlerin bir heykelciği yapılarak 3D tarayıcı vasıtasıyla modellenmesi yapılır ve Maya’ya aktarılır. Resim 38 – 3D Scanner Tekniği Bölüm 3 – Yapılan Çalışma 3. Maya’da İnsan Yüzü Modellemesi Maya’da insan yüzü modellemesinin kılavuz resimler ve NURBS eğriler ile yapılma aşamaları, yani bitirme projesinde izlenilen aşamalar aşağıda verilmiştir: • Önden ve yandan olmak üzere iki adet fotoğraf çekilir veya çizim hazırlanılır. Fotoğrafların özellikleri dikkat edilmesi gerekli olan noktalar; fotoğraf makinesine olan uzaklığın sabit olması sağlanmalıdır, yüz bölgelerinin gözükmesini engelleyen veya yanıltıcı yönlendirmelere sebebiyet verecek gölgelerin oluşması engellenmelidir. • Bu fotoğraflar Photoshop programı yardımıyla modelleme referansı için düzeltilmelidir. Fotoğrafın amacı 3 boyutlu bir yüzeyi 2 boyutlu bir ortama taşımak olduğundan, 2 boyutlu ortamda balıkgözü efekti (eye fish efect) ile karşılaşılması kaçınılmazdır. Bu görünüm Photoshop CS serisi ile gelen Lens Correction efektiyle düzeltilebilir. Daha sonra iki fotoğrafta kafanın ana noktalarını belirleyen kısımların aynı yükseklikte olması sağlanmalıdır. Bu kısım fotoğraf düzenlemenin en önemli kısmıdır ve oldukça titiz bir çalışma gösterilmelidir, eğer ana noktalar aynı yükseklikte olmazsa veya fotoğrafı çekilen kişinin makineye olan uzaklığı her iki fotoğrafta farklıysa ve bu düzeltilmemişse veya kişi fotoğraflarda ayrı yüz ifadelerine sahipse, Maya’da yapılan model bu kişiye benzemeyecektir. • Photoshop’ ta bu fotoğraflar insan kafasının ana kasları açıkça fark edilecek şekilde canlı renkle boyanmalıdır. Bu kaslar daha sonradan NURBS yüzeylere dönüştürüleceğinden, bu boyanan yerlerin her iki fotoğrafta da aynı yükseklikte ve yerde olması gereklidir. • Bu fotoğraflar Maya’ya image plane olarak aktarılmalı ve daha önceden boyanan yerlerden NURBS eğrileri çizilmelidir. Daha sonra bu eğrilerin arasında NURBS yüzeyleri oluşturulmalıdır. İlk aşamada oluşturulan bu yüzeyler akıcı bir görünüme sahip olmayacaktır, ancak daha sonra bu yüzeyler birleştirilecek ve modellenecek kişinin yüzünün ayrıntıları bu yüzeyler alçaltılarak ve yükseltilerek modele eklenilecektir. Bu yüzey deforme etme aşaması estetik cerrahi modellemesinde genellikle önce ve sonra olarak adlandırılan modellerin biçimlendirilmesinde kullanılabilir. Kişinin asıl hali modellenirken bu aşamaya gelindiğinde farklı kaydet seçeneğiyle sonraki halinin modeli, estetik cerrahi yapılacak bölgedeki düzenlemeler yapıldıktan sonraki haline benzetilerek yapılabilir. • Modelin texture haritası Maya’da bulunan projection araçlarından bir tanesi kullanılarak çıkartılmalı, Photoshop’ta texture için çekilmiş fotoğraflar birleştirilerek kaplama oluşturulmalı ve oluşturulan texture modele kaplanarak gerçekçi bir deri görüntüsü verilmelidir. Yukarıda özeti verilen aşamalar ayrıntılı bir şekilde aşağıda verilmiştir. 3.1 Model Fotoğraflarının Çekilmesi ve Düzenlenmesi Fotoğraf çekimi için yüksek çözünürlükte bir fotoğraf makinesine ve tripoda (üçayak) ihtiyaç duyulmaktadır. Fotoğrafçılığın temelleri de öğrenilirse daha kaliteli fotoğraflar elde edilebilir. Gölge oluşmaması için çift flaş kullanılabilir. Fotoğraf makinesinin kendi flaşına ek olarak bir de modelin arka tarafına doğru tutulan iki flaş senkronize olarak çalıştırılırsa gölge oluşumunun Resim 39-a)Yandan b)Önden Fotoğraflar önüne geçilebilir veya fotoğraf çekimi gündüz yapılıyorsa renklerin daha yumuşak olması ve gölge oluşumunun engellenmesi için öğleden sonraki saatler tercih edilebilir. Tripod ve modelin duracağı yere çizilen bir çizgi yardımıyla iki fotoğrafta da kişinin aynı uzaklıkta olması sağlanabilir ve Photoshop’ ta bu düzenlemelerin yapılması gereği ortadan kalkar. Fotoğraf çekimi esnasında kişinin yüz ifadelerinin değişmemesi gereklidir, ayrıca kişinin saçlarının geriye doğru yatırılması kafanın dış hatlarının işaretlenmesi için gerekli bir aşamadır. Modellemede kulak kısmı oldukça önemlidir bu yüzden saçların kulakları örtmemesi gerekir. Yukarıdaki uyarılara göre çekilen fotoğraflar Photoshop’ a aktarıldıktan sonra her biri Filter>Distort>Lens Correction aracı yardımıyla fotoğrafçıdan ve makine lensinden kaynaklanan hataları azaltmak için düzeltilir. İlk olarak sağ tarafta en üstte bulunan Resim 40 – Distort Aracı Distort kısmını + kısıma doğru arttırarak balıkgözü etkisi azaltılır. Eğer kişinin kafası yan duruyorsa, sol tarafta bulunan straighten aracıyla suratın her iki tarafından referans noktalar (mesela kulak memeleri, göz bebekleri, dudak çizgileri vb.) alınarak düzeltilmeye çalışılır. Resim 41 – Straighten aracı Daha sonra eğer fotoğraf makinesi kafadan aşağıda veya yukarıda kalmışsa yani makinenin lensi kişiye direk karşıdan bakmıyorsa vertical perspektif kısmıyla gerekli ayarlamalar yapılarak düzeltme sağlanır. Bu ayarlar yapıldıktan sonra ok’ e basılıp kasları oluşturacak olan kısımların boyanması aşamasına geçilir. Bu aşamaya geçmeden önce insan kafasını oluşturan kasların yapısına bakalım: 3.2 İnsan Kafası Anatomisi Resim 42 – İnsan Kafası Kasları Kafa kaslarının gerçekçi olarak modellenmesi, yapılan kafa modelinin animasyon aşamasında, hareketlerin doğallığı için olmazsa olmazlardan birisidir. Yüz mimiklerinin oluşmasını ve kafanın boyun ekseni etrafında dönmesini sağlayan kaslar yukarıdaki çizimde verilmiştir. Göz kası (Orbicularis oculi) ve ağız kası (Orbicularis oris) arasında bulunan kaslar (Zygomaticus Major ve Zygomaticus Minor) üst dudağın kaldırılması ve indirilmesini sağlayan kaslardır. Bu kaslar gülümsemeyi ve genellikle küçük çocukların üst dudaklarını bükerek takındıkları üzüntü ifadelerini sağlarlar. Depressor Angoli Oris ağzın kenarlarını hareket ettirir, bu kas sayesinde üzüntü ve hayal kırıklığı ifadeleri gerçekleştirilir. Masseter kası ağzın açılmasını ve kapanmasını sağlar. Sternocleidomastoid kası, kafatasını kulağın arkasından göğüs kemiğine (sternum) birleştiren kastır ve kafanın dönüşünü sağlar. Bu kasların dışında kafada daha birçok kas bulunmaktadır ancak bunlar yüz ifadelerini sağlayan ana kaslar olduğundan sadece bu kasların bulunduğu kısımlar NURBS yüzeylerle ifade edilecektir. 3.3 Kas Gruplarının Boyanması Resim 43 a,b – Önden ve yandan kas gruplarının boyanmış hali Yüzü oluşturan kasların modele aktarılması için, fotoğraflarda yapılması gereken boyamalar yukarıdaki çizimde gösterilmiştir. Bunlar Photoshop’ ta canlı bir renk seçilerek dikkatli bir biçimde boyanmalıdır. Boyama aşamasından önce bu iki resim tek bir resim içerisine farklı layerlar olarak konulmalıdır. Resimler burna, kafanın üst kısmına, çeneye ve gözlere göre hizalama sağlanmalıdır. Boyama esnasında bu boyanan yerlerin her iki layerda da aynı hizada ve aynı büyüklükte olması oldukça önemlidir. Modelin Mayada oluşturulmadan önceki hazırlık aşamaları Mayada yapılan çizimlerden daha önemlidir, bu kısımlarda gerekli özen gösterilmezse yeniden başa dönmek kaçınılmazdır. Hizalamalar ve boyamalar yapıldıktan sonra bu tek resim yeniden iki resim olarak ayrılmalıdır. Mayaya çok yük binmemesi için bu resimler kaydedilirken jpeg olarak ve kalitesi orta seviyelerde tutularak kaydedilmelidir. 3.4 Resimlerin Maya’ya Aktarılması Maya açılınca default olarak perspektif görünümde açılır. Bu görünümü sol altta bulunan QWERTY araç çubuğunun altındaki Layouts araç çubuğunda ikinci sırada bulunan Four View ile değiştirmeliyiz. Şimdi ekranda Top, Perspektive, Front ve Side olmak üzere 4 kamera açısı gözükmektedir. Henüz resimleri aktarmadan hiçbir orthographic görünümde yakınlaştırma yapılmaması gerekir. Eğer yakınlaştırma yapılırsa resimler image plane’e değişik boyutlarda atılmış olur. Eğer herhangi bir yakınlaştırma veya uzaklaştırma yapılmışsa Maya kapatılıp tekrar açılmalı ve bu şekilde devam edilmelidir. Eğer böyle bir şey yapılmamışsa, kişinin ön taraftan çekilmiş fotoğrafı Maya’da front kısmında bulunan View>Image Plane>Import Image kısmından Maya’ya aktarılır. Aynı şekilde profil fotoğrafı da side kısmına aktarılır. Önden görünümde, fotoğrafta önceden çizilmiş yüzü ikiye ayıran çizginin tam olarak bu görünümü ikiye ayıran çizgiye denk gelmesi gereklidir. Eğer denk değilse önden görünüm penceresine gelinerek mouse yardımıyla fotoğraf seçilir ve Channel Box kutusunda bulunan Input kısmından Center Y seçeneğinde mouse’un orta düğmesini kaydırmak suretiyle bu hizalama yapılır. Daha sonra perspektif görünüme geçilerek (Layouts menüsünden en üstteki simgeye basarak veya 4lü görünümdeyken perspektif görünümün üzerine mouse cursorunu getirip space tuşuna basarak) image planelerin yerleşimine bakılır. İlk olarak profil image plane’i seçilerek aynı şekilde Channel Box> Inputs kısmından Center X ile yine mouse’un orta tuşu ile fotoğrafı perspektif görünümde bulunan gridlerin biraz gerisine getirilir. Bu işlemin aynısı önden görünüm image plane’i için Center Z ile yapılır. Bu image plane’lerin birbirlerini kesmediğini görmek için bir adet poligonal küp yaratıp, her iki image plane’de kafanın dış hatları kadar büyütmek gerekir. Elde edilen görünüm aşağıdaki gibi olmalıdır: Resim 44 – Maya’ya aktarılmış image planeler Eğer yukarıdaki şekilde görüldüğü gibi küp image planelerden herhangi birini kesmiyorsa işlem doğru yapılmış demektir, artık poligonal küp silinebilir (küp seçilip delete tuşuna basılarak silinebilir). Image Planeler düzgün bir şekilde yerleştirildikten sonra artık perspektif görünümde onlara ihtiyaç kalmaz, sadece ortographic görünümlerde ihtiyaç vardır. Perspektif görünümde gözükmelerini engellemek için bu image planeleri tek tek seçip attribute editorden Image Planes Attributes tabının altındaki in all views’i, looking through the camera seçeneğiyle değiştirmek yeterli olacaktır. 3.5 Kafanın Ana Hatlarının ve Kas Gruplarının Eğrilerle Belirtilmesi Bu aşamaya geçmeden bilinmesi gereken en önemli şey, kafanın ve kas gruplarının belirlendiği eğrilerin daha sonradan NURBS yüzeylere birail 2 tool denilen Maya aracıyla çevrilecek olmasıdır. Bu aracın çalışma mantığı devamlı olan 2 eğriyi profil olarak alıp daha sonra bu iki eğrinin arasındaki diğer iki eğri boyunca Resim 45 – Yanlış birleştirilmiş eğriler bir yüzey oluşturmaktır. Buradan anlaşılacağı üzere NURBS yüzeyleri oluşturmak için 4 adet birbirinin devamı olan eğriye ihtiyacımız vardır. Kas gruplarını eğriler ile ifade ederken en dikkat edilmesi gereken nokta burasıdır. Eğer bu oluşturulan eğriler yukarıda ki şekilde görüldüğü gibi bir devamlılığa ve aynı yerde kesişime sahip değillerse yüzeyler oluşturulamayacaklardır. Bu aşamada en çok ihtiyaç duyulacak araçlar, Mayanın shelf kısmına yeni bir shelf açarak eklenilirse oldukça hız kazanılır. Shelf editörünün yan tarafında bulunan küçük oka basarak New Shelf’e basıp, oluşturulacak shelf’e bir isim verilmelidir. Bu işlemden sonra açılan yeni shelf boş olarak görünüm Resim46-Shelf pencerelerinin üst tarafında oluşturulacaktır. Shelf’e yeni butonlar, Ctrl+Alt+Shift’e birlikte basarken, koyulacak olan butona menüden ulaşıp tıklayarak koyulabilir. Shelf’e eklenmesi gerekecek araçlar bulundukları menüler ile birlikte aşağıda verilmiştir: • Polygons menu set>Edit Curves>Detach Curves • Polygons menu set>Edit Curves>Attach Curves(ilk olarak option boxtan girilip attach metodu olarak blend seçilmelidir ve bu şekilde eklenmelidir ) • Polygons menu set>Edit Curves>Rebuild Curves(ilk olarak option boxtan girilip rebuild type’ı uniform’a ve Keep kısmını CV’s e ayarlayıp o şekilde eklenmelidir, eğrilerimizin hepsinin uniform olması oldukça önemlidir.) • Polygons menu set>Edit Curves>Rebuild Curves option box(rebuild ayarlarında değişiklik yapmamız gerekeceğinden bu ayar kutusunu da shelf’e eklememiz hız kazandıracaktır) • Surfaces menu set>Surfaces>Birail>Birail 2 Tool(Yüzey oluşturmada kullanılacak olan araç) • Surfaces menu set>Edit NURBS >Rebuild Surfaces(ilk olarak option boxtan girilip şu ayarlar yapılmalıdır:Rebuild Type:Uniform, Parameter Range: 0 to number of spans, Direction:U and V, Keep CVs:On, Degree U ve Degree V:3, Output Geometry:Nurbs) • Edit>Delete All by Type>History (yüzeyleri veya eğrileri attach veya detach ettikten sonra Mayanın kullanılan araç geçmişini silmemiz gerekiyor, eğer bu yapılmazsa oldukça büyük sorunlar çıkacaktır.) • Create>EP Curve Tool • Surfaces menu set>Edit NURBS>Attach Surfaces(ilk olarak option boxtan girilip attach method:blend yapılmalı ve keep original’ın yanındaki tick kaldırılmalıdır ) • Surfaces menu set>Edit NURBS>Detach Surfaces(ilk olarak option boxtan girilip keep original’ın yanındaki tick kaldırılmalıdır ) • Surfaces menu set>Edit NURBS>Stitch>Global Stitch (Ayrık olan yüzeyler arasındaki boşluğu azaltmakta kullanılır) • Surfaces menu set>Edit NURBS>Sculpt Geometry Tool Option Box (Yüzeyleri yumuşatma, yükseltme ve çukurlaştırma işlemlerinde kullanılır) Kas gruplarını ve kafanın ana hatlarını eğrilerle çizmek için ilk olarak oluşturulan shelf’den EP Curve Tool’a tıklanmalı ve orthographic görünümlerde(ilk olarak ön görünümden başlamakta fayda var) oldukça az nokta kullanmaya gayret göstererek daha önceden Photoshop’ta çizilen çizgiler takip edilerek eğriler oluşturulmalıdır. Bir çizginin üzerinde eğri oluşturulduktan sonra enter’a basılmalı ve Resim 47 – Eğrilerin oluşturulması eğrinin tamamlanması gereklidir. Oluşturulan eğrinin diğer orthographic görünümlerde düzenlemesini yapabilmek için, eğrinin seçilip mouse’un sağ tuşu ile nesne kontrol araçlarından control vertex’i seçerek diğer görünümlerde de oluşturulan çizgileri takip edecek şekilde eğrinin düzenlemesi yapılmalıdır. Eğrileri oluştururken kafanın dış hattının tek bir eğriden oluşturulmasında fayda vardır. Daha önceden bahsedildiği gibi yüzeylerin oluşturulabilmesi için eğrilerin birbirleriyle kesişmesi gereklidir, bu kesişimin sağlanması için başka bir eğri yaparken, kesiştirilecek eğri ile birleşimi sağlamak amacıyla klavyeden c tuşuna basarak(snapping tool) eğrinin son noktasını kesiştirilecek eğri üzerine denk düşürmek gereklidir. Göz ve göz çevresindeki kas grupları dairesel eğrilerle ifade edildiği için, bunları oluştururken en son kısma yaklaşıldığında attach curves tuşuyla ilk oluşturulan nokta ile birleştirilmesi sağlanmalıdır. Burada unutulmaması gerekenler aşağıda verilmiştir: • Her attach veya detach yapılmasından sonra history’nin silinmesi unutulmamalıdır! • Eğriler oluşturulduktan ve düzenlendikten sonra mutlaka rebuild curves tuşu kullanılarak uniform olarak yeniden yapılandırılmalıdır. Bu aşama her eğri tamamlandıktan sonra tek tek de yapılabilir veya tüm eğriler yapıldıktan sonra hepsi seçilerek hepsi birden rebuild yapılabilir. Rebuild işlemi control vertex kısmındayken yapılamaz, object mode’a geçilmelidir. • Oluşturulan eğriler 4 görünümde birden kontrol edilmeli ve ani değişimler varsa eğriyi oluşturan noktalar yeniden düzenlenerek düzgün bir görünüm sağlanmalıdır. 4 eğri arasında kalan alan yüzeye dönüştürüleceğinden, eğriler kesişim noktalarından detach edilebilir. Ancak bu detach işleminde diğer eğri kesişimlerinin engellenmediğinden emin olunmalıdır. Önceden çizilmiş çizgilerde bulunmayan ağız içi kısmı ağız animasyonu yapılacaksa mutlaka eklenmelidir. Yüzey oluşturma işlemine geçmeden önce tüm eğrileri seçip rebuild etmekte fayda vardır, eğriler uniform olmazsa Resim 48 – Oluşturulan eğriler yüzey oluşturmada sorunlar çıkacaktır. 3.6 NURBS Yüzeylerin Oluşturulması Birail 2 Toolla yüzey oluştururken ilk olarak karşılıklı duran iki eğri profil olarak seçilir ve daha sonra bu eğrilerden, hangi iki eğri boyunca yüzey oluşturulacağı seçilir. Diğer iki eğri de seçildikten sonra bu 4 eğri birbirleriyle kesişiyorsa bu eğriler arasında bir yüzey oluşturulur. Diğer yüzeyleri yapmadan önce view kısmından NURBS Surfaces’ın Resim 49 – Birail 2 Tool ile yüzey oluşturma yanındaki tick kaldırılarak yanlışlıkla eğriler yerine yüzeyleri seçmenin önüne geçilmelidir. Tüm yüzeyler tamamlandıktan sonra bu sefer view kısmından NURBS Curves’ın yanındaki tick kaldırılır ve yüzeylerin yanına yeniden tick konularak yüzeyler görünür yapılır. Yüzeylerin hepsini birden seçerek rebuild surfaces işlemi yapılır. Bu aşamada oluşturulan model, fotoğrafları çekilen kişiye pek benzememekte ve yüzeyler arasında herhangi bir bağlantı bulunmamaktadır. Ancak daha sonra yapılacak işlemlerle yüzeylerin görünümü değiştirilecek, yumuşak ve gerçekçi bir görünüm kazandırılacak, birbirleriyle bağlantıları sağlanacak ve modellenen kişiye daha da benzer bir Resim 50 – Oluşturulan Yüzeyler durum kazanacaktır. 3.7 NURBS Yüzeylerin Düzeltilmesi Yüzeylerin birleştirilmesi ve gerçekçi bir görünüm kazandırılması için yan yana olan NURBS yüzeyler seçilerek önceden oluşturulan shelfdeki Attach Surfaces butonu ile birleştirilir. Bu birleştirme işleminde birleştirilecek yüzeylerin birleştirilen kenarlarındaki span sayısının birbirine eşit olması gerekmektedir. Her birleştirme işleminden sonra birleştirilen yüzeyler diğer yüzeylerden ayrılacaktır ancak global stitch butonu yardımıyla bu aradaki oluşan boşluk azaltılabilir. Birleştirme işleminden sonra yüzey uniform olarak rebuild edilmelidir ve history’nin silinmesi unutulmamalıdır (bu işlemler buton olarak shelf’e eklenmişti). Birleşimden sonra sculpt geometry tool’dan smooth işlemi seçilmeli Resim 51 – Smooth İşlemi ve yüzeyi yumuşatma işlemi yapılmalıdır. Smooth işleminden sonra birleştirilen yüzeyler, birleştirildikleri yerdeki isoparm seçilerek yeniden ayrılır ve tüm yüzeyler bu şekilde düzeltilip düzgün bir görünüm elde edilene kadar devam edilir. Ayrıca sculpt geometry tool ile buruna ve yüzün diğer kısımlarına istenilen görünüm push ve pull işlemleriyle verilmeye çalışılır. Yüzey düzeltme işlemleri bittikten sonra yüzeylerin hepsi seçilip Edit>Group ile bu yüzeylerin bir grup altına toplanması sağlanır. Yüzeyler gruplandıktan sonra bu grup seçilerek Edit>Duplicate Special Option Box’dan Scale x kısmındaki 1’in başına -1 konularak yüzeylerin ayna simetriği alınarak kafanın diğer tarafı oluşturulur. Resim 52 – Oluşturulan kafa 3.8 Kulak Modellemesi Kulak modellemek için, kafa yüzeylerinin arasında kalan boşluklar referans eğri olarak alınır. Bu eğriler birleştirilir ve tek bir eğri haline getirilir, daha sonra duplicate işlemi ile kopyalanarak referans fotolar yardımıyla modellenecek kişinin kulak anatomisine benzetilir. Bu eğrilerin birbirlerini kesmemesi kulak yüzeyinin oluşturulmasında kullanılacak olan Loft aracının düzgün bir şekilde çalışması için gereklidir. Eğriler oluşturulup control vertexleri ile fotoğraflardaki kulağın ana çizgileri oluşturulduktan sonra içten dışarıya doğru teker teker seçilerek Surfaces>Loft Tool’a basılır. Oluşan yüzey ilk başta oldukça ilkel bir kulak görünümündedir ancak Sculpt Geometry Tool ve yüzey control vertexleri ile modellenenen kişinin kulak görüntüsü yavaş ve sabırlı bir işlem sonucunda verilebilir. Resim 53 – Kulağın tamamlanmış hali 3.9 Göz Modellemesi Göz modellemesinde de aynen kulak modellemesinde olduğu gibi göz boşluklarını oluşturan yüzeylerin oluşturduğu eğri alınır ve tek bir eğri olarak birleştirilir. Bu eğriden duplicate işlemi ile 2 adet daha eğri oluşturulur. Göz boşluğuna oturacak şekilde bir NURBS küre oluşturulur ve transform değerleriyle oynanarak bilinen göz şekli verilir. Resim 54 – Göz küresi Sonradan oluşturulan eğrilerden bir tanesi göz küresinin üzerine gelmeyecek kadar büyütülür, üçüncü olarak oluşturulan eğri ise göz küresinin tam yüzeyine değecek kadar yakınına getirilir ve NURBS>Project Curve On Surface aracı ile bu eğrinin göz küresi üzerine map edilmesi sağlanır. Daha sonra map edilmiş eğrinin asıl hali silinir ve kalan 3 eğri arasında loft aracı ile yüzey oluşturulur. Yine control vertexleri ve Sculpt Geometry Tool yardımıyla smooth bir görünüm sağlanır. Kafayı oluşturan diğer yüzeyler ile birleşim Resim 55 – Tamamlanmış Göz sağlandıktan sonra bu yüzeyler arasında da smooth bir görünüm sağlanır ve yüzeyler birbirinden ayırılır. 3.10 Texture Yapımı Texture yapımı için 45’er derecelik açılarla modellenen kişinin referans fotoğraflarının çekilmesi gereklidir. Bu fotoğraflardan alınan parçalar Photoshopta projection kamerasından alınan render görüntüsünün üzerine yapıştırılacak ve sonuçta elimizde texture map olacaktır. 3.10.1 Projection Kamera Projection görüntüsünün alınması için modelin bulunduğu sahnede başka bir perspektif kamera tanımlanmalıdır. Bunun için outliner penceresinden seçilen perspektif kameranın üzerine bir kere tıklanılıp Ctrl+d’ye basmak yeterlidir. Yeni oluşturulan kameraya çift tıklanıldığında açılan özellikler kısmında aşağıdaki ayarlar yapılmalıdır: Resim 56 – Projection kamera ayarları Resim 57 – Projection Render’ı Bu kameranın transform ayarları tam modeli karşıdan görecek şekilde yapılandırıldıktan sonra kilitlenmelidir. Render kısmında Render>Render>Render Using “oluşturulan kamera ismi” seçilip alınan render, .tiff image dosyası olarak kaydedilir. 3.10.2 Photoshop’ta Texture Map Yapımı Maya’da alınan Projection render’ı Photoshopa’a aktarıldıktan sonra, referans resimlerden alınan parçalar bu render’ın üzerine transform değerleriyle oynanılarak örtüştürülür. Bu parçalarla her tarafı kaplanılan render tiff dosyası olarak kaydedilir. Bu işlem modelin 4 tarafı için de yapılır sonuçta elde edilen resimler birleştirilir, elde edilen modelin texture map’idir. Resim 58 – Ön Texture Map 3.10.3 Texture’ın Modele Kaplanması Maya’da Hypershade editöründe Create>Material>Lambert menüsünden yeni bir Lambert materyali oluşturulur. Bu materyale çift tıklanıldığında açılan özellikler menüsünden Common Material Attributes kısmında en üstte bulunan Color özelliğinin yanında bulunan option box’a basıldığında açılan pencerede Textures tab’ında 2D Textures kımında ki As Projection radio butonu aktif hale getirilir ve File seçeneğine basılır. Açılan özelliklerden Projection Attributes kımsındaki Proj Type:Perspective olarak ayarlanılır, Camera Projection Attributes kısmındaki Link To Camera seçeneğinde projection yapılmış olan kamera seçilir ve image kısmında ki option box’a tıklanılır. Açılan pencereden Filter Type off’a getirilir ve Image Name kısmında ki browse butonu ile yüklenilecek tiff dosyası seçilir. Sonuç olarak oluşturulan Lambert nesnesine Photoshop’ta hazırlanmış texture eklenmiş olunur. Model seçildikten sonra bu texturelı materyale tıklanılıp Assign Material to Selection seçeneğine basılır, ve materyalin modele kaplanması sağlanmış olunur. Resim 59 – Sonuç Renderları 4. SONUÇLAR ve ÖNERİLER Maya ile ilgili bir bitirme aldığımda bilgisayar mühendisliği konusu olmaması sebebiyle birtakım endişelerim vardı, biz bilgisayar mühendisleri Maya’da tasarım değil, Maya benzeri programlar yapmalıyız diye düşünüyordum. Ama 3D modellemenin günümüz dünyasındaki yerini daha iyi anladıkça bu endişelerim yerini Maya ile ilgili daha fazla bilgi edinme isteğine bıraktı. Bu projede izlenilen yöntemlerle yapılan model eğlence sektöründe kullanılabileceği gibi, estetik cerrahi gibi birtakım sağlık alanlarında da kullanım alanı bulabilir. Fakat Maya’nın kullanım alanları bunlarla sınırlı olmadığından, oluşturulan modelin kullanım alanının sınırları insan hayal gücünün sınırlarıyla aynıdır. Maya oldukça zorlu bir program ve öğrenme sürecinin sonu yok ama Maya ile bir şeyler yapabildikten sonra bu işin ne kadar keyifli olduğu anlaşılacak ve bu zorlu süreç çok daha çabuk geçecektir. Herhangi bir 3D modelleme veya animasyon programı geçmişi olan kişiler internette bulunan yüzlerce bedava ders veren siteden edindikleri bilgilerle Maya’ya geçiş aşamasını kolaylaştırabilirler. Günümüz 3D piyasası gittikçe gelişen bilgisayar sistemleri ve sinema sektörünün ihtiyacı sebebiyle adımlarını daha geniş atmakta, 3D tasarımcılar ve animatörler yüksek maaşlarla piyasada çok rahat iş bulabilmektedirler. Maya ile ilgili Türkçe kaynak sıkıntısından dolayı ülkemizde 3DMax kullanımı daha fazladır, ancak 3DMax mimari tasarımlarda oldukça kolaylık sağlarken, organik modelleme ve animasyon gibi konularda çok zayıf kalmaktadır. Bu bitirme tezinin asıl amacı Maya’ya adım atacaklara yol göstermektir. O yolda daha hızlı ilerlemek için daha fazla çalışmak ve deneyim kazanmak gereklidir. 4. KAYNAKLAR • Learning Maya (Alias Wavefront - Ocak 1998) • Maya 8 At a Glance (George Maestri - 2006) • University Of Applied Science Wedel Diploma Thesis – Muscle Based Facial Animation (Terence Benja Küderle – Şubat 2005) • Stop Staring:Facial Modelling And Animation Done Right (Jason Osipa) • Türkiye Bilişim Ansiklopedisi • www.digital-tutors.com • www.thegnomonworkshop.com • www.highend3d.com • www.dersvar.com • www.tr3d.com • Digital-Tutors Maya Basics Vol 1-2-3-4 Cd Tutorial • Digital-Tutors Character Setup in Maya DVD Tutorial • Gnomon Workshop Modelling The Human Head DVD Tutorial • Gnomon Workshop Head Modelling For Games DVD Tutorial • Gnomon Workshop Humanoid Modelling DVD Tutorial • Gnomon Workshop Texture Painting Fundamentals DVD Tutorial