Oyun karakterleri nasıl canlandırılır? [kapalı]


10

Son yıl projemizde arkadaşlarımla çalışacağım. Oyunumuz FPS olacak ve iyi bir oyun yapmak için kolayca programlanabilen FPS görünümü ve diğer düşman karakterleri için bazı animasyonlar çizmem gerekiyor.

Hareketli karakterlerin nasıl yapıldığını bilmek ister miyim? Bu karakterler için ne tür yazılım ve motorlar kullanılıyor?


Bu bir kopya mı? Öyleyse kapatmak için oy vereceğim, ancak aksi takdirde bu sitenin bu temel soruyu bir kez cevaplaması iyi bir fikir olabilir.
14'te

1
önce bu konuda arama yaptı, sonra bu soruyu sordu :-)
Ahmed

2D veya 3D karakterler mi demek istediniz? İskeleti olan veya şekilsiz lekeler olan karakterler? Bağımsız sonuçlar mı yoksa bir fizik motoruyla entegrasyon mu arıyorsunuz? Bu iyi bir soru olabilir, ancak şu anda tam bir cevap birden fazla kitabı dolduracaktır.
Anko

Yanıtlar:


18

Oyun karakterleri genellikle iskelet animasyonu adı verilen bir teknik kullanılarak canlandırılır : resim açıklamasını buraya girin (Görüntü kaynağı: Valve Software )

Her 3B model görünmez bir kemik yapısına sahiptir (yukarıdaki resimde kırmızı ve yeşil çizgiler). Modelin her çokgeni bir kemiğe bağlanır. Bir hareket sekansı tanımladığınızda, bunu, kemiklerin diğer kemiklerle bağlantıları etrafındaki dönüş sırası olarak tanımlarsınız. Bir kemik hareket ettiğinde, ona bağlı çokgenler onunla birlikte hareket eder. Bu, her bir çokgenin konumunu değiştirmek zorunda kalmadan hareket dizilerini tanımlamaya izin verir. Birden fazla karakter aynı kemik yapısını paylaştığında, aynı animasyonları da paylaşabilirler, bu nedenle her bir animasyon için her animasyonu yeniden oluşturmanız gerekmez (ancak farklı animasyonları, kişilik türlerini ve düzeylerini karakterleri için bazı animasyonları farklı yapmak isteyebilirsiniz) fiziksel uygunluk).

Çoğu 3d modelleme yazılımı iskelet animasyonunu destekler ve yaygın olarak kullanılan 3d motorlar tarafından okunabilen ihracat formatlarına sahiptir. Lütfen konu dışı oldukları için burada ürün önerileri istemeyin.

Ancak, bir sanatçının sıfırdan animasyon oluşturmasına izin vermek her zaman en iyi sonuçlara yol açmaz. İnsan vücudu dilinin tüm ince nüanslarını bellekten yeniden oluşturmak zor, bu nedenle sonuçlar genellikle robotik ve doğal görünmüyor. Bu nedenle, kaynakları olan daha büyük oyun stüdyoları Hareket Yakalama adı verilen bir işlem kullanıyor .

İnsan aktörler, oyun karakterlerinin eylemlerini gerçekleştirmek için işe alınır. Oyuncular, performans sırasında kendilerine son derece görünür işaretler olan özel kıyafetler giyiyorlar. Kanun yürürlüğe koyma sırasında bir video kamera tarafından kaydedildiklerinde, bu işaretlerin hareketi 3B modellerin kemiklerine eşlenebilir. Bu şekilde aktörlerin hareketleri aynı kemik yapısını kullanan herhangi bir 3d modele uygulanabilir. Bu yöntem genellikle çok daha doğal görünümlü sonuçlara yol açar ve oluşturulacak çok sayıda animasyon olduğunda, aynı zamanda çok büyük bir zaman tasarrufu da olabilir. resim açıklamasını buraya girin (Görüntü kaynağı: Toptear Games )

Bununla birlikte, hareket yakalama için gerekli ekipman maliyeti muhtemelen bütçenizi aşacaktır, bu nedenle bir 3B modelleme programında iskelet animasyonlarını manuel olarak tanımlamaya başvurmanız gerekecektir.


1
İyi cevap. Ama belki de , bilgisayar kameralarını (web kameraları, Kinects veya PS Eyes) kullanan düşük maliyetli hareket yakalama tekniklerinin olduğunu söyleyebilirsiniz. Ayrıca, yaygın iskelet ağ kurulumları için yeniden kullanılabilir animasyonlar satan hizmetler de vardır.
TC

1
@TheodorosChatzigiannakis Her iki alanda da çok bilgili değilim. Belki de kendi cevabınızı hazırlamak istersiniz?
Philipp

"bir sanatçının sıfırdan animasyon oluşturmasına izin vermek her zaman en iyi sonuçlara yol açmaz". Hareket yakalamanın doğası gereği manuel animasyondan daha iyi olduğunu iddia etmek, fotoğrafın kendiliğinden tuval resminden daha iyi olduğunu iddia etmek gibidir. Hem manuel animasyon hem de mo-cap, farklı amaçlar için kullanılan farklı sanatsal tekniklerdir ve her teknikte yetkin sanatçılar mükemmel sonuçlar verecektir. Eğer hareket sanatçılarınız iyi manuel animasyon yapamazlarsa, belki de daha iyi sanatçılar edinmelisiniz ...
Panda Pyjama

2
Bir grup üst düzey 3D animatörle çalıştım ve çoğu, yaptıkları animasyonlardaki ifadeler üzerinde çok daha fazla kontrole sahip olduklarından ve ne yaptıkları üzerinde çok daha fazla özgürlüğe sahip olduklarından, mo-cap kullanarak elle canlandırmayı tercih ediyorlar. karakterler bir insan vücudunun yapabileceklerine kıyasla yapabilir. Bununla birlikte, belirli bir insan hareketini çoğaltmak kritik olduğunda (örneğin, gerçek oyunculara sahip AAA spor oyunları ile), mo-cap oldukça gereklidir.
Panda Pijama

Yazılım önerilerinin StackExchange yazılım önerilerinde sorulabileceğini ekleyebilirsiniz.
Ramchandra Apte

3

Aslında, Philipp'in cevabı oldukça iyi, ancak önemli bir noktayı kaçırıyor.

Bazı oyunlar (Quake / Q2 en dikkat çekici örnekler) hiç iskelet animasyonu kullanmadı - bunun yerine köşe animasyonuna başvurdular (ör. Ağdaki köşelerin konumunu canlandırma). Büyük projeler için bu genellikle doğru tutmayın rağmen, aslında kod desteğine çok basittir (ama yine de birçok oyun vardı bu şekilde yapılmış *.

Ayrıntılar için bkz.

https://en.wikipedia.org/wiki/MD2_(file_format)

Ayrıca, eski günlerde Flash, 3D Studio ve 3DSmax'ta animasyonları tanımlamanın varsayılan yolu buydu (onlar için iskelet animasyonlarının uygulanmasından sonra bu şekilde durdu). Basit oyunlar için, köşe çerçeveye dayalı interpolasyon (kod açısından daha hala en kolay olduğunu düşünüyorum ve başlamak için bir yol modelleme çalışmasına).


Gerçekten de, ancak çoğu motor (bunun genel bir soru olduğunu anlıyorum) iskelet animasyonunu yerel olarak destekliyor ve en azından bence, iskeleti doğru bir şekilde kurduktan sonra yapmak daha basit
Kroltan

1
Bu tarihi bir not kadar ya da çok fazla değil. Oyunlar bunu yapardı, ama artık yapmıyorlar. Tarihsel notlar ürettiğimiz sürece, oyun motorları köşe animasyonunu desteklemeden önce hiyerarşi animasyonu yaptılar (düşünüyorum N64 / PS1)
ürettiğimiz PS1'i düşünün

Ayrıca bunu "anahtar kare tabanlı" olarak tanımlamak çok yanıltıcıdır çünkü iskelet animasyonu da anahtar kareleri kullanıyor. Bunu "köşe animasyonu" olarak düzenleyeceğim.
jhocking

@jhocking / katılıyorum, esp. hiyerarşi animasyonu ile; ve evet, köşe animasyonu aslında buradaki terimdir. Ve evet, yeni oyunlar artık bunu yapmıyor.

@Kroltan Dediğim gibi, fiili iskelet animasyon motoru olmadan basit oyunlara o olabilir en iyi seçenek. Birkaç yıl önce OpenGL'deki fizik projem için hem köşe animasyonunu hem de iskelet animasyonunu elle kodladım - ve inan bana, yaklaşık bir saat içinde köşe animasyonlarını kodlayabildim, iskeletler ise birkaç gün sürdü. Eğer özel bir motor (örneğin Ogre) kullanıyorsanız, iskeletler gitmenin en açık yoludur.

1

Philipp'in cevabı doğrudur, ancak bir dizi web kamerası, Microsoft Kinect sensörleri veya Sony PS Eyes gibi evde yaygın olarak kullanılan sensörleri kullanan (nispeten) düşük maliyetli işaretsiz hareket yakalama çözümleri olduğunu eklemeye değer . Genellikle üretim kalitesinde animasyonlar çıkarmazlar (çoğu durumda vasat bir hassasiyet ve titreme bekleyebilirsiniz), ancak zamanlama hakkına sahip olacaksınız ve biraz temizlik ve ince ayar yapmaya istekli olursanız, iskeleti (veya doğrudan ağı) manuel olarak canlandırmaya kıyasla size çok zaman kazandırır.

Ayrıca, genel iskelet ağları için hazır animasyonlar satan bir hizmet olan Mixamo var . Doğru hatırlıyorsam, değerlendirme amacıyla ücretsiz olarak bir miktar animasyon veriyorlar.


1
Buradaki bir Üniversite MOCAP Laboratuvarı'nın tüm pahalı (birkaç yaşında) ekipmanlarını, daha iyi sonuçlar veren markersiz kinect tabanlı bir çözümle değiştirdiğini eklemek isterim. Tabii ki markerless üst gözyaşı donanımı ile rekabet edemez. Ama bir Kinect bu tür şeyler için oldukça iyi (özellikle fiyatı dikkate alırsak).
Roy T.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.