holodepth

3D Model Formatları · FBX · Animasyon Sistemi

Blend Shape: Şekil Kanalları ve Kil Maskesi

«Yüz DCC'de konuşuyor, FBX'te donuk» çoğu zaman eksik iskelet değil; şekil kanallarının take'e veya Geometry'ye hiç inmemesidir. Constraintler yardımcı bağları kapattı; bu sayfa: iskeletsiz şekil animasyonunun FBX dilini anlatır.

Holodepth'te blend shape, mesh'in taban pozu üzerine eklenen isimli şekil kanallarıdır: her kanal bir hedef geometri (veya delta) taşır; ağırlık 0–1 (veya üstü) arasında o hedefi tabana karıştırır. Skeletal Animation kemik–deri üç ipini, Rig Verileri kadroyu, Constraintler makarayı anlatır. Burada kemik dönmeden yüz, kas, kumaş buruşması gibi yüzeylerin «kanal üzerinden» oynatılması işlenir.

Sayfayı bitirdiğinizde şu cümleyi kurabilmelisiniz: «Blend shape isimli şekil kanallarıdır; skeletal değildir. Topoloji ve köşe sırası kilitlidir. Take ağırlık eğrilerini yazar. Corrective kanallar stüdyo pratiğidir. Skin ile birlikte yaşar ama ayrı envanterdir. Web'e giderken glTF morph paketlemesine çevrilir; FBX kanal sözlüğü burada kalır.»

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

Bu sayfa FBX bağlamında blend shape / shape channel rolünü anlatır:

  • Şekil kanalı nedir (iskelet değildir)
  • Topoloji kilidi ve isim disiplini
  • Ağırlık eğrileri ve take buluşması
  • Corrective / birlikte yaşam (skin)
  • Export kayıpları ve Holodepth teşhis

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

Kısa ayrım: Blend Shape «FBX şekil kanalı» · Morph Targets (glTF) «web delta paketi» · Skeletal Animation «kemik–deri dansı»

Kil maskesi: kanal, kemik değil

Skeletal üç ip kuklanın bedenini eğer. Blend shape ise yüzeye oturan bir kil maskesi gibidir: aynı köşe sayısında alternatif bir ifade (gülümseme, kaş çatma, nefes şişmesi) saklanır; kaydırıcı o maskeyi tabana karıştırır. Makara (constraint) hedefi sürükler; kil maskesi hedefi şekil olarak taşır.

Kemik dönmeden yüzey değişiyorsa önce şekil kanalını arayın; joint eğrisini değil.

Stüdyo dilinde «blend shape», «morph», «shape key», «deformer channel» aynı aileye işaret eder. Holodepth FBX sayfalarında bilinçli tercihimiz şekil kanalıdır: isim + ağırlık + hedef geometri üçlüsü.

Üç dünya: shape, skin, constraint

  • Shape kanalı: köşe konumlarını hedefe doğru karıştırır; joint dönmez
  • Skin: köşeyi joint'lere ağırlıkla tutturur; bind uzayı ister
  • Constraint: transform kuralı üretir; çoğu zaman bake ister

Ticket'ta «yüz oynamıyor» demeden hangi dünyanın koptuğunu ayırın. Skin varken shape kanalları düşmüş olabilir; shape varken take yalnızca joint yazıyor olabilir; constraint bake yüzü değil bacağı ilgilendirir. Karışık semptom en sık yanlış dünyayı onarmaya götürür.

Kanal envanteri: isim, hedef, ağırlık

Her blend shape birim üç kayıt ister:

  1. İsim: consumer ve animatörün aynı kaydırıcıyı bulduğu etiket (Smile_L, Blink_R, JawOpen)
  2. Hedef: tabanla aynı topolojiye sahip şekil (veya delta temsili)
  3. Ağırlık: o anki karışım skaları; statik veya eğri

Rig Verileri joint/cluster kadrosunu tutar; burada kadro şekil kanallarıdır. İsim kaybolursa eğri «orphaned» kalır: take var, yüz donuk. Holodepth denetimi: export sonrası kanal listesini DCC isimleriyle yan yana koyun; sayı ve sıra kadar etiket eşleşmesi de kritiktir.

Scene Verisi'ndeki deformer vatandaşlığı burada somutlaşır: Geometry'ye bağlı shape deformer yoksa kanal «sahne sohbetinde» yoktur; yalnızca DCC history'de kalmış olabilir.

Topoloji kilidi: aynı iskelet, farklı ifade

Blend shape ailesinin sessiz sözleşmesi: taban ve her hedef aynı köşe sayısı ve aynı köşe sırası taşır. Sıra kayarsa gülümseme yanağa değil omza yapışır; consumer «kanal çalışıyor» sanır, görüntü patlar.

Export öncesi topo değişikliği (retopo, decimate, UV unwrap sırasında split) kilidi kırar. Holodepth kuralı: şekil kanalları kilitlendikten sonra topo'ya dokunulmaz; dokunulacaksa tüm hedefler yeniden türetilir. «Yalnızca tabanı optimize ettik» cümlesi blend shape hattında felakettir.

Normal / teğet taşıma da aileye girer: yalnızca POSITION karışıp normal sabit kalırsa ışık yüzer. Stüdyo bazı hedeflerde normal'i de kanalize eder; consumer desteklemezse yumuşak gölge bozulur. Bu, glTF delta semantiğinin FBX tarafındaki pratik eşidir; paket şeması Morph Targets sayfasında kalır.

Corrective ve ara kanallar

İleri stüdyo pratiği yalnızca «gülümseme / üzgün» ikilisiyle yetinmez. Omuz 90° kalktığında koltuk altı çökerse corrective kanal devreye girer: bir pose aralığında ek şekil, skin'in bıraktığı hatayı telafi eder. In-between'ler iki uç hedef arasında yumuşak geçiş için ara maskelerdir.

FBX yolunda bunlar «ekstra isimli kanallar» olarak görünür. Consumer corrective mantığını (hangi joint açısında hangi ağırlık) otomatik bilmez; çoğu zaman ya bake edilmiş birleşik şekil ya da runtime'da sizin yazdığınız sürücü gerekir. Holodepth ayrımı: kanal var ile sürücü mantığı taşındı aynı şey değildir.

Constraint bake'i joint eğrisine yazar; corrective bake bazen shape ağırlığına, bazen doğrudan köşe animasyonuna iner. Hedef platformu bilmeden «her şeyi bake et» demek kanal envanterini şişirir veya yok eder.

Take üzerinde ağırlık eğrileri

AnimationStack (take) yalnızca joint TRS yazmaz; shape kanal ağırlıklarına da eğri bağlar. Konuşma animasyonu çoğu zaman bu kanalların zaman içinde 0↔1 dansıdır. Take var, joint oynuyor, yüz donuksa klasik kopukluk: eğriler yanlış node yoluna veya düşmüş kanal adına bağlıdır.

Holodepth teşhis sırası yüz ticket'ında:

  1. Geometry üzerinde shape deformer / kanal listesi var mı?
  2. İsimler DCC ile birebir mi?
  3. Take hangi özellik yollarına yazıyor?
  4. Ağırlık eğrisi scrub'da değişiyor mu (viewer'da)?

FPS veya clip uzunluğu en sonda gelir. Skeletal sayfadaki «take ile buluşma» burada kanal adı ile buluşmaya dönüşür.

Skin ile birlikte yaşam

Karakter yüzünde sıkça hem skin hem blend shape vardır: çene joint açılır, dudak shape ince ayar yapar. Deform sırası (önce skin sonra shape, veya tersi) DCC ve consumer'a göre değişir; sıranın kayması «çift şişme» veya «şekil kemikten önce uygulandı, sonra ezildi» semptomları üretir.

Export checklist'inde iki envanter ayrı tutulur: joint/cluster kadrosu (Rig Verileri) ve şekil kanal kadrosu (bu sayfa). Birini «sadeleştirmek» için diğerini silmek yüzü veya bedeni öldürür. Holodepth: karakter paketinde iki kadro da imzalanır; tek «animasyon var» kutusu yetmez.

Export kayıp türleri

  • Kanal düşmesi: preset «deformation» veya morph kapalı; dosyada yalnızca bind mesh
  • İsim kırılması: namespace / sanitize; eğri eşleşmez
  • Mutlak vs göreli karışıklık: hedef absolute poz sanılıp delta gibi uygulanır (veya tersi); yüz şişer
  • Normal eksikliği: pozisyon karışır, ışık yüzer
  • Take'siz statik: kanallar 0'da donuk export
  • Aşırı kanal: yüzlerce shape; motor/bütçe keser, sessiz truncate
  • Topo sonrası unutkanlık: taban yenilendi, hedefler eski

Autodesk ailesi içi köprüde bazı özel shape düğümleri daha zengin kalabilir; oyun motoru ve genel loader sade kanal listesi bekler. Autodesk Kökeni'ndeki stüdyo lehçesi burada da geçerlidir: lehçe zengin, consumer sade.

Web köprüsü: kanal pakete iner

Web hedefine giden yolda FBX şekil kanalları çoğu zaman glTF morph hedeflerine çevrilir: delta attribute setleri + weights örnekleri. Dönüştürücü kanal isimlerini extras'a yazabilir veya sıraya indirger; isim kaybı runtime'da «index 3» ile çalışmaya zorlar.

Holodepth ayrımı net kalsın: bu sayfa FBX stüdyo kanal sözlüğünü öğretir; Morph Targets (glTF) paket sözleşmesini (targets[], weights yolu) öğretir. «Tarayıcıda morph çalışmıyor» ticket'ında önce hangi tarafta olduğunuzu seçin: kaynak FBX kanal mı, yoksa glTF delta mı?

Sık kırılma senaryoları

  • DCC'de shape key var; FBX export morph kutusu kapalı
  • Take joint'e yazıyor; shape ağırlık eğrisi hiç seçilmedi
  • Retopo sonrası eski hedeflerle export; patlak yüz
  • Corrective sürücü DCC'de kaldı; kanal 0'da donuk geldi
  • Skin+shape sırası consumer'da ters; yanak çift şişti
  • Kanal sayısı motor tavanını aştı; sessizce ilk N kaldı
  • glTF dönüşümünde isimler extras'sız index'e indi; mixer yanlış kanalı sürdü

Holodepth perspektifleri

İki kadro imzası

Karakter tesliminde joint kadrosu ve shape kanal kadrosu ayrı checklist'tir. «Animasyon var» tek kutusu yüz kayıplarını gizler.

İsim sözleşmesi

Pipeline başında kanal sözlüğü (ad, anlam, beklenen aralık) yazılır. Sanitize kuralları (boşluk→alt çizgi, ASCII) sözlüğe işlenir; sonradan şaşırmamak için.

DCC'siz scrub

Export sonrası bağımsız viewer'da yalnızca shape ağırlıklarını oynatın: joint'leri dondurun. Yüz hareketi geliyorsa kanal taşınmıştır; gelmiyorsa take/joint dünyasına bakmayı bırakın.

Teşhis maddeleri

  1. Shape deformer Geometry'ye bağlı mı?
  2. Kanal sayısı ve isimler DCC ile örtüşüyor mu?
  3. Topoloji kilidi (köşe sayısı/sıra) bozulmuş mu?
  4. Take ağırlık eğrisi doğru yola mı yazıyor?
  5. Skin ile deform sırası beklenen mi?
  6. Web hedefinde morph paketi mi, yoksa hâlâ FBX teşhisi mi?

Holodepth içgörüsü

«Yüz bozuk» ticket'ında önce weight paint'i değil şekil kanal envanterini ve take yollarını sorun. Kil maskesi dosyaya inmediyse kukla iplerini germek yüzü konuşturmaz.

Kanallar net; sırada DCC Pipeline

Animasyon Sistemi grubunda iskelet dansı, kadro, makara ve şekil kanalları tamamlandı. Sonraki grup stüdyo araçlarından FBX'e giden pratik yolları açar: DCC Pipeline (Maya → FBX ile başlar).

Format okuyucusu özeti: Blend shape isimli şekil kanallarıdır; skeletal ve constraint değildir. Topoloji kilitlidir. Take ağırlık yazar. Corrective sürücü ayrıdır. Skin ile iki kadro imzalanır. Web'de glTF morph paketine iner; sözlük burada kalır.