holodepth

3D Model Formatları · FBX · Animasyon Sistemi

Skeletal Animation: İskelet, Ağırlık ve Zamanın Birlikte İşlemesi

«Take var, karakter T-pose'da kaldı» eksik clip değil; çoğu zaman iskelet hareketi ile skin bağının aynı sahnede buluşmamasıdır. Scene Verisi deformer'ı vatandaş olarak gösterdi; bu sayfa: skeletal animasyonun FBX'te nasıl bir araya geldiğini anlatır.

Holodepth'te skeletal animation üç parçanın ürünüdür: joint hiyerarşisinin zaman içinde dönmesi, köşelerin hangi joint'lere hangi ağırlıkla tutunduğu, ve bind/rest uzayının doğru kurulması. Rig Verileri kemik/cluster envanterini, Constraintler yardımcı bağları, Blend Shape iskeletsiz deformasyonu alır. glTF Skinning sözleşmesi Skinning (glTF)'de kalır; burada FBX stüdyo dilindeki birleşik hareket anlatılır.

Sayfayı bitirdiğinizde şu cümleyi kurabilmelisiniz: «Skeletal animasyon = joint eğrileri + skin ağırlıkları + bind uzayı. Yalnızca take veya yalnızca kemik yetmez. Model hiyerarşisi iskeleti, deformer mesh'i eğer. Bake ile canlı skin farklıdır. glTF'e göçte üç parça da taşınmalıdır. Rig detayı sonraki sayfada.»

Bu sayfanın sınırı · komşu konularla ayrım

Bu sayfa FBX'te iskelet tabanlı animasyonun birleşik işleyişini anlatır:

  • Üç parça modeli (joint / weight / bind)
  • Take ile iskeletin buluşması
  • Bake vs canlı skin
  • Sık kırılma noktaları
  • Holodepth teşhis açıları

Bilinçli olarak dışarıda bırakılan konular:

  • Cluster / joint envanter detayı → Rig Verileri
  • IK / parent constraint → Constraintler
  • Morph / blend shape → Blend Shape
  • Objects/Connections genel → Scene Verisi
  • glTF JOINTS/WEIGHTS/IBM → Skinning (glTF)
  • AnimationMixer API → runtime

Kısa ayrım: Skeletal Animation «üç parça nasıl oynar?» · Rig Verileri «kemik/cluster ne taşır?» · Skinning (glTF) «web paketinde nasıl yazılır?»

İpli kukla: üç ip birden

İskelet animasyonu tek düğme değildir. Holodepth üç ip modeli kullanır:

  1. İskelet ipi: joint (kemik) hiyerarşisinin zamanla TRS değişimi
  2. Deri ipi: her köşenin hangi joint'lere ne kadar tutunduğu (weights / clusters)
  3. Bind ipi: «dinlenme» uzayı; joint hareketinin mesh'e doğru yansıması için referans

Bir ip kopuksa kukla ya donar, ya patlar, ya da yanlış yerden eğilir. Take tek başına üçünü örmez.

Joint hareketi: hiyerarşi üzerinde eğriler

FBX'te kemikler çoğu zaman Model hiyerarşisi (veya eşdeğer joint node'lar) olarak durur. AnimationStack içindeki eğriler bu düğümlerin rotation / translation kanallarına yazar. Parent joint döner; çocuk world uzayında sürüklenir. Bu, «iskeletin dansı»dır; henüz mesh yumuşak eğilmemiştir.

Yalnızca joint eğrisi export edilip skin atlanırsa runtime'da kemikler (veya boş locator'lar) oynar, deri T-pose'da kalır. Tersi: skin var, eğri yok → idle bind.

Skin bağı: köşeyi kemiğe tutturmak

Skin / Cluster deformer'ı Geometry'yi joint setine bağlar. Her köşe birkaç joint indeksi ve ağırlık taşır; toplam genelde 1'e normalize edilir. Scene Verisi'ndeki bağlantı olmadan deformer «listede var, etkisiz» kalır.

Rig Verileri cluster sayıları, influence limitleri ve naming'i derinleştirir. Bu sayfada kural sadedir: iskelet animasyonu görünür soft deform istiyorsa skin bağı zorunludur. Rigid parçalı «kol ayrı obje» hack'i skeletal değildir.

Bind / rest: sessiz referans kare

Bind pose, ağırlıkların boyandığı ve inverse bind düşüncesinin dayandığı referanstır. Export sırasında yanlış pose'da bake, eksik bind matrisi veya «current pose as bind» seçenekleri mesh'i joint'ten kaydırır: dirsek doğru döner, deri metrelerce ötede şişer.

Holodepth teşhisi: «patlamış karakter» önce weight paint'i değil bind/export pose tutarlılığını sorar. glTF'deki IBM ile aynı ailede problemdir; paket dili farklıdır.

Take ile buluşma: zaman hangi kemiğe yazar?

AnimationStack (take) eğrileri belirli node/özellik yollarına bağlıdır. İsim değişmiş joint, namespace farkı veya «bake to skeleton» atlanmış export, take'in boşta kalmasına yol açar. Import diyalogunda yanlış take seçmek de aynı semptomu verir.

Skeletal animation ticket'ında sıra: (1) take var mı (2) eğriler hangi joint'lere bağlı (3) skin bağlı mı (4) bind tutarlı mı. Ortadan (FPS) başlamak zaman kaybıdır.

Bake: canlı skin yerine dondurulmuş dans

Bazı pipeline'lar her karede deformeyi Geometry'ye pişirir (veya joint eğrilerini yoğun örnekler). Sonuç «oynuyor gibi» görünür ama yeniden rig edilemez; dosya şişer. Gerçek skeletal paket joint+skin+curves taşır.

OBJ Limitleri'ndeki bake uyarısı ile akrabadır: orada format skin taşımaz; burada format taşır ama export bilerek dondurmuş olabilir. Holodepth: bake'i bilinçli seçin; «FBX = her zaman canlı skin» sanmayın.

glTF skinning ile yüzleşme (köprü)

  • Üç parça (joint / weight / bind) her iki dünyada da gerekir
  • FBX: stüdyo nesne+bağlantı + takes; zengin DCC semantiği
  • glTF: skins[], accessors, animations[] açık paket
  • Web hedefi: çoğu zaman FBX'ten glTF'e göç; üç parça korunmalı

Dönüşümde joint eğrisi gelip skin düşerse T-pose; skin gelip eğri düşerse idle. FBX vs glTF · Karakter Pipeline ürün kıyasını açar; burada göç kuralını sabitler.

Sık kırılma noktaları

  • Export'ta «animation» açık, «deformation / skin» kapalı
  • Scale uygulaması joint zincirini bozdu
  • Namespace / rename sonrası eğri yolları kırık
  • Birden fazla armature; yanlış kök seçildi
  • Constraint'ler bake edilmeden bırakıldı (sonraki sayfa)
  • Leaf kemikler / extra helper'lar consumer'da yok sayıldı

Holodepth perspektifleri

Viewport yalanı

DCC'de constraint + layer + retarget ile mükemmel görünen dans, FBX'e yalnızca kısmi inebilir. «Viewport = dosya» varsaymayın; consumer'da üç ipi doğrulayın.

Yarım export

«Sadece animasyon» preset'i skin'i düşürür. Preset adını okuyun; checklist'e üç ipi yazın.

Teşhis maddeleri

  1. Joint hiyerarşisi dosyada mı?
  2. Skin/cluster Geometry'ye bağlı mı?
  3. Take eğrileri joint kanallarına mı yazıyor?
  4. Bind / rest tutarlı mı?
  5. Bake mi, canlı skin mi?
  6. Import'ta doğru take seçildi mi?
  7. Web için glTF göçünde üç parça korundu mu?

Holodepth içgörüsü

Skeletal ticket'ta önce scrub bar'ı değil üç ip envanterini açın. Kopuk ipi bulmadan retarget veya mixer ayarı rastgele kozmetiktir.

Dans anlaşıldı; sırada rig envanteri

Birleşik skeletal işleyiş sabitlendi. Sonraki sayfa kemik, cluster ve influence verisinin FBX'teki taşıma detayına iner: Rig Verileri.

Format okuyucusu özeti: Skeletal animasyon üç iptir: joint eğrileri, skin ağırlıkları, bind uzayı. Take tek başına yetmez. Bake dondurur; canlı skin taşır. glTF göçünde üçü de korunmalı.