Ana içeriğe geç

Göz Animasyonu Yardımcıları

Dudak senkronizasyonuna ek olarak, Runtime MetaHuman Lip Sync eklentisi, MetaHuman gözlerini canlandırmak için iki isteğe bağlı yardımcı araç içerir:

  • Otomatik Göz Kırpma: Bir MetaHuman üzerinde doğal, rastgele göz kırpmaları üreten bir yardımcı
  • Göz Hedefleme: Bir MetaHuman'ın gözlerinin dünya uzayındaki bir konuma bakmasını sağlayan bir Animasyon Blueprint düğümü

Bu özellikler dudak senkronizasyonundan tamamen bağımsızdır ve kendi başlarına, birlikte veya dudak senkronizasyon düğümleriyle birleştirilerek kullanılabilir. Manuel olarak oluşturmaya gerek kalmadan gerçekçi göz davranışı eklemek için hafif, hazır yardımcılar olarak tasarlanmıştır.

Özellik Önizlemeleri

Otomatik Göz Kırpma: otomatik göz kırpmaları
Göz Hedefi: oyuncu kamerasını takip etme
Göz Hedefi: hareket eden bir hedef aktörü takip etme

Video Walkthrough

Her iki yardımcının da eski rig geçici çözümü dahil tam kılavuzu.

Bu yardımcıların ne zaman kullanılacağı

Eğer yüz animasyonu iş akışınız zaten göz kırpma ve dinamik bakış hareketlerini içeriyorsa, bu sayfayı atlayabilirsiniz. Bu yardımcı araçlar, göz hareketlerini kendiniz oluşturmadan gerçekçi bir göz davranışı istediğiniz durumlar için mevcuttur; örneğin, animasyon dizileriniz göz kırpma içermiyorsa veya gözlerin hareketli bir hedefi dinamik olarak takip etmesi gerekiyorsa (statik animasyon dizilerinin yapamayacağı bir şey). Ayrıca, mevcut yüz animasyonlarının üzerine eklenerek eksik parçaları tamamlayabilirler; örneğin, yalnızca ağzı hareketlendiren bir diziye göz kırpma eklemek gibi.

Otomatik Göz Kırpma yardımcısı, MetaHuman Yüz Kontrol Rig'inin CTRL_L_eye_blink ve CTRL_R_eye_blink eğrilerini sürerek rastgele, doğal görünümlü göz kırpmaları üretir.

Nasıl Çalışır

Her karede, Yüz Animasyon Blueprint'inizin Olay Grafiği'nden Update MetaHuman Auto Blink fonksiyonunu çağırır ve karenin delta zamanını iletirsiniz. Fonksiyon:

  1. Her karakterin durumunu (bir sonraki göz kırpma zamanı, mevcut açık/kapalı faz vb.) çağıran AnimInstance anahtarıyla takip eder
  2. 0..1 aralığında iki float değer döndürür; biri sol göz, diğeri sağ göz için olup her bir gözün o an ne kadar kapalı olduğunu temsil eder
  3. Daha sonra bu değerleri Blueprint değişkenlerinde saklar ve Anim Graph'taki Control Rig düğümüne beslersiniz

Kurulum

İki adım: Göz kırpma çağrısını Olay Grafiğinize ekleyin, ardından değerleri Animasyon Grafiğindeki bir Kontrol Rig düğümüne besleyin.

Yüz Animasyon Blueprint'inizde (örneğin Face_AnimBP veya kopyaladığınız/çoğalttığınız sürüm, bkz. Kurulum Kılavuzu), Event Graph'i açın ve Event Blueprint Update Animation'a aşağıdakileri ekleyin:

  1. Update MetaHuman Auto Blink çağrısını yapın
  2. Delta Time X'i (olaydan) Delta Seconds'a bağlayın
  3. (İsteğe bağlı) Config yapısını yapılandırın. Varsayılan değerler zaten doğal görünüyor
  4. Left Blink Value ve Right Blink Value'yu Blueprint değişkenlerine yükseltin (ör. LeftBlinkValue, RightBlinkValue)

Auto Blink Event Graph setup

Aynı Animation Blueprint'in Anim Graph bölümünde:

  1. Tüm göz kırpma eğrilerine yazabilecek diğer yüz mantığından sonra (örneğin Blend Runtime MetaHuman Lip Sync ve özel yüz animasyon katmanlarından sonra) bir Control Rig düğümü yerleştirin
  2. Düğümün Ayrıntılar panelinde, Control Rig Sınıfını (UE 5.8+ sürümünde Control Rig Varlık Referansı) MetaHuman yüz Control Rig'inize ayarlayın. Yol genellikle şöyledir:
    • /All/Game/MetaHumans/Common/Face/Face_ControlBoard_CtrlRig
    • Projenizin yolu, MetaHuman'ın nasıl içe aktarıldığına bağlı olarak farklılık gösterebilir.
  3. Ayrıntılar panelinde, Giriş bölümünü genişletin ve aşağıdakiler için Pin Kullan'ı etkinleştirin:
    • CTRL_L_eye_blink
    • CTRL_R_eye_blink
  4. LeftBlinkValue değişkeninizi CTRL_L_eye_blink'e bağlayın
  5. RightBlinkValue değişkeninizi CTRL_R_eye_blink'e bağlayın

Auto Blink Anim Graph setup

Yerleştirme önemlidir

Control Rig düğümünü, dudak senkronizasyonu karışım düğümlerinin (ve diğer yüz animasyon düğümlerinin) sonrasına yerleştirin, böylece göz kırpma değerleri başka bir mantık tarafından üzerine yazılmaz.

Yapılandırma

Update MetaHuman Auto Blink düğümü, isteğe bağlı bir Config yapısını kabul eder. Varsayılan değerler çoğu karakter için zaten doğal görünür; davranışı ayarlamak isterseniz aşağıyı genişletin.

Yapılandırma özellikleri

Zamanlama

ÖzellikVarsayılanAçıklama
Göz Kırpmaları Arasındaki Minimum Süre2.0 sGözler tamamen açıkken göz kırpmalar arasındaki minimum aralık.
Göz Kırpmaları Arasındaki Maksimum Süre4.0 sGöz kırpmaları arasındaki maksimum süre. Gerçek süre, minimum ve maksimum arasında rastgele belirlenir.
Minimum Kapalı Tutma Süresi0,04 sGözlerin tamamen kapalı kaldığı minimum süre.
Maksimum Kapalı Tutma Süresi0,08 sGözlerin tamamen kapalı kaldığı maksimum süre.

Ara Değer Bulma

ÖzellikVarsayılanAçıklama
Yakın Enterpolasyon Hızı35.0Gözleri kapatma hızı. İnsanlar gözlerini açtıklarından daha hızlı kapatır, bu nedenle bu hız, açma hızından kasıtlı olarak daha yüksektir.
Açık Interp Hızı18.0Gözleri açma hızı.
Kapalı Eşik0.97Göz kırpmanın "tamamen kapalı" olarak kabul edildiği ve bekleme aşamasının başladığı değer.
Açık Eşik0.02Göz kırpmanın "tamamen açık" kabul edildiği ve bir sonraki göz kırpmanın planlandığı değer.

Misc

ÖzellikVarsayılanAçıklama
Bağımsız Gözleryanlıştrue olduğunda, sol ve sağ göz bağımsız zamanlamalarla ayrı ayrı kırpılır. false (varsayılan) olduğunda, her iki göz mükemmel bir uyum içinde kırpılır.
bEnabled (fonksiyon pini)truefalse olduğunda, gözler yavaşça açılır ve göz kırpma duraklar. Kesit sahneleri, uyku, ölüm vb. durumlar için kullanışlıdır.

Runtime Kontrolü

Ayrıca, belirli bir AnimInstance için dahili durumu açıkça temizlemek amacıyla Reset Auto Blink State işlevini çağırabilirsiniz (örneğin, bir karakteri yeniden doğururken veya sinematik durumlar arasında geçiş yaparken).

Göz Hedefi

Göz Hedefleme yardımcısı, karakterin gözlerinin dünya uzayındaki bir konumu (örneğin oyuncu kamerası, başka bir aktör veya hareketli bir hedef) takip etmesini sağlayan bir Animasyon Blueprint düğümüdür (Runtime MetaHuman Eyes Aim). Yatay/dikey açı sınırlaması, yumuşatma, hedef başın arkasına geçtiğinde ters dönme koruması ve gerçekçilik için isteğe bağlı mikro-sakadları destekler.

Bir Mod Seçme

Düğüm, düğümün Ayrıntılar panelindeki Mod açılır menüsü aracılığıyla seçilen iki modu destekler:

ModeNe sürüyorNereye koymalısınız
Eğriler (varsayılan)Yüz Kontrol Rig'i göz bakış eğrileri (CTRL_expressions_eyeLook*)Yüz Animasyon Blueprint'inde (ör. Face_AnimBP), Control Rig düğümünden önce
KemiklerFACIAL_L_Eye / FACIAL_R_Eye kemiklerini doğrudan kullanarak, Control Rig'i atlar.Face Post Process Animation Blueprint'inde (ör. Face_PostProcess_AnimBP), AnimNode_RigLogic düğümünden sonra

Eğri modu önerilen varsayılan ayardır. Değerler, kemik dönüşümleri üzerinde çakışmak yerine normal Control Rig değerlendirmesi yoluyla birleştirildiğinden, diğer eğri tabanlı yüz sistemleriyle (dudak senkronizasyonu, ifadeler, ARKit karışım şekilleri vb.) temiz bir şekilde uyum sağlar.

Eğriler modu çalışmadığında, Kemikler modunu kullanın.

Bazı MetaHuman varyantlarında (özellikle eski rig'ler, Quixel Bridge üzerinden indirilenler dahil), göz bakış eğrileri aslında gözleri yönlendirmez. Görünür belirti, Eğriler modu düğümü aktif olduğunda, hedef konumdan bağımsız olarak gözlerin aşağıya bakması ve göz bebeklerinin neredeyse gizlenmesidir.

Bunu görüyorsanız, Kemik moduna geçin. Kemik modu, göz kemiklerini doğrudan döndürür, bu nedenle Control Rig'in nasıl bağlandığından bağımsız olarak her MetaHuman varyantında çalışır. Aşağıdaki Kurulum bölümündeki Kemikler sekmesine bakın.

Kurulum

Varsayılan kurulum. Düğüm, standart Yüz Animasyonu Blueprint'inde bulunur ve yüz Kontrol Rig'i göz bakış eğrilerini sürdürür.

İki adım: düğümü Anim Grafiğinize ekleyin, ardından Olay Grafiğinden ona bir hedef konum besleyin.

1. Anim Graph: düğümü ekleyin

Yüz Animasyonu Blueprint'inizin Animasyon Grafiği'nde:

  1. Bir Runtime MetaHuman Eyes Aim düğümü ekleyin
  2. Ayrıntılar panelinde Mod seçeneğini Eğriler olarak bırakın
  3. Göz bakış eğrilerine yazabilecek diğer tüm yüz mantığından (dudak senkronizasyonu, özel animasyonlar vb.) sonra yerleştirin; aynı prensip, Otomatik Yanıp Sönme Kontrol Donanımı düğümünde olduğu gibidir
  4. Mevcut pozu Kaynak Poz'a bağlayın
  5. Çıktıyı zincirinizdeki bir sonraki düğüme (veya Çıktı Pozu) bağlayın
  6. Bir Vektör Blueprint değişkeni (ör. HedefDünyaKonumu) oluşturun ve bunu düğümün Hedef Dünya Konumu pinine bağlayın. Bu değişkeni bir sonraki adımda Olay Grafiği'nden güncelleyeceksiniz.

Eyes Aim Anim Graph setup

2. Olay Grafiği: hedef konumu besleyin

Hedef Dünya Konumu pini, dünya uzayında bir FVector bekler. Yaygın bir durum, MetaHuman'ın oyuncu kamerasına bakmasıdır. Blueprint Animasyon Güncelleme Olayı'nda:

  1. Player Camera Manager'ı Al (Player Index 0)
  2. Geçerli mi kontrol et
  3. Geçerliyse, Kamera Konumunu Al'ı çağır
  4. Bunu TargetWorldLocation Blueprint değişkeninde sakla

Eyes Aim, tracking the camera

Bunun yerine rastgele bir aktörü (NPC, eşya, ilgi noktası) takip etmek için, her karede o aktörün konumunu alın ve aynı değişkende saklayın. Sabit bir bakış noktası için, Hedef Dünya Konumu'nu bir kez veya düğümün Ayrıntılar panelinde sabit olarak ayarlayın.

Yapılandırma

Tüm ayarlar Runtime MetaHuman Eyes Aim düğümünün Ayrıntılar panelinde sunulur.

Hedefleme ve Sınırlama

Amaç

ÖzellikVarsayılanAçıklama
ModeEğrilerGözlerin nasıl yönlendirileceğini seçer. Bkz. Mod Seçimi.
Hedef Dünya Konumu(0,0,0)Gözlerin baktığı dünya uzayındaki nokta. Varsayılan olarak bir pin olarak gösterilir.
bEnabledtruefalse olduğunda, gözler hedefi yok sayarak yavaşça ileriye döner. Varsayılan olarak bir pin olarak gösterilir.

Kısıtla

ÖzellikVarsayılanAçıklama
Maksimum Yaw Derecesi35°Başın ileri yönünden maksimum yatay (yaw) sapma. 0 ile 80 arasında sınırlanmıştır.
Maksimum Perde Derecesi25°Başın ileri yönünden maksimum dikey (eğim) sapma. 0 ile 80 arasında sınırlanmıştır.
Arka Tarafa Dönmeyi EngelletrueHedefin başın arkasına geçmesi durumunda gözlerin ters dönmesini engeller.
Düzgünleştirme ve Sakkadlar

Düzleştirme

ÖzellikVarsayılanAçıklama
Ara Hızı12.0Göz hareketleri için yumuşatma hızı. Yüksek = daha hızlı, düşük = daha ağır.

Sakkadlar

Mikro-sakkadlar, gerçek gözlerin sürekli olarak gerçekleştirdiği küçük, rastgele bakış kaymalarıdır. Bunları eklemek, mükemmel derecede pürüzsüz takibin yarattığı "ölü göz" görünümünü önler.

ÖzellikVarsayılanAçıklama
Sakkadları EtkinleştirtrueMikro-sakkadları açar/kapatır.
Saccade Yaw Amplitude Derecesi1.5°Sakad başına maksimum yatay titreme. Küçük değerler (1–2°) doğal hissettirir; daha büyük değerler seğirmeli görünür.
Saccade Pitch Amplitude Deg1.0°Sakkar başına maksimum dikey titreme. Genellikle yalpalama genliğinden biraz daha küçüktür.
Minimum Saccade Aralığı0,6 sSakkadlar arası minimum süre.
Maksimum Sakkad Aralığı2,5 saniyeSakadlar arasındaki maksimum süre. Daha büyük değerler daha sakin hissettirirken, daha küçük değerler huzursuz hissettirir.
Kemikler (Yalnızca Kemik modu)
ÖzellikVarsayılanAçıklama
Sol Göz KemiğiFACIAL_L_EyeSol göz kemiği adı. Standart MetaHuman yüz iskeletiyle eşleşir.
Sağ Göz KemiğiFACIAL_R_EyeSağ göz kemiği adı. Standart MetaHuman yüz iskeletiyle eşleşir.
Kalibrasyon (Yalnızca Eğriler modu)

Bu değerler, baş-uzay açılarının MetaHuman yüz CR'sinin göz-bakış eğrisi değerlerine nasıl eşlendiğini tanımlar. Varsayılan değerler standart MetaHuman yüz CR'si için ayarlanmıştır ve nadiren değiştirilmeleri gerekir.

ÖzellikVarsayılanAçıklama
Birim Eğri Başına Yaw Dereceleri30°Yaw bakış eğrileri için 1.0 eğri değerine karşılık gelen açı.
Birim Başına Eğri için Perde Dereceleri25°Perde bakış eğrileri için 1.0 eğri değerine karşılık gelen açı.

Dudak Senkronizasyonu ve Diğer Animasyonlarla Birleştirme

Her iki yardımcı da eklentinin dudak senkronizasyonu düğümleri ve halihazırda sahip olduğunuz herhangi bir özel yüz animasyonu ile birlikte çalışacak şekilde tasarlanmıştır. Genel kural: Göz Hedefleme ve Kontrol İskeleti (otomatik göz kırpma) düğümlerini, dudak senkronizasyonu ve özel yüz animasyonundan sonra yerleştirin, böylece değerleri aşağı akışta üzerine yazılmaz.

Ayrıntılı Yürütme Akış Şemasını Görüntüle (Eğriler ve Kemik Modu)

MetaHuman rig'inizin önerilen Eğri Modu veya yedek Kemik Modu kullanmasına bağlı olarak, yürütme mantığınızın yerleşimi değişecektir. Her iki işlem hattı için tam yürütme sırasını görmek üzere aşağıdaki tabloyu genişletin:

Otomatik göz kırpma ve dudak senkronizasyonu, her iki modda da normal Yüz AnimBP'sinde bulunmaya devam ediyor.

Vücut animasyonlarıyla katmanlama hakkında ayrıntılar için bkz. Mevcut Animasyonlarla Birleştirme.

Notlar ve Sınırlamalar

Bu yardımcılar MetaHuman'a özgüdür. Standart MetaHuman yüz Kontrol İskeleti eğri adlarına (CTRL_L_eye_blink, CTRL_R_eye_blink, CTRL_expressions_eyeLook*) ve standart göz kemiklerine (FACIAL_L_Eye, FACIAL_R_Eye) dayanırlar. Özel MetaHuman olmayan karakterler için tasarlanmamışlardır.

Yardım mı Gerekiyor?

Join our Discord
online · support

Özel geliştirme talepleri için [email protected] adresinden iletişime geçin.