Ana içeriğe geç

Eklenti Yapılandırması

Model Yapılandırması

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

Realistic ve Mood-Enabled Realistic modelleriyle güvenilir çalışma için, her yeni ses oynatımından önce oluşturucuyu yeniden oluşturun, uzun sessizlikler boyunca aynı oluşturucuyu yeniden kullanmak yerine. Ayrıntılar için Sorun Giderme bölümündeki Oluşturucuyu Yeniden Oluşturma bölümüne 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 yönetilir.

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

Realistic 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ı, realistic modelin hangi sürümünün kullanılacağını belirler:

Model TürüPerformansGörsel KaliteGürültü İşlemeÖnerilen Kullanım Durumları
Highly Optimized (Varsayılan)En yüksek performans, en düşük CPU kullanımıİyi kaliteArka plan gürültüsü veya ses dışı seslerle belirgin ağız hareketleri gösterebilirTemiz ses ortamları, performans açısından kritik senaryolar
Semi-Optimizedİyi performans, orta düzey CPU kullanımıYüksek kaliteGürültülü sesle daha iyi kararlılıkDengeli performans ve kalite, karmaşık ses koşulları
OriginalModern CPU'larda gerçek zamanlı kullanıma uygunEn yüksek kaliteArka plan gürültüsü ve ses dışı seslerle en kararlıYüksek kaliteli prodüksiyonlar, gürültülü ses ortamları, maksimum doğruluk gerektiğinde

Performans Ayarları

Intra Op Threads: Dahili model işleme işlemleri 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'ü, maksimum 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

Processing Chunk Size, 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 yanıt verebilirliğini azaltabilir
  • Optimum hizalama için 160'ın katlarının kullanılması önerilir

İşleme Parça Boyutunu Ayarlama

Mood-Enabled Model Yapılandırması

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

Temel Yapılandırma

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

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

Output Type: Hangi yüz kontrollerinin oluşturulacağını kontrol eder.

  • Full Face: 81 yüz kontrolünün tümü (kaşlar, gözler, burun, ağız, çene, dil)
  • Mouth Only: Yalnızca ağız, çene ve dil ile ilgili kontroller

Performance Settings: Normal realistic model ile aynı Intra Op Threads ve Inter Op Threads ayarlarını kullanır.

Ruh Hali Ayarları

Mevcut Ruh Halleri:

  • Neutral, Happy, Sad, Disgust, Anger, Surprise, Fear
  • Confident, Excited, Bored, Playful, Confused

Mood Intensity: Ruh halinin animasyonu ne kadar güçlü etkilediğini kontrol eder (0.0 ila 1.0)

Çalışma Zamanı Ruh Hali Kontrolü

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

  • Set Mood: Geçerli ruh hali türünü değiştirin
  • Set Mood Intensity: Ruh halinin animasyonu ne kadar güçlü etkilediğini ayarlayın (0.0 ila 1.0)
  • Set Lookahead Ms: Senkronizasyon için ileri bakma zamanlamasını değiştirin
  • Set Output Type: Full Face ve Mouth Only kontrolleri arasında geçiş yapın

Ruh Hali Yapılandırması

Ruh Hali Seçim Kılavuzu

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

Ruh HaliEn Uygun Olduğu DurumlarTipik Yoğunluk Aralığı
NeutralGenel konuşma, anlatım, varsayılan durum0.5 - 1.0
HappyOlumlu içerik, neşeli diyalog, kutlamalar0.6 - 1.0
SadHüzünlü içerik, duygusal sahneler, kasvetli anlar0.5 - 0.9
DisgustOlumsuz tepkiler, tatsız içerik, reddetme0.4 - 0.8
AngerAgresif diyalog, çatışma sahneleri, hayal kırıklığı0.6 - 1.0
SurpriseBeklenmedik olaylar, ifşalar, şok tepkileri0.7 - 1.0
FearTehdit edici durumlar, kaygı, gergin diyalog0.5 - 0.9
ConfidentProfesyonel sunumlar, liderlik diyalogu, iddialı konuşma0.7 - 1.0
ExcitedEnerjik içerik, duyurular, coşkulu diyalog0.8 - 1.0
BoredMonoton içerik, ilgisiz diyalog, yorgun konuşma0.3 - 0.7
PlayfulGündelik konuşma, mizah, neşeli etkileşimler0.6 - 0.9
ConfusedSoru ağırlıklı diyalog, belirsizlik, şaşkınlık0.4 - 0.8

Animation Blueprint Yapılandırması

Lip Sync Yapılandırması

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

ÖzellikVarsayılanAçıklama
Interpolation Speed25Dudak hareketlerinin visemeler arasında ne kadar hızlı geçiş yaptığını kontrol eder. Daha yüksek değerler daha hızlı, daha ani geçişlerle sonuçlanır.
Reset Time0.2Dudak senkronizasyonunun sıfırlandığı saniye cinsinden süre. Bu, ses durduktan sonra dudak senkronizasyonunun devam etmesini önlemek için kullanışlıdır.

Kahkaha Animasyonu

Ayrıca, seste algılanan 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ıyorsanız:
    • Kaynak pozu 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

Seste kahkaha algılandığında, karakteriniz buna göre dinamik olarak canlanacaktır:

Kahkaha Yapılandırması

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

ÖzellikVarsayılanAçıklama
Interpolation Speed25Dudak hareketlerinin kahkaha animasyonları arasında ne kadar hızlı geçiş yapacağını kontrol eder. Daha yüksek değerler daha hızlı ve ani geçişlere yol açar.
Reset Time0.2Kahkahanın sıfırlanmasından sonraki saniye cinsinden süre. Bu, ses durduktan sonra kahkahanın devam etmesini önlemek için kullanışlıdır.
Max Laughter Weight0.7Kahkaha animasyonunun maksimum yoğunluğunu ölçekler (0.0 - 1.0).

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

Mevcut Animasyonlarla Birleştirme

Dudak senkronizasyonu ve kahkahayı, mevcut vücut animasyonları ve özel yüz animasyonlarının yanı sıra, bunları geçersiz kılmadan uygulamak için:

  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:
    • Layer Setup dizisine 1 öğe ekleyin
    • Katman için Branch Filters'a aşağıdaki Bone Name'lere sahip 3 öğe ekleyin:
      • 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 seçin. 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:
    • Mevcut animasyonlar (ör. BodyPose) → Base Pose girişi
    • Yüz animasyonu çıktısı (dudak senkronizasyonu ve/veya kahkaha düğümlerinden) → Blend Poses 0 girişi
    • Katmanlı harman düğümü → Nihai Result pozu

Layered Blend Per Bone

Morph Target Set Seçimi

Standart Model, özel pose asset kurulumu aracılığıyla herhangi bir morph target adlandırma kuralını doğal olarak destekleyen pose asset'leri kullanır. Ek bir yapılandırma gerekmez.

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

Belirli Dudak Senkronizasyonu Eğrilerini Ölçekleme

Bir Modify Curve düğümü kullanarak dudak senkronizasyonu tarafından üretilen bireysel yüz hareketlerini zayıflatabilir (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 zayıflatır, 1.0'ın üzerindeki değerler güçlendirir (örn. 0.8 = %20 azalma)

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

Eğri AdıAmaçŞunun İçin GeçerlidirTipik Ayarlama
CTRL_expressions_tongueOutBelirli fonemler sırasında dilin öne çıkmasıStandart modelÇıkıntıyı azaltmak için 0.8
CTRL_expressions_jawOpenÇene açma aralığıGerçekçi modellerÇene hareketini azaltmak için 0.9

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 etkin modeller için belirli duygusal ifadelerde 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:

HususStandart ModelGerçekçi ModelRuh Hali Etkin Gerçekçi Model
Karakter UyumluluğuMetaHuman'lar ve tüm özel karakter türleriMetaHuman (ve ARKit) karakterleriMetaHuman (ve ARKit) karakterleri
Görsel KaliteVerimli performansla iyi dudak senkronizasyonuDaha doğal ağız hareketleriyle gelişmiş gerçekçilikDuygusal ifadelerle gelişmiş gerçekçilik
PerformansMobil/VR dahil tüm platformlar için optimize edilmiştirDaha yüksek kaynak gereksinimleriDaha yüksek kaynak gereksinimleri
Özellikler14 visem, 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 DurumlarıGenel uygulamalar, oyunlar, VR/AR, mobilSinematik deneyimler, yakın çekim etkileşimlerDuygusal hikaye anlatımı, gelişmiş karakter etkileşimi

Motor Sürümü Uyumluluğu

UE 5.2 Uyumluluk Sorunu

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ı için lütfen bunun yerine Standart Model'i kullanın.

Bu sorun UE 5.2'ye özeldir 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 karakterleriniz için en yüksek görsel kaliteye ihtiyaç duyduğunuzda Gerçekçi Model'i kullanın
  • Duygusal ifade kontrolü uygulamanız için ö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 üzere farklı optimizasyon seviyelerini test edin

Sorun Giderme

Yaygın Sorunlar

Gerçekçi Modeller için Jeneratörü Yeniden Oluşturma: Gerçekçi Modellerle güvenilir ve tutarlı çalışma için, bir hareketsizlik döneminden sonra her yeni ses verisi beslemek istediğinizde jeneratörü yeniden oluşturmanız önerilir. Bunun nedeni, ONNX runtime davranışının, jeneratörleri sessizlik dönemlerinden sonra yeniden kullanırken dudak senkronizasyonunun çalışmayı durdurmasına neden olabilmesidir.

Örneğin, Play Sound 2D'yi her çağırdığınızda veya ses dalgası oynatımını ve dudak senkronizasyonunu başlatmak için başka bir yöntem kullandığınızda, her oynatım başlangıcında dudak senkronizasyonu jeneratörünü yeniden oluşturabilirsiniz:

Ses Oynatımında Dudak Senkronizasyonu Jeneratörünü Yeniden Oluştur

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

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

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

Paketleme Yapılandırması (Windows): Paketlenmiş projenizde Windows'ta 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ş yapılarda gerçekçi modellerin ONNX runtime'ında 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 Yapılandırması

Yalnızca Blueprint Projeleri

Bazı yalnızca Blueprint projelerinde, Unreal Engine Shipping seçili olsa bile Development yapılandırmasında derleme yapmaya devam edebilir. Bu olursa, en az bir C++ sınıfı ekleyerek projenizi bir C++ projesine dönüştürün (boş olabilir). Bunu yapmak için UE düzenleyici menüsünde Tools → New C++ Class seçeneğine gidin ve boş bir sınıf oluşturun. Bu, projenin Shipping yapılandırmasında doğru şekilde derlenmesini sağlayacaktır. Projeniz işlevsellik açısından yalnızca Blueprint olarak kalabilir, C++ sınıfı yalnızca doğru derleme yapılandırması için gereklidir.

Dudak Senkronizasyonu Tepkiselliğinin Azalması: 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 periyodik olarak, örneğin her 30 saniyede bir, ReleaseMemory işlevini çağırın.

Performans Optimizasyonu:

  • Performans gereksinimlerinize göre Gerçekçi modeller için Processing Chunk Size'ı 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 etkin modeller için Mouth Only çıktı türünü kullanmayı düşünün