Etkili iskelet animasyonu


11

Bir RTS oyunu için iskelet animasyon formatını ( burada istendiği gibi ) benimsemeye bakıyorum . Ekranda her modelin bireysel temsili küçük olacak, ancak çok sayıda olacak!

İskelet animasyonunda, örneğin MD5 dosyaları, her bir köşe isteğe bağlı sayıda birleşme yerine eklenebilir.

GLSL'de enterpolasyon yaparken bunu nasıl verimli bir şekilde destekleyebilirsiniz? Yoksa motorlar animasyonlarını CPU üzerinde mi yapıyor?

Veya motorlar, köşe başına maksimum eklemler üzerinde keyfi sınırlar belirler mi ve maksimum sayı kullanmayan eklemler için nop çarpanlarını çağırır mı?

RTS benzeri bir ortamda iskelet animasyonu kullanan oyunlar var, böylece entegre grafik kartlarında kemik rotasına girerken endişelenecek bir şeyim yok mu?


+1, Bu iyi bir soru. Animasyonun gölgelendirme dilinde mi yoksa CPU'da mı yapılmasını her zaman merak ettim ...
James

EA'nın SAGE motorunu kullanan RTS Oyunları (C&C 3 ve üstü, BFME serisi) iskelet animasyonu kullanıyor, ancak köşeler sadece bir kemiğe bağlı (en azından BFME'de)
Bart van Heukelom

Yanıtlar:


6

Kemik etkilerinin sayısını sınırlamak yaygındır, evet. 0 ağırlıklı kullanılmayan etkiler veya atlamak için bir döngü / erken çıkış mekanizmanız olabilir.

Bir RTS için çalışıp çalışmadığına gelince, sizin için bir referansım yok, ancak ekranda çok sayıda karakterle çalışıyorsanız ve ayrıca bu karakterler küçükse LOD'a ihtiyacınız olacağını hayal ediyorum.

LODing iskelet karakterleri, başka bir şey LODing ile aynıdır, ancak muhtemelen kemik etkilerini ve iskeleti ve kafesin LOD'unu yapmak isteyeceksiniz.

Örneğin, düşük bir ish düzeyi, yalnızca tepe noktası başına en yüksek etkiye sahip tek bir kemik kullanabilir ("sert kabuklanma" olarak da bilinir).

Muhtemelen düşük LOD modeli için iskeletteki kemik sayısını da sınırlarsınız.

Nihayet - Eğer olmadığını düşünün şimdiye yakın çekim karakterleri işlemek gerekir. Muhtemelen yalnızca en yakın görüş mesafesi için karakterleri modellemek, kaplamak ve canlandırmak istersiniz ... kesinlikle tüm çalışma zamanı verilerini hiç oluşturmayacağınızdan çok daha yüksek bir çözünürlükte depolamak istemezsiniz. Durumunuz için çok temel bir iskelet ve köşe başına birkaç etkiye ihtiyacınız olmadığını görebilirsiniz.


Ya da bir şey; birisi "o modeller yerine özelliği bağlantı verilmesi ile MD3 düşünün.END_PARAGRAPH adet küçük ise gerçekten bir RTS içinde kuleleri için kemikleri istemiyoruz" diyebilirsiniz umuyordum
Will

Bu tür bir durumda bu tür ağlar için kaplama kullanmam, ancak "kemikler" hiyerarşik dönüşümler için sadece süslü bir isim. Köşeleri ağırlıklandırmaktan ziyade, sadece onlara kafes takmaktan alıkoyan hiçbir şey yok. (başka bir deyişle, bir taret için sadece iki kemiğiniz ve iki ağınız olabilir ve hiçbir şekilde cilt / ağırlık yoktur).
JasonD

2

İskelet animasyonunun bir RTS oyunu için iyi olduğunu düşünmüyorum, iskelet animasyonu tüm karakterler için ekstra işlem gerektirirken, anahtar kare animasyonu daha fazla bellek tüketiyor, ancak aynı şeyi birçok karakter için kullanacaksınız, ayrıca bir rts oyunu karakter başına küçük animasyonlar gerektiriyor

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.