Ana içeriğe geç
Oyun

Bevy oyun motorunda 3B animasyon yapısı incelendi

Öne çıkanlar

  • Bevy'de 3B modeller tek bir varlık yerine hiyerarşik varlık ağacı olarak sahneye ekleniyor.
  • Animasyonları yönetmek için AnimationPlayer bileşeni ile AnimationGraph veri yapısı birlikte kullanılıyor.
  • Oynatıcıyı bulmak için modelin kök varlığından itibaren tüm alt varlıklar taranıyor.

Rust tabanlı Bevy oyun motorunda GLB formatındaki üç boyutlu karakter modellerini oynatmak için gereken temel mimari detaylandırıldı. Geliştiricilerin doğrudan model üzerinden animasyon çağırma beklentisinin aksine, motorun varlık-bileşen-sistem mimarisinde süreç birkaç farklı bileşen ve veri yapısının birlikte çalışmasına dayanıyor. Dosyadan yüklenen modeller tek bir varlık yerine hiyerarşik bir ağaç yapısı oluşturduğu için animasyon denetimi özel mekanizmalar gerektiriyor.

Süreçte öne çıkan iki ana yapı AnimationPlayer bileşeni ve AnimationGraph veri yapısı olarak tanımlanıyor. AnimationPlayer bileşeni model yüklendiğinde hiyerarşi içindeki bir varlığa otomatik olarak atanıyor ve animasyonların oynatılmasını yönetiyor. Çoklu animasyonları saklayıp harmanlayabilen AnimationGraph ise animasyon kliplerini barındırıyor; ilgili klip bir NodeIndex değeriyle hedefleniyor ve bir tutucu bileşen aracılığıyla doğrudan oynatıcı varlığına bağlanıyor.

Resmi Animated Mesh örneği üzerinden aktarılan yöntemde, model sahnesi yüklendikten sonra kök varlığın alt dalları taranarak AnimationPlayer bileşeni barındıran varlık tespit ediliyor. İlgili varlığa AnimationGraphHandle bileşeni eklendikten sonra oynatıcıya hedef indeks verilerek animasyon döngüye alınıyor. Bu yaklaşım, GLB hiyerarşisinin tam detayını bilmeden de animasyonların sorunsuz şekilde tetiklenmesine olanak tanıyor.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.