Ana içeriğe geç

Eklenti Yapılandırması

Model Yapılandırması

Her bir oynatma için gerçekçi model oluşturucuları yeniden oluşturun

Güvenilir çalışma için Gerçekçi ve Ruh Hali Etkin Gerçekçi modellerinde, uzun sessizliklerde aynı üreteci tekrar kullanmak yerine her yeni ses oynatımından önce üreteci yeniden oluşturun. Ayrıntılar için Sorun Giderme bölümündeki Üreteç Yeniden Oluşturma başlığına bakın.

Standart Model Yapılandırması

Create Runtime Viseme Generator düğümü, çoğu senaryo için iyi çalışan varsayılan ayarları kullanır. Yapılandırma, Animation Blueprint harmanlama düğümü özellikleri aracılığıyla yapılır.

Animasyon Blueprint yapılandırma seçenekleri için aşağıdaki Dudak Senkronizasyonu Yapılandırması bölümüne bakın.

Gerçekçi Model Yapılandırması

Create Realistic MetaHuman Lip Sync Generator düğümü, oluşturucunun davranışını özelleştirmenize olanak tanıyan isteğe bağlı bir Configuration parametresini kabul eder:

Model Türü

Model Type ayarı, gerçekçi modelin hangi sürümünün kullanılacağını belirler:

Model TürüPerformansGörsel KaliteGürültü YönetimiÖnerilen Kullanım Alanları
Yüksek Düzeyde Optimize Edilmiş (Varsayılan)En yüksek performans, en düşük CPU kullanımıİyi kaliteArka plan gürültüsü veya ses dışı seslerle birlikte belirgin ağız hareketleri gösterebilir.Temiz ses ortamları, performans açısından kritik senaryolar
Yarı Optimize Edilmişİyi performans, orta düzeyde CPU kullanımıYüksek kaliteGürültülü seslerde daha iyi kararlılıkDengeli performans ve kalite, karışık ses koşulları
OrijinalModern CPU'larda gerçek zamanlı kullanıma uygundurEn yüksek kaliteArka plan gürültüsü ve konuşma dışı seslerle en kararlıYüksek kaliteli prodüksiyonlar, gürültülü ses ortamları, maksimum doğruluk gerektiğinde

Performans Ayarları

Intra Op İş Parçacıkları: Dahili model işleme operasyonları için kullanılan iş parçacığı sayısını kontrol eder.

  • 0 (Varsayılan/Otomatik): Otomatik algılama kullanır (genellikle mevcut CPU çekirdeklerinin 1/4'ü, en fazla 4)
  • 1-16: İş parçacığı sayısını manuel olarak belirtin. Daha yüksek değerler çok çekirdekli sistemlerde performansı artırabilir ancak daha fazla CPU kullanır.

Inter Op Threads: Farklı model işlemlerinin paralel yürütülmesi için kullanılan iş parçacığı sayısını kontrol eder.

  • 0 (Varsayılan/Otomatik): Otomatik algılama kullanır (genellikle mevcut CPU çekirdeklerinin 1/8'i, maksimum 2)
  • 1-8: İş parçacığı sayısını manuel olarak belirtin. Gerçek zamanlı işleme için genellikle düşük tutulur.

İşleme Parça Boyutu

İşleme Parça Boyutu, her çıkarım adımında kaç örneğin işleneceğini belirler. Varsayılan değer 160 örnektir (16kHz'de 10ms ses).

  • Daha küçük değerler daha sık güncelleme sağlar ancak CPU kullanımını artırır
  • Daha büyük değerler CPU yükünü azaltır ancak dudak senkronizasyonu tepkiselliğini düşürebilir
  • Optimum hizalama için 160'ın katlarının kullanılması önerilir

Setting Processing Chunk Size

Ruh Hali Etkin Model Yapılandırması

Create Realistic MetaHuman Lip Sync With Mood Generator düğümü, temel gerçekçi modelin ötesinde ek yapılandırma seçenekleri sunar:

Temel Yapılandırma

İleri Bakma Ms: Geliştirilmiş dudak senkronizasyonu doğruluğu için milisaniye cinsinden ileri bakma zamanlaması.

  • Varsayılan: 80ms
  • Aralık: 20ms ile 200ms arası (20'ye bölünebilir olmalıdır)
  • Daha yüksek değerler daha iyi senkronizasyon sağlar ancak gecikmeyi artırır

Çıktı Türü: Hangi yüz kontrollerinin oluşturulacağını kontrol eder.

  • Tam Yüz: 81 yüz kontrolünün tamamı (kaşlar, gözler, burun, ağız, çene, dil)
  • Sadece Ağız: Yalnızca ağız, çene ve dil ile ilgili kontroller

Performans Ayarları: Normal gerçekçi model ile aynı Intra Op Threads ve Inter Op Threads ayarlarını kullanır.

Ruh Hali Ayarları

Mevcut Ruh Halleri:

  • Nötr, Mutlu, Üzgün, İğrenme, Öfke, Şaşkınlık, Korku
  • Kendine Güvenen, Heyecanlı, Sıkılmış, Oyunbaz, Kafası Karışık

Ruh Hali Yoğunluğu: Ruh halinin animasyonu ne kadar güçlü etkileyeceğini kontrol eder (0.0 ile 1.0 arası)

Çalışma Zamanı Ruh Hali Kontrolü

Çalışma zamanı sırasında ruh hali ayarlarını aşağıdaki işlevleri kullanarak ayarlayabilirsiniz:

  • Ruh Halini Ayarla: Mevcut ruh hali türünü değiştirir
  • Ruh Hali Yoğunluğunu Ayarla: Ruh halinin animasyonu ne kadar güçlü etkilediğini ayarlar (0.0 ile 1.0 arası)
  • İleri Bakma Süresini Ayarla (Ms): Senkronizasyon için ileri bakma zamanlamasını değiştirir
  • Çıktı Türünü Ayarla: Tam Yüz ve Sadece Ağız kontrolleri arasında geçiş yapar

Mood Configuration

Ruh Hali Seçim Kılavuzu

İçeriğinize göre uygun ruh hallerini seçin:

MoodEn UygunTipik Yoğunluk Aralığı
NötrGenel sohbet, anlatım, varsayılan durum0.5 - 1.0
MutluOlumlu içerik, neşeli diyalog, kutlamalar0.6 - 1.0
ÜzgünMelankolik içerikler, duygusal sahneler, hüzünlü anlar0.5 - 0.9
İğrenmeOlumsuz tepkiler, rahatsız edici içerik, reddedilme0.4 - 0.8
ÖfkeAgresif diyalog, yüzleşme sahneleri, hayal kırıklığı0.6 - 1.0
SürprizBeklenmedik olaylar, ifşalar, şok tepkileri0.7 - 1.0
KorkuTehdit edici durumlar, kaygı, gergin diyalog0.5 - 0.9
Kendine GüvenenProfesyonel sunumlar, liderlik diyaloğu, iddialı konuşma0.7 - 1.0
HeyecanlıEnerjik içerik, duyurular, coşkulu diyalog0.8 - 1.0
SıkıldımMonoton içerik, ilgisiz diyalog, yorgun konuşma0.3 - 0.7
OynakGündelik sohbet, mizah, neşeli etkileşimler0.6 - 0.9
Kafası KarışıkSoru yüklü diyalog, belirsizlik, şaşkınlık0.4 - 0.8

Animasyon Blueprint Yapılandırması

Dudak Senkronizasyonu Yapılandırması

Blend Runtime MetaHuman Lip Sync düğümünün özellik panelinde yapılandırma seçenekleri bulunur:

ÖzellikVarsayılanAçıklama
Ara Hızı25Visemler arasındaki dudak hareketi geçişlerinin ne kadar hızlı olacağını kontrol eder. Daha yüksek değerler, daha hızlı ve daha ani geçişlerle sonuçlanır.
Zamanı Sıfırla0.2Ses senkronizasyonunun sıfırlanacağı saniye cinsinden süre. Bu, ses durduktan sonra dudak senkronizasyonunun devam etmesini önlemek için kullanışlıdır.

Gülme Animasyonu

Ayrıca, ses dosyasında tespit edilen kahkahalara dinamik olarak yanıt verecek kahkaha animasyonları da ekleyebilirsiniz.

  1. Blend Runtime MetaHuman Laughter düğümünü ekleyin
  2. RuntimeVisemeGenerator değişkeninizi Viseme Generator pinine bağlayın
  3. Zaten dudak senkronizasyonu kullanıyorsanız:
    • Blend Runtime MetaHuman Lip Sync düğümünün çıktısını Blend Runtime MetaHuman Laughter düğümünün Source Pose girişine bağlayın
    • Blend Runtime MetaHuman Laughter düğümünün çıktısını Output Pose düğümünün Result pinine bağlayın
  4. Yalnızca dudak senkronizasyonu olmadan kahkaha kullanılıyorsa:
    • Kaynak pozunuzu doğrudan Blend Runtime MetaHuman Laughter düğümünün Source Pose girişine bağlayın
    • Çıktıyı Result pinine bağlayın

Blend Runtime MetaHuman Laughter

Ses dosyasında kahkaha tespit edildiğinde, karakteriniz buna göre dinamik olarak animasyon yapacaktır:

Kahkaha Yapılandırması

Blend Runtime MetaHuman Laughter düğümünün kendi yapılandırma seçenekleri vardır:

ÖzellikVarsayılanAçıklama
Ara Hızı25Gülme animasyonları arasında dudak hareketlerinin ne kadar hızlı geçiş yapacağını kontrol eder. Daha yüksek değerler, daha hızlı ve daha ani geçişlere neden olur.
Zamanı Sıfırla0.2Saniye cinsinden, kahkahanın sıfırlanacağı süre. Bu, ses durduktan sonra kahkahanın devam etmesini önlemek için kullanışlıdır.
Maksimum Kahkaha Ağırlığı0.7Gülme animasyonunun maksimum yoğunluğunu ölçeklendirir (0.0 - 1.0).

Not: Kahkaha tespiti şu anda yalnızca Standart Model ile kullanılabilir.

Mevcut Animasyonlarla Birleştirme

Mevcut vücut animasyonlarını ve özel yüz animasyonlarını geçersiz kılmadan dudak senkronizasyonu ve kahkaha uygulamak için:

Vücut animasyonları

Bu kurulum, yüz Animasyon Blueprint'i için geçerlidir, çünkü dudak senkronizasyonu vücut Animasyon Blueprint'inin bir parçası değildir. Özel vücut animasyonları (ör. gövde, kollar ve diğer vücut hareketleri) için, animasyon dizinizi (bir Sequence Player aracılığıyla) doğrudan vücut Animasyon Blueprint'indeki çıkış pozuna bağlamanız yeterlidir. Orada ek bir kurulum gerekmez.

  1. Vücut animasyonlarınız ile nihai çıktı arasına bir Layered blend per bone düğümü ekleyin. Use Attached Parent değerinin true olduğundan emin olun.
  2. Katman kurulumunu yapılandırın:
    • 1 öğe ekleyin Layer Setup dizisine
    • Katmana 3 öğe ekleyin Branch Filters dizisine, aşağıdaki Bone Name değerleriyle:
      • FACIAL_C_FacialRoot
      • FACIAL_C_Neck2Root
      • FACIAL_C_Neck1Root
  3. Özel yüz animasyonları için önemli: Curve Blend Option içinde "Use Max Value" seçeneğini işaretleyin. Bu, özel yüz animasyonlarının (ifadeler, duygular vb.) dudak senkronizasyonunun üzerine düzgün bir şekilde katmanlanmasını sağlar.
  4. Bağlantıları yapın:
    • Özel animasyonunuz (genellikle istenen animasyon sekansı varlığına sahip bir Sequence Player) → Base Pose girişi
    • Yüz animasyonu çıktısı (dudak senkronizasyonu ve/veya kahkaha düğümlerinden) → Blend Poses 0 girişi
    • Katmanlı karıştırma düğümü → Son Result pozu

Layered Blend Per Bone

Morf Hedef Seti Seçimi

Standart Model, özel poz varlığı kurulumu aracılığıyla herhangi bir morf hedefi adlandırma kuralını doğal olarak destekleyen poz varlıklarını kullanır. Ek bir yapılandırma gerekmez.

Dudak Senkronizasyonu Davranışını İnce Ayar Yapma

Belirli Dudak Senkronizasyonu Eğrilerini Ölçeklendirme

Modify Curve düğümünü kullanarak, dudak senkronizasyonu tarafından üretilen bireysel yüz hareketlerini azaltabilir (veya güçlendirebilirsiniz). Bu, belirli bir eğrinin ses içeriğiniz veya karakteriniz için çok belirgin göründüğü durumlarda kullanışlıdır.

Kurulum:

  1. Dudak senkronizasyonu harman düğümünüzden sonra bir Modify Curve düğümü ekleyin
  2. Düğüme sağ tıklayın ve Add Curve Pin seçeneğini belirleyin, ardından ölçeklemek istediğiniz eğri adını girin
  3. Düğümün Apply Mode özelliğini Scale olarak ayarlayın
  4. Value parametresini ayarlayın: 1.0'ın altındaki değerler hareketi azaltır, 1.0'ın üzerindeki değerler ise artırır (örneğin, 0.8 = %20 azalma)

Yaygın olarak ölçeklenen eğriler:

Eğri AdıAmaçŞunun için geçerlidirTipik Ayarlama
CTRL_expressions_tongueOutBelirli fonemler sırasında dilin öne doğru çıkmasıStandart model0.8 çıkıntıyı azaltmak için
CTRL_expressions_jawOpenÇene açma aralığıGerçekçi modeller0.9 çene hareketini azaltmak için

Aynı Modify Curve düğümüne birden fazla eğri pimi ekleyerek aynı anda birkaç eğriyi ölçekleyebilirsiniz.

Ruh Haline Özel İnce Ayar

Ruh hali destekli modeller için belirli duygusal ifadeleri ince ayar yapabilirsiniz:

Kaş Kontrolü:

  • CTRL_expressions_browRaiseInL / CTRL_expressions_browRaiseInR - İç kaş kaldırma
  • CTRL_expressions_browRaiseOuterL / CTRL_expressions_browRaiseOuterR - Dış kaş kaldırma
  • CTRL_expressions_browDownL / CTRL_expressions_browDownR - Kaş indirme

Göz İfadesi Kontrolü:

  • CTRL_expressions_eyeSquintInnerL / CTRL_expressions_eyeSquintInnerR - Göz kısma
  • CTRL_expressions_eyeCheekRaiseL / CTRL_expressions_eyeCheekRaiseR - Yanak kaldırma

Model Karşılaştırması ve Seçimi

Modeller Arasında Seçim Yapma

Projeniz için hangi dudak senkronizasyonu modelini kullanacağınıza karar verirken şu faktörleri göz önünde bulundurun:

Dikkate Alınması Gereken HususlarStandart ModelGerçekçi ModelRuh Hali Etkin Gerçekçi Model
Karakter UyumluluğuMetaHuman'lar ve tüm özel karakter türleriMetaHuman'lar (ve ARKit) karakterleriMetaHuman'lar (ve ARKit) karakterleri
Görsel Kaliteİyi performansla verimli dudak senkronizasyonuDaha doğal ağız hareketleriyle geliştirilmiş gerçekçilikDuygusal ifadelerle geliştirilmiş gerçekçilik
PerformansTüm platformlar (mobil/VR dahil) için optimize edilmiştirDaha yüksek kaynak gereksinimleriDaha yüksek kaynak gereksinimleri
Özellikler14 viseme, kahkaha tespiti81 yüz kontrolü, 3 optimizasyon seviyesi81 yüz kontrolü, 12 ruh hali, yapılandırılabilir çıktı
Platform DesteğiWindows, Android, QuestWindows, Mac, iOS, Linux, Android, QuestWindows, Mac, iOS, Linux, Android, Quest
Kullanım AlanlarıGenel uygulamalar, oyunlar, VR/AR, mobilSinematik deneyimler, yakın etkileşimlerDuygusal hikaye anlatımı, gelişmiş karakter etkileşimi

Motor Sürümü Uyumluluğu

UE 5.2 Uyumluluk Sorunu

Eğer Unreal Engine 5.2 kullanıyorsanız, UE'nin yeniden örnekleme kütüphanesindeki bir hata nedeniyle Gerçekçi Modeller düzgün çalışmayabilir. Güvenilir dudak senkronizasyonu işlevselliğine ihtiyaç duyan UE 5.2 kullanıcıları, lütfen bunun yerine Standart Model'i kullanın.

Bu sorun yalnızca UE 5.2'ye özgüdür ve diğer motor sürümlerini etkilemez.

Performans Önerileri

  • Çoğu proje için Standart Model, kalite ve performans arasında mükemmel bir denge sağlar
  • MetaHuman karakterler için en yüksek görsel kaliteye ihtiyaç duyduğunuzda Gerçekçi Model'i kullanın
  • Uygulamanız için duygusal ifade kontrolü önemli olduğunda Ruh Hali Etkin Gerçekçi Model'i kullanın
  • Modeller arasında seçim yaparken hedef platformunuzun performans yeteneklerini göz önünde bulundurun
  • Özel kullanım durumunuz için en iyi dengeyi bulmak amacıyla farklı optimizasyon seviyelerini test edin

Sorun Giderme

Yaygın Sorunlar

Gerçekçi Modeller için Jeneratörün Yeniden Oluşturulması: Gerçekçi Modellerle güvenilir ve tutarlı bir çalışma için, bir süre hareketsiz kaldıktan sonra yeni ses verileri beslemek istediğinizde jeneratörü her seferinde yeniden oluşturmanız önerilir. Bunun nedeni, ONNX çalışma zamanı davranışının, sessizlik dönemlerinden sonra jeneratörleri yeniden kullanırken dudak senkronizasyonunun durmasına neden olabilmesidir.

Örneğin, lip sync oluşturucuyu her oynatma başlangıcında yeniden oluşturabilirsiniz; örneğin, Play Sound 2D'yi her çağırdığınızda veya ses dalgası oynatma ve lip sync'i başlatmak için başka bir yöntem kullandığınızda olduğu gibi:

Recreate Lip Sync Generator On Play Sound

Runtime Text To Speech Entegrasyonu için Eklenti Konumu: Runtime MetaHuman Lip Sync ile Runtime Text To Speech'i birlikte kullanırken (her iki eklenti de ONNX Runtime kullanır), eklentiler motorun Marketplace klasörüne kurulduğunda paketlenmiş yapılarda sorunlar yaşayabilirsiniz. Bunu düzeltmek için:

  1. Her iki eklentiyi de UE kurulum klasörünüzdeki \Engine\Plugins\Marketplace altında bulun (örneğin, C:\Program Files\Epic Games\UE_5.6\Engine\Plugins\Marketplace)
  2. RuntimeMetaHumanLipSync ve RuntimeTextToSpeech klasörlerini projenizin Plugins klasörüne taşıyın
  3. Projenizde Plugins klasörü yoksa, .uproject dosyanızla aynı dizinde bir tane oluşturun
  4. Unreal Editor'ü yeniden başlatın

Bu, motorun Marketplace dizininden birden fazla ONNX Runtime tabanlı eklenti yüklendiğinde oluşabilecek uyumluluk sorunlarını giderir.

Paketleme Yapılandırması (Windows): Paketlenmiş projenizde Windows üzerinde dudak senkronizasyonu düzgün çalışmıyorsa, Development yerine Shipping derleme yapılandırmasını kullandığınızdan emin olun. Development yapılandırması, paketlenmiş derlemelerde gerçekçi modellerin ONNX çalışma zamanı ile sorunlara neden olabilir.

Bunu düzeltmek için:

  1. Proje Ayarlarınız → Paketleme bölümünde, Derleme Yapılandırmasını Shipping olarak ayarlayın
  2. Projenizi yeniden paketleyin

Shipping Configuration

Yalnızca Blueprint Projeleri

Bazı yalnızca Blueprint projelerinde, Unreal Engine Shipping seçilmiş olsa bile hala Development yapılandırmasında derleme yapabilir. Bu durumda, en az bir C++ sınıfı ekleyerek (boş olabilir) projenizi bir C++ projesine dönüştürün. Bunu yapmak için UE düzenleyici menüsünde Tools → New C++ Class (Araçlar → Yeni C++ Sınıfı) yolunu izleyin ve boş bir sınıf oluşturun. Bu, projenizi Shipping yapılandırmasında doğru şekilde derlemeye zorlayacaktır. Projeniz işlevsellik açısından yalnızca Blueprint tabanlı kalabilir; C++ sınıfı yalnızca doğru derleme yapılandırması için gereklidir.

Bozuk Dudak Senkronizasyonu Tepkiselliği: Streaming Sound Wave veya Capturable Sound Wave kullanırken dudak senkronizasyonunun zamanla daha az tepkisel hale geldiğini fark ederseniz, bunun nedeni bellek birikimi olabilir. Varsayılan olarak, her yeni ses eklendiğinde bellek yeniden tahsis edilir. Bu sorunu önlemek için, birikmiş belleği boşaltmak amacıyla ReleaseMemory fonksiyonunu periyodik olarak, örneğin her 30 saniyede bir çağırın.

Performans Optimizasyonu:

  • Gerçekçi modeller için İşleme Parça Boyutunu performans gereksinimlerinize göre ayarlayın
  • Hedef donanımınız için uygun iş parçacığı sayılarını kullanın
  • Tam yüz animasyonu gerekmediğinde, ruh hali destekli modeller için Yalnızca Ağız çıktı türünü kullanmayı değerlendirin