Eklentiyi özel karakterlerle kullanma
Bu kılavuz, Runtime MetaHuman Lip Sync'i MetaHuman olmayan karakterler için kurma sürecinde size rehberlik eder. Bu süreç, animasyon kavramları ve rigging konularına aşinalık gerektirir. Belirli karakteriniz için bunu uygulamada yardıma ihtiyacınız varsa, [email protected] adresinden profesyonel destek alabilirsiniz.
Dudak senkronizasyonu modelleri hakkında önemli not
Özel karakterler yalnızca Standart (Daha Hızlı) model ile desteklenir.
Gerçekçi (Daha Yüksek Kalite) model yalnızca MetaHuman karakterleri için tasarlanmıştır ve özel karakterlerle kullanılamaz. Bu kılavuz boyunca, ana kurulum kılavuzundan bahsedildiğinde Standart model talimatlarını takip etmelisiniz.
Gerekli Eklenti Eklentisi: Standart Modeli özel karakterlerle kullanmak için, ana kurulum kılavuzunun Önkoşullar bölümünde açıklandığı gibi Standart Lip Sync Extension eklentisini kurmalısınız.
Bu uzantı, bu kılavuzda açıklanan tüm özel karakter uygulamaları için gereklidir.
Önkoşullar
Başlamadan önce, karakterinizin bu gereksinimleri karşıladığından emin olun:
- Geçerli bir iskelete sahip olmalı
- Yüz ifadeleri için morf hedefleri (blend shapes) içermeli
- Tercihen 10+ vizem tanımlayan morf hedefine sahip olmalı (daha fazla vizem = daha iyi dudak senkronizasyonu kalitesi)
Eklenti, karakterinizin morf hedeflerini aşağıdaki standart vizemlere eşlemenizi gerektirir:
Sil -> Silence
PP -> Bilabial plosives (p, b, m)
FF -> Labiodental fricatives (f, v)
TH -> Dental fricatives (th)
DD -> Alveolar plosives (t, d)
KK -> Velar plosives (k, g)
CH -> Postalveolar affricates (ch, j)
SS -> Sibilants (s, z)
NN -> Nasal (n)
RR -> Approximant (r)
AA -> Open vowel (aa)
E -> Mid vowel (e)
IH -> Close front vowel (ih)
OH -> Close-mid back vowel (oh)
OU -> Close back vowel (ou)
Not: Karakterinizin farklı bir visem setine sahip olması durumunda (ki bu muhtemeldir), her bir visem için tam eşleşmelere ihtiyacınız yoktur. Yaklaşık eşlemeler genellikle yeterlidir - örneğin, karakterinizin SH
visemini eklentinin CH
visemine eşlemek, bunlar yakından ilişkili postalveolar sesler olduğu için etkili bir şekilde çalışacaktır.
Visem eşleme referansı
İşte yaygın visem sistemleri ile eklentinin gerektirdiği visemler arasındaki eşlemeler:
- Apple ARKit
- FACS-Based Systems
- Preston Blair Sistemi
- 3ds Max Fonem Sistemi
- Özel Karakterler (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe)
ARKit, yüz animasyonu için kapsamlı bir blendshape seti sağlar ve bu set birkaç ağız şeklini içerir. Bunları RuntimeMetaHumanLipSync visemlerine nasıl eşleyeceğiniz aşağıda açıklanmıştır:
RuntimeMetaHumanLipSync Viseme | ARKit Eşdeğeri | Notlar |
---|---|---|
Sil | mouthClose | Nötr/dinlenme pozisyonu |
PP | mouthPressLeft + mouthPressRight | İki dudaklı sesler için her iki press şeklini birlikte kullanın |
FF | lowerLipBiteLeft + lowerLipBiteRight (veya mouthRollLower) | Alt dudak üst dişlere değer, "f" ve "v" seslerinde olduğu gibi |
TH | tongueOut | ARKit doğrudan dil kontrolüne sahiptir |
DD | jawOpen (hafif) + tongueUp (dil rig'iniz varsa) | Dil alveolar çıkıntıya değer; hafif çene düşüşü |
KK | mouthLeft veya mouthRight (hafif) | Hafif ağız köşesi çekmesi, velar sesleri yaklaşık olarak temsil eder |
CH | jawOpen (hafif) + mouthFunnel (hafif) | Postalveolar sesler için birleştirin |
SS | mouthFrown | Sibilantlar için hafif bir kaş çatma kullanın |
NN | jawOpen (çok hafif) + mouthClose | Neredeyse kapalı ağız ile hafif çene açıklığı |
RR | mouthPucker (hafif) | R-sesleri için hafif yuvarlama |
AA | jawOpen + mouthStretchLeft + mouthStretchRight (veya jawOpen + mouthOpen) | "Ah" sesi için geniş açık ağız |
E | jawOpen (hafif) + mouthSmile | Orta açık pozisyon ile hafif gülümseme |
IH | mouthSmile (hafif) | Dudakların hafif yayılması |
OH | mouthFunnel | Yuvarlak açık şekil |
OU | mouthPucker | Sıkıca yuvarlak dudaklar |
FACS (Facial Action Coding System), yüz hareketlerini tanımlamak için Eylem Birimlerini (AUs) kullanır. Birçok profesyonel animasyon sistemi FACS tabanlı yaklaşımlar kullanır:
RuntimeMetaHumanLipSync Viseme | FACS Eylem Birimleri | Notlar |
---|---|---|
Sil | Nötr | Aktif AU yok |
PP | AU23 + AU24 | Dudak bastırıcı + dudak sıkılaştırıcı |
FF | AU22 + AU28 | Dudak hunisi + dudak emme |
TH | AU25 (hafif) + AU27 | Dudaklar ayrık + ağız germe |
DD | AU25 + AU16 | Dudaklar ayrık + alt dudak bastırıcı |
KK | AU26 + AU14 | Çene düşürme + gamze yapıcı |
CH | AU18 + AU25 | Dudak büzme + dudaklar ayrık |
SS | AU20 | Dudak germe |
NN | AU25 (çok hafif) | Hafif dudaklar ayrık |
RR | AU18 (hafif) | Hafif dudak büzme |
AA | AU27 + AU26 | Ağız germe + çene düşürme |
E | AU25 + AU12 | Dudaklar ayrık + dudak köşesi çekici |
IH | AU12 + AU25 (hafif) | Dudak köşesi çekici + hafif dudaklar ayrık |
OH | AU27 (hafif) + AU18 | Hafif ağız germe + dudak büzme |
OU | AU18 + AU26 (hafif) | Dudak büzme + hafif çene düşürme |
Preston Blair sistemi, ağız şekilleri için tanımlayıcı isimler kullanan klasik bir animasyon standardıdır:
RuntimeMetaHumanLipSync Viseme | Preston Blair | Notlar |
---|---|---|
Sil | Rest | Nötr kapalı ağız pozisyonu |
PP | MBP | Klasik "MBP" ağız şekli |
FF | FV | Alt dudakta dişlerin olduğu "FV" pozisyonu |
TH | TH | Dilin ön dişlere değdiği pozisyon |
DD | D/T/N | Bu ünsüzler için benzer pozisyon |
KK | CKG | Sert ünsüz pozisyonu |
CH | CH/J/SH | Bu sesler için hafif pozu |
SS | S/Z | Hafif açık diş pozisyonu |
NN | N/NG/L | D/T'ye benzer ancak farklı dil pozisyonu |
RR | R | R sesi için yuvarlak dudaklar |
AA | AI | Geniş açık ağız |
E | EH | Orta açıklıkta ağız |
IH | EE | Yayılmış dudaklar |
OH | OH | Yuvarlak orta açıklık |
OU | OO | Sıkıca yuvarlak dudaklar |
3ds Max, karakter stüdyosu için fonem tabanlı bir sistem kullanır:
RuntimeMetaHumanLipSync Viseme | 3ds Max Fonemi | Notlar |
---|---|---|
Sil | rest | Varsayılan ağız pozisyonu |
PP | p_b_m | Doğrudan eşdeğer |
FF | f_v | Doğrudan eşdeğer |
TH | th | Doğrudan eşdeğer |
DD | t_d | Doğrudan eşdeğer |
KK | k_g | Doğrudan eşdeğer |
CH | sh_zh_ch | Birleşik şekil |
SS | s_z | Doğrudan eşdeğer |
NN | n_l | Bu sesler için birleştirilmiş |
RR | r | Doğrudan eşdeğer |
AA | ah | Açık ünlü sesi |
E | eh | Orta ünlü |
IH | ee | Kapalı ön ünlü |
OH | oh | Arkadan yuvarlak ünlü |
OU | oo | Kapalı arka ünlü |
Viseme veya ağız blend shape'leri/morph target'ları olan özel karakterler (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, vb.) genellikle eklentinin viseme sistemine makul yaklaşıklıklarla eşlenebilir.
Özel bir Pose Asset oluşturma
Blend Runtime MetaHuman Lip Sync
düğümü ile kullanılacak karakteriniz için özel bir pose asset oluşturmak üzere şu adımları izleyin:
1. Karakterinizin Skeletal Mesh'ini bulun
Lip sync animasyonu için kullanmak istediğiniz morph target'ları (blend shape'ler) içeren skeletal mesh'i bulun. Bu, karakter tasarımınıza bağlı olarak tam vücutlu bir mesh veya sadece bir yüz mesh'i olabilir.
2. Morph Target'ları ve Eğrileri Doğrulayın
İlerlemeden önce, skeletal mesh'inizin lip sync animasyonu için uygun morph target'lara ve karşılık gelen eğrilere sahip olduğunu kontrol edin.
Morph Target'ları Kontrol Edin:
Skeletal mesh'inizin lip sync animasyonu için viseme olarak kullanılabilecek morph target'lar (blend shape'ler) içerdiğini doğrulayın. Yüz animasyonu desteği olan çoğu karakterin bazı fonem/viseme morph target'ları olmalıdır.
Önemli: Curves Sekmesini Doğrulayın Bu adım, özellikle Blender veya diğer harici yazılımlardan dışa aktarılan karakterler için çok önemlidir:
- Skeletal Mesh düzenleyicide Curves sekmesini açın
- Morf hedeflerinize karşılık gelen eğrileri görüp görmediğinizi kontrol edin
- Curves sekmesi boşsa ancak morf hedefleri mevcutsa, morf hedeflerinizle tamamen aynı isimleri kullanarak yeni eğrileri manuel olarak ekleyin
Not: Bu sorun genellikle, morf hedefleri başarıyla içe aktarıldığı ancak animasyon eğrilerinin otomatik olarak oluşturulmadığı Blender dışa aktarımlarında meydana gelir. Eşleşen eğriler olmadan, Control Rig'e pişirdikten sonra animasyon düzgün şekilde doldurulmaz.
Alternatif Çözüm: Bu sorunu Blender'dan dışa aktarım sırasında önlemek için, FBX dışa aktarma ayarlarınızda Custom Properties ve Animation seçeneklerini etkinleştirmeyi deneyin; bu, morf hedeflerinin yanı sıra animasyon eğrilerini de dahil etmeye yardımcı olabilir.
3. Bir Referans Pose Animasyonu Oluşturun
Create Asset -> Create Animation -> Reference Pose
yolunu izleyin- Animasyon dizisi için açıklayıcı bir isim girin ve uygun bir konuma kaydedin
- Oluşturulan Animation Sequence otomatik olarak açılacak ve döngü halinde oynayan boş bir animasyon gösterecektir
- Daha kolay düzenleme için animasyon oynatımını durdurmak üzere
Pause
butonuna tıklayın
4. Animation Sequence'ı Düzenleyin
Edit in Sequencer
->Edit with FK Control Rig
seçeneğine tıklayınBake to Control Rig
iletişim kutusunda, herhangi bir ayarı değiştirmedenBake to Control Rig
butonuna tıklayın
- Düzenleyici,
Sequencer
sekmesi açık olarakAnimation Mode
'a geçecektir View Range End Time
değerini 0016 olarak ayarlayın (bu,Working Range End
değerini de otomatik olarak 0016 olarak ayarlayacaktır)- Kaydırıcının sağ kenarını sequencer penceresinin sağ ucuna sürükleyin
5. Animasyon Eğrilerini Hazırlayın
- Animasyon Sekansı varlığına geri dönün ve
Eğriler
listesindeki morf hedeflerini bulun (görünmüyorlarsa, Animasyon Sekansı varlığını kapatıp yeniden açın) - Dudak senkronizasyonu için kullanmak istediğiniz visemler veya ağız hareketleriyle ilgili olmayan tüm morf hedeflerini kaldırın
6. Visem eşlemenizi planlayın
Karakterinizin visemlerini eklentinin gerektirdiği sete eşleştirmek için bir eşleme planı oluşturun. Örneğin:
Sil -> Sil
PP -> FV
FF -> FV
TH -> TH
DD -> TD
KK -> KG
CH -> CH
SS -> SZ
NN -> NL
RR -> RR
AA -> AA
E -> E
IH -> IH
OH -> O
OU -> U
Not: Karakterinizin viseme setinin her gerekli viseme için tam eşleşmeleri olmadığında yinelenen eşlemelerin olması kabul edilebilir.
7. Her bir viseme'i canlandırın
- Her bir viseme için, ilgili morf hedef eğrilerini 0.0'dan 1.0'a canlandırın
- Her bir viseme animasyonunu farklı bir karede başlatın
- Doğal görünümlü viseme şekilleri oluşturmak için gerektiği gibi ek eğrileri yapılandırın (çene/ağız açılması, dil pozisyonu, vb.)
8. Bir Pose Varlığı Oluşturun
Varlık Oluştur
->Pose Varlığı
->Mevcut Animasyon
yolunu izleyin- Pose Varlığı için açıklayıcı bir isim girin ve uygun bir konuma kaydedin
- Oluşturulan Pose Varlığı otomatik olarak açılacak ve her biri bir viseme'ye karşılık gelen
Pose_0
,Pose_1
vb. pozları gösterecektir - Viseme ağırlıklarını önizleyerek beklendiği gibi çalıştıklarından emin olun
9. Pose Varlığını Sonuçlandırın
- Her bir pozu Önkoşullar bölümündeki viseme isimleriyle eşleşecek şekilde yeniden adlandırın
- Kullanılmayan tüm pozları silin
Ses işleme ve karıştırma kurulumu
Poz varlığınız hazır olduğunda, ses işleme ve karıştırma düğümlerini kurmanız gerekir:
- Karakterinizin Animation Blueprint'ini bulun veya oluşturun
- Ses işleme ve karıştırmayı, standart eklenti kurulum kılavuzunda belgelenen adımlarla aynı şekilde kurun
Blend Runtime MetaHuman Lip Sync
düğümünde, varsayılan MetaHuman poz varlığı yerine özel Poz Varlığınızı seçin
Vücut animasyonlarıyla birleştirme
Dudak senkronizasyonunu diğer vücut animasyonlarıyla birlikte gerçekleştirmek istiyorsanız:
- Standart eklenti kılavuzunda belgelenen adımlarla aynı şekilde ilerleyin
- MetaHuman kemik isimlerini kullanmak yerine, karakterinizin boyun iskeleti için doğru kemik isimlerini sağladığınızdan emin olun
Sonuçlar
İşte bu kurulumu kullanan özel karakter örnekleri:
Dudak senkronizasyonunun kalitesi büyük ölçüde belirli karaktere ve visemlerinin ne kadar iyi kurulduğuna bağlıdır. Yukarıdaki örnekler, eklentinin farklı visem sistemlerine sahip farklı türdeki özel karakterlerle çalıştığını göstermektedir.