Unreal Engine, karakter ve obje çalışma zamanı animasyon sistemleri oluşturmak, sinematik içerik işlemek ve gerçek zamanlı olarak doğrudan motordan yeni animasyon içeriği yazmak için bir dizi animasyon aracı ve editörüne sahiptir; yani yaptığınız tüm değişiklikleri anında görebilirsiniz.
Maya kullanıcıları için Unreal Engine, oyunlar için durum odaklı mantıkla uyarlanmış etkileşimli içerikler ve yalnızca kayıttan oynatılmakla kalmayıp, kullanıcı tarafından “oynanabilen” etkileşimli deneyimler sunarak animasyonu gerçek zamanlı bir ortamda ele alır. Unreal Engine’ın ortamı bu tür geliştirmelere uyarlanarak tasarlanmış olsa da, bu tür bir deneyim yaratmanız gerektiği anlamına gelmez. Çevrimdışı iş akışlarını, işbirliğini ve aydınlatma ve materyaller için anında geribildirimi ön plana çıkaran tamamen gerçek zamanlı bir ortama uyarlayabilir, tüm bunları yaparken sahneyi işleyerek bir dosyaya aktarmak için uzun geri dönüş sürelerini beklemeden vereceğiniz anlık kararlarla, o anda çok daha verimli çalışabilirsiniz.
Kılavuzun bu bölümünde Maya ve Unreal Engine kavramları arasında karşılaştırmalar yapılacak, Unreal Engine’daki animasyonun temel bileşenleriyle tanışmanız sağlanacak, motorda animasyon oluşturmaya ve içe aktarılan içerikleri kullanmaya dair iş akışlarına genel bir bakış sunulacak ve aşina olmanız için bazı ek animasyon araçlarına yönlendirileceksiniz.
Temel Kavramların Karşılaştırılması
Aşağıda Maya kavramlarının bir listesi ve bunların Unreal Engine’daki karşılıkları yer almaktadır.
| Maya | Unreal Engine |
|---|---|
Joints and Skeleton (Eklemler ve İskelet) | İskeletler |
Rigging (Donatma) | İskeletler |
Skinning | İskelet Örgü |
Keyframe Animation (Anahtar Kare Animasyonu) | İçe Aktarılan Animasyon Öğesi |
Animasyon Dışa Aktarmaları (OBJ, FBX vb.) | Animasyon Sekansları |
Blend Shapes and Driven Keys (Karışım Şekilleri ve Sürücü Anahtarlar) | Dönüşüm Hedefleri, Karışım Alanları ve Animasyon Eğrileri |
Animation Layers / Non-Linear Animation (Animasyon Katmanları/Doğrusal Olmayan Animasyon) | Animasyon Katmanları |
Graph Editor (Grafik Editörü) | Sequencer Eğrileri ve Animasyon Grafiği |
IK, FK ve HumanIK | Control Rig, Gerçek Zamanlı IK ve Gerçek Zamanlı Olmayan IK Yeniden Hedeflemesi |
Trax Editor (Trax Editörü - doğrusal olmayan düzenleme) | Animasyon Montajları ve Sequencer |
Physics / Dynamics (Fizik/Dinamikler) | Fizik Tabanlı Animasyon Sistemi |
Animasyon Bileşenleri
Aşağıda, Unreal Engine’da objelere animasyon eklemek ve editörde içe aktardığınız veya oluşturduğunuz animasyonlarla çalışmak için kullanacağınız farklı bileşenlerin bir listesi bulunmaktadır.
| Unreal Engine Bileşeni | Açıklama |
|---|---|
İskelet ve İskelet Örgü | İskelet, bir iskelet (ciltlenmiş) örgüdeki kemikleri (bazen eklemler olarak adlandırılır) tanımlamak için kullanılır. Bu kemikler, konumları ve karakter örgülerinin nasıl deforme edileceği üzerindeki kontrolleri nedeniyle bir bakıma gerçek bir biyolojik iskeleti taklit eder. İskeletler; animasyon verilerini, genel iskelet hiyerarşisini ve animasyon sekanslarını depolamak ve ilişkilendirmek için kullanılır. İskeletler, farklı iskelet örgüler ve animasyonlar arasında paylaşılabilir. İskelet örgüler, animasyonu için kullanılan kemik verilerini depolamak üzere bir iskelet kullanan karakterin veya objenin görsel örgüsünü içerir. İskelet örgüler, animasyonları oynatır ve karakterin davranışını gerçek zamanlı olarak kontrol etmek için mantık oluşturur. Daha fazla bilgi için aşağıdaki konulara bakın: |
Animasyon Sekansı | Bu, iskelet örgüde animasyon eklemek için oynatılabilen animasyon verilerini içeren bir animasyon öğesidir. Bu animasyon sekansları, belirli zaman noktalarında iskelet örgüsüne atanan iskeletin konumunu, dönüşünü ve ölçeğini belirten anahtar kareler içerir. İskeletin hareketi, sıralı oynatma sırasında anahtar kareler arasında karışım yaparak karakterin animasyonunu etkinleştirir. Animasyon sekansları belirli iskelet öğelerine bağlıdır ve bu sayede animasyonların aynı iskelet öğesini kullanan tüm iskelet örgüleri arasında paylaşılması sağlanır. Daha fazla bilgi için aşağıdaki konulara bakın: |
Karışım Alanı | Bunlar, birden fazla animasyonun veya pozun tek veya iki boyutlu bir grafiğe çizilerek karışmasını sağlayan öğelerdir. Bu grafik daha sonra, karışımın oyun girdisi veya diğer değişkenler tarafından kontrol edilebildiği bir animasyon Blueprint’i içerisinde referans alınabilir. Karışım alanları ile animasyonlarınızda hemen hemen her türlü karışım düzenlemesini kullanabilirsiniz. Karışım alanları, girdilere dayalı animasyonlar arasında sorunsuz bir biçimde interpolasyon yapmak için görsel bir ızgara kullanan etkileşimli kaydırıcılar veya sürücü anahtarlar olarak düşünülebilir. Bunlar genellikle beklemede kalma/yürüme/koşma döngüsü animasyonları arasında sorunsuz karışım sağlamak için kullanılırken, aynı zamanda hız ve yönü de hesaba katabilirler. Daha fazla bilgi için Karışım Alanları kısmına bakabilirsiniz. |
Control Rig | Bu, karakterleri doğrudan motor içinde donatmanıza ve animasyon oluşturmanıza olanak tanıyan bir animasyon araçları paketidir; bu sayede harici araçlarda donatma ve animasyon oluşturma ihtiyacını ortadan kaldırırsınız. Control Rig ile özel kontroller oluşturup karakterleri bunlarla donatabilir, Sequencer’da animasyon oluşturabilir ve iş akışınıza yardımcı olması için çeşitli başka animasyon araçlarını kullanabilirsiniz. Daha fazla bilgi için Control Rig kısmına bakabilirsiniz. |
Modüler Control Rig’ler | Bu, “modüller” adı verilen önceden oluşturulmuş bir dizi Control Rig öğesinin birleştirilmesiyle oluşturulmuş bir dijital animasyon donatımıdır. Modül; bir kol, bacak veya omurga gibi karakter vücudunun bir bölümünü temsil eden ve otomatik olarak kontrol seti oluşturmak ve vücudun bir bölümünü donatmak için kullanılabilen; böylece vücudun bir bölümünün animasyon verilerini alabildiği Control Rig bileşenidir. Modüller birbirine bağlanarak iskeleti yönlendirmek için eklem hareketlerini kontrol eden eksiksiz bir animasyon donatımı oluşturulabilir. Daha fazla bilgi için Modüler Control Rig’ler kısmına bakabilirsiniz. |
Eğri Editörü | Animasyon uygulanan objelerinizin anahtar karelerini değiştirip ince ayar yapmak için bu editörü kullanın. Eğri editörü grafiği, mevcut anahtar kareleri düzenleyebileceğiniz veya yenilerini oluşturabileceğiniz, tanjantları düzenleyebileceğiniz ve animasyon eğrilerinizi ayarlamak için yerleşik araçlarını kullanabileceğiniz yerdir. Eğri öğeleri, Niagara gibi motordaki diğer editörlerde de kullanılabilir ancak animasyonla çalışmak için Sequencer ile kapsamlı bir şekilde kullanılır. |
Sequencer | Karakterleri, kameraları, özellikleri ve diğer aktörleri zaman içinde animasyonlu hale getirmek için kullanılan bir sinematik editördür. Zaman çizelgesinde parçalar ve anahtar kareler oluşturup değiştirebileceğiniz doğrusal olmayan bir düzenleme ortamına sahiptir. Daha fazla bilgi için aşağıdaki konulara bakın: |
Animasyon Modu | Bölüm Editörü, araziyi şekillendirme ve boyama, geometri modelleme veya animasyon gibi farklı amaçlara hizmet eden farklı modlara ayarlanabilir. Bölüm Editörü’nün animasyon modu, Sequencer kullanarak bölüm aktörlerini ve bileşenlerini doğrudan bölümde animasyonlu hale getirmenize ve tüm bunları WYSIWYG’nin kullanıldığı gerçek zamanlı bir ortamda yapmanıza olanak tanır. Animasyon modu, Control Rig’ler için aşağıdaki araçları içerir:
Daha fazla bilgi için aşağıdaki konulara bakın:
|
Animasyon Blueprint’i | Bunlar simülasyon veya oyun sırasında iskelet örgünün animasyonunu kontrol eden özel blueprint’lerdir. Animasyon grafikleri, animasyonu karıştırabileceğiniz, iskelet kemiklerini kontrol edebileceğiniz veya iskelet örgünün her karede kullanacağı son animasyon pozunu tanımlayan mantığı oluşturabileceğiniz Animasyon Blueprint Editörü içinde düzenlenir. Daha fazla bilgi için aşağıdaki konulara bakın: |
Durum Makinesi | Bunlar, hangi animasyonların oynatılacağını ve bunların oynatılacağı zamanları tanımlamak için animasyon blueprint’leri içinde oluşturabileceğiniz modüler sistemlerdir. Bu tür sistemler, öncelikle karakterlerinizin hareket durumlarını (bekleme, yürüme, koşma ve zıplama gibi) animasyonlarla ilişkilendirmek için kullanılır. Bu sayede, belirli zamanlarda oynatılan animasyonlarla tanımlanan “durumlar” ve diğer animasyon durumlarına ne zaman geçileceğini kontrol etmek için çeşitli geçiş türleri oluşturabilirsiniz. Aşırı karmaşık bir animasyon grafiği kullanmak zorunda kalmadan karmaşık animasyon karışımları oluşturmayı daha basit hale getirir. Daha fazla bilgi için Durum Makineleri kısmına bakabilirsiniz. |
Ek Animasyon Araçları
Unreal Engine, projenizi motor içerisinde tam olarak animasyonlu hale getirecek birçok araç ve sistem içerir. Unreal Engine’da animasyon oluştururken dikkate almanız gereken ek araçlar, sistemler ve diğer hususlar hakkında bazı önemli noktalar aşağıda belirtilmiştir.
Animasyon Yeniden Hedeflemesi
Animasyon Yeniden Hedeflemesi, aynı iskelet öğesini kullanan ancak büyük ölçüde farklı oranlara sahip olabilen birden fazla karakter arasında animasyonların yeniden kullanılmasına olanak tanıyan bir özelliktir. Bu özellik, animasyon öğelerinizi aralarında paylaşabileceğiniz için yeni animasyonlar oluşturma ihtiyacını tamamen ortadan kaldırır.
Animasyonlar için yeniden hedeflemeyi kullanmanın iki yolu vardır:
Yeniden hedeflediğiniz karakterin iskeleti, animasyonların oluşturulduğu aynı iskelet öğesini kullanır.
Yeniden hedeflediğiniz karakterin iskeleti aynı iskelet öğesini kullanmaz. Bunun yerine, iskeletin kemik bilgilerini diğerine aktarmak için bir donatım kullanmalısınız.
Aşağıdaki örnekte aynı iskelet öğesini kullanan üç karakter bulunur fakat hepsinin oranları birbirinden farklıdır. Yeniden hedefleme işleminden önce iskeletler, oranları ne olursa olsun iskelete dönüşerek deforme olurlar. Yeniden hedefleme sonrasında her karakter için karakter oranları korunur.
Daha fazla bilgi için aşağıdaki konulara bakın:
Fizik Tabanlı Animasyon
UE, daha gerçekçi olması için fizik simülasyonları (ragdoll, giysi, dinamik saçlar) kullanır.
Tipik Maya iş akışlarından daha robotik bir işlevsellik olan anahtar kare animasyonlarıyla sorunsuz bir şekilde karışım yapılabilir.
Fizik tabanlı animasyon, bir simülasyonun sonucunu anahtar kare animasyonunuzla karıştırır. Bu sayede, “ragdoll” efekti göstermesi gereken veya saç, giysi ya da zincir gibi anahtar karelenmemiş elemanlar içeren karakterler için özel olarak animasyon yapmaya gerek kalmadan doğal görünümlü bir simülasyon hissi sunar.
Content Examples (İçerik Örnekleri) örnek projesinden fizik tabanlı animasyon örneği.
Fizik tabanlı animasyon, çarpışma ayarı olan diğer yüzeylere tepki vermesini sağlamak amacıyla her karakter için bir fizik öğesi ayarlamanızı gerektirir.
Daha fazla bilgi için aşağıdaki konulara bakın:
Katmanlı Control Rig’ler
Katmanlı Control Rig’ler, karakterleri düzenlemek için verilerin ön işlemeden geçmesini gerektirmeden Control Rig’leri diğer birçok iş akışının üzerine entegre eden bir sistemdir. Verilerin ön işlemeden geçmesi değişiklik yaptıkça yıkıcı bir iş akışının ortaya çıkmasına neden olabilir. Katman Denetleyicileri, Sequencer’da farklı Control Rig’leri karıştırıp katmanlandırmayı mümkün kılar, böylelikle Control Rig’deki geriye doğru çözüm (backwards solve) canlı olarak Sequencer’daki klibe eklenir. Daha önce bir animasyonu düzenlemek için Sequencer’da iskelet örgünüze bir Control Rig atamanız, anahtarları ön işlemeniz ve canlı olarak oynatmanız gerekirdi.
Daha fazla bilgi için Layered Control Rigs - Deep Dive adlı EDC eğitimine bakabilirsiniz. Ayrıca, Fab’den Content Examples (İçerik Örnekleri) projesini indirebilirsiniz. “Animation_ControlRig” bölümünde, katmanlı Control Rig’lere ait keşfedebileceğiniz çok sayıda gösterim ve kullanım örneği bulunur.
Control Rig’de Geriye Doğru Çözüm
Control Rig’ler çözüm yönleri adı verilen birkaç şekilde değerlendirilir. Bunlar, Control Rig grafiğinde oluşturulur ve donatım mantığını birden fazla çözüm yönüne veya çözücüye böler; böylelikle donatım için gelen verileri genişletebilirsiniz. Bu, donatımın paylaşılması, animasyonların kontrollerinize geri ön işlenmesi ve davranış hatalarının ayıklanması gibi iş akışlarının önünü açar.
Geriye Doğru Çözüm özelliğinin birincil kullanım amacı, Unreal Engine içindeki animasyonda daha fazla değişiklik yapabilmek için animasyon sekanslarını Control Rig’inize ön işlemektir. Geriye doğru çözüm, motora içe aktardığınız mevcut animasyonlarda veya hareket yakalama verilerinde iyileştirme düzenlemeleri yapmak ve ardından bu değişiklikleri ön işlemek için de yararlı olabilir.
Daha fazla bilgi için Çözüm Yönleri’nin “Geriye Doğru Çözüm” kısmına bakabilirsiniz.
Animasyon Kiti Eklentisi
Animatör Kiti (Animator Kit), projenize animatör dostu deformatörler ve yardımcı donatımları ekleyen bir eklentidir. Bunlar, Sequencer aracılığıyla herhangi bir Control Rig eklemekle aynıdır.
Bu eklentiyi, ana menüden Düzenle > Eklentiler öğesine gidip “Animatör Kiti” ya da “Animator Kit” şeklinde arayarak etkinleştirebilirsiniz.
Bu eklenti Sequencer’da kullandığınız aşağıdaki Control Rig’leri içerir:
Yardımcı Donatımlar
BlendParent
3Node
ChainSim
SingleCim
SplinePath
Deformatörler
Şekillendirme Deformatörü
Kafes Deformatörü (2x2x2, 3x3x3 ve 4x4x4)
Kamera Alanı Kafesi
Bu eklenti ve deformatörler hakkında daha fazla bilgi için EDC’deki Getting Started with Deformers eğitimine bakabilirsiniz.
Unreal Engine’da Animasyon Ek Notları
Kök Hareketi
Unreal Engine’da karakterler birçok bileşenden oluşur ve hareket genellikle karakterin Movement Components tarafından işlenirken hareketin görsel geribildirimini yansıtan animasyonlar da en üst katmanda oynatılır. Kök hareket animasyonları, bir bölüm içerisinde daha gerçekçi hareketler oluşturmak için karakter hareketlerini animasyon verileriyle yönlendirebilir. Kök hareketine dayanan animasyonlara, karakteri kök pozisyonundan uzaklaştıran, örneğin ileri veya geri zıplama ya da kılıç hareketlerinden oluşan kombinasyonu gibi karmaşık bir eylem gerçekleştirme vs. örnek verilebilir.
Daha fazla bilgi için Kök Hareketi kısmına bakabilirsiniz.
Animasyon Sıkıştırma
Genel animasyon dosyası boyutlarını ve bellek maliyetini düşürmek amacıyla animasyon sekansı öğelerinden elde edilen animasyon verilerini dönüştürme işlemidir. Sıkıştırma işleminde, özellikle farklı özelliklere sahip birden fazla donanım hedefi arasında projeleri ölçeklendirirken, proje performansında bir düşüş yaşanır. Kalitede gözle görülür bir düşüş olabileceğinden çok sayıda hareket içeren animasyonlara kıyasla, minimum hareket içeren animasyonlar daha avantajlıdır. Uyguladığınız sıkıştırma türünü projenizin karşılayabileceği kalite kaybı türüne göre ayarlamanız önemlidir.
Daha fazla bilgi için Animasyon Sıkıştırma kısmına bakabilirsiniz.
Live Link
Maya gibi harici kaynaklardan Unreal Engine’a animasyon verisi akışı ve tüketimi için ortak bir arayüz sağlar. Unreal Engine içerisinde bulunan çalışmanızın önizlemesini gerçek zamanlı olarak görmenizi sağlarken animasyonları harici olarak düzenlemenize de olanak tanır. Hareket yakalama sistemleri ve iş akışları için gerçekten faydalıdır.
Daha fazla bilgi için Live Link kısmına bakabilirsiniz.
Sonraki Sayfa
Maya Kullanıcıları İçin Unreal Engine’da Sinematiklerin ve Sequencer’ın Kullanımı
Maya kullanıcıları için Unreal Engine’in sinematik aracı Sequencer’a genel bir bakış.