Dokümanlar Çıktı

Oyun motorları için iskelet dışa aktarma

Dosya ▸ Dışa Aktar ▸ İskelet (JSON)…, bir kemik rig'ini ve animasyonlarını resim olarak işlemek yerine bir oyun motorunun oynatabileceği veri olarak yazar.

Sprite sayfası her kareyi bir resim olarak saklar. İskelet dışa aktarımı ise rig'in kendisini saklar: kemikleri, onlara asılı görselleri ve kemiklerin zaman içinde nasıl hareket ettiğini. Karakteri motorun kendisi çizer; böylece animasyon küçük kalır ve her boyutta, her kare hızında akıcı oynar.

Dışa aktarmak

  1. Dosya ▸ Dışa Aktar ▸ İskelet (JSON)… öğesini seçersin.
  2. Bir klasör seçersin. Dışa aktarma birkaç dosya yazdığı için dosya adı değil klasör sorar.
  3. Dosyalar hemen yazılır. Seçilecek bir ayar yoktur.

Klasöre skeleton.json, kemiklere bağlı görselleri tutan skeleton.png adlı bir atlas görseli ve her mesh için o mesh katmanının adını taşıyan birer PNG yazılır. Dosya adında kullanılamayan bir karakter varsa değiştirilir; iki mesh aynı adı taşıyorsa ikinci dosyanın adına bir numara eklenir. Adlar sabittir; bu yüzden aynı projeyi yeniden dışa aktardığında aynı dosyaların üzerine yazılır.

Dosyanın içinde ne var

Düzen Spine'ınkine göre kurulmuştur: kemikler, yuvalar, ekler ve animasyonlar. Bu bir Spine dosyası değildir ve hiçbir resmî Spine çalışma zamanı onu okumaz; ama yapısı, motorun için bir içe aktarıcıyı yalnızca bir kez yazman yetecek kadar tanıdıktır.

BölümNe tutar
KemiklerBütün kemik katmanlarının bütün kemikleri, üst kemiklerine göre duruş pozlarıyla birlikte. IK hedefi olan Sabit kemikler dışarıda bırakılır: etkileri zaten sürdükleri kemiklerin içindedir
Mesh ekleriHer mesh katmanı; duruş köşeleri, üçgenleri ve her kemiğin her köşe üzerindeki ağırlığıyla birlikte
Bölge ekleriKatman Bağla ile bir kemiğe sabit olarak bağlanmış katmanlar; kemikten sabit uzaklıklarıyla atlasa yerleştirilir
AnimasyonlarZaman çizelgesindeki her grup işaretçisi için, işaretçinin adını taşıyan bir animasyon. Grup işaretçisi yoksa giriş noktasından çıkış noktasına kadar default adlı tek bir animasyon

Motorun başka türlü yeniden üretmek zorunda kalacağı her şey sade sayılara pişirilir: IK, kemik dinamikleri, kontrol kemikleri ve eylemler sıradan dönüş, öteleme ve ölçek anahtarlarına dönüşür. Bir eylemin bir meshi kemik ağırlıklarının ifade edemeyeceği biçimde değiştirdiği yerlerde o animasyon, bunun yerine meshin köşe konumlarını kare kare saklar; böylece motorun eylemlerin nasıl çalıştığını bilmesi gerekmez.

Henüz neler dahil değil

  • Kendi anahtar kareleriyle hareket eden ve bir kemiğe bağlı olmayan katmanlar. Bunlar sprite sayfası ya da PNG dizisi olarak dışa aktarılabilir.
  • Kemik katmanının içindeki otomatik takip. Yalnızca bağladığın ya da boyadığın ağırlıklar ve Katman Bağla ile bağlanan katmanlar dışa aktarılır; yani rigi yalnızca Esnek ya da Bölge bağlamasıyla izleyen bir katman dışa aktarılan dosyada hareket etmez.
  • Kemiklerinin üstüne ayrıca kendi konumu, dönüşü ya da ölçeği olan bir mesh.
  • Canlı kısıtlama olarak IK, dönüşüm, yol ve fizik kısıtlamaları, olaylar ve kostüm değiştirmek için dış görünüşler.
Yalnızca hareket eden kemiklere öteleme ve ölçek anahtarı verilir. Kemiklerin çoğu yalnızca döner, bu yüzden animasyonları yalnızca dönüş taşır. Dosyayı küçük tutan da budur.