Ana içeriğe geç

Göz Animasyon Yardımcıları

Lip sync'in yanı sıra, Runtime MetaHuman Lip Sync eklentisi MetaHuman gözlerini animasyonlandı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 Animation Blueprint düğümü

Bu özellikler lip sync'ten tamamen bağımsızdır ve kendi başlarına, birlikte veya lip sync düğümleriyle birleştirilerek kullanılabilir. Bunlar, göz davranışını elle oluşturmak zorunda kalmadan gerçekçi göz hareketleri 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ünü takip etme

Video İzlencesi

Her iki yardımcının da tam kapsamlı anlatımı, eski rig geçici çözümü dahil.

Bu yardımcıları ne zaman kullanmalı

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

Auto Blink yardımcısı, MetaHuman Face Control Rig'in CTRL_L_eye_blink ve CTRL_R_eye_blink eğrilerini sürerek rastgele ve doğal görünümlü göz kırpmaları üretir.

Nasıl Çalışır

Her karede, Face Animation Blueprint'inizin Event Graph'ından Update MetaHuman Auto Blink fonksiyonunu çağırır ve karenin delta zamanını iletirsiniz. Fonksiyon:

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

Kurulum

İki adım: Yanıp sönme çağrısını Event Graph’unuza ekleyin, ardından değerleri Anim Graph’taki bir Control Rig düğümüne besleyin.

Face Animation Blueprint içinde (ör. Face_AnimBP veya kopyaladığınız/çoğalttığınız sürüm, bkz. Kurulum Rehberi), 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 (olaydan) öğesini Delta Seconds öğesine bağlayın
  3. (İsteğe bağlı) Config yapısını yapılandırın. Varsayılanlar zaten doğal görünüyor
  4. Left Blink Value ve Right Blink Value öğelerini 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. Control Rig düğümünü, göz kırpma eğrilerini sürecek şekilde yerleştirin. Tam olarak nereye gideceği, Auto Blink'i diğer yüz animasyonlarıyla (lip sync, özel sekanslar vb.) birleştirip birleştirmediğinize bağlıdır:
    • Başka yüz animasyonu yok: Control Rig düğümünü doğrudan ana zincire, Output Pose öncesine yerleştirin.
    • Lip sync ve/veya diğer yüz animasyonlarıyla birleştirme: Bu Control Rig düğümünü doğrudan zincire yerleştirmek yerine bir Layered blend per bone düğümüne bağlayın, aşağıdaki ipucuna bakın.
  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 şu şekildedir:
    • /All/Game/MetaHumans/Common/Face/Face_ControlBoard_CtrlRig
    • Projeniz, MetaHuman'ın nasıl içe aktarıldığına bağlı olarak farklı bir yola sahip olabilir.
  3. Details panelinde Input bölümünü genişletin ve şunlar için Use Pin seçeneğini etkinleştirin:
    • CTRL_L_eye_blink
    • CTRL_R_eye_blink
  4. LeftBlinkValue değişkeninizi CTRL_L_eye_blink öğesine bağlayın
  5. RightBlinkValue değişkeninizi CTRL_R_eye_blink öğesine bağlayın

Auto Blink Anim Graph setup

Yerleştirme önemlidir

Eğer başka yüz animasyonlarıyla birleştirmiyorsanız, Control Rig düğümünü zincirdeki lip sync blend düğümlerinden (ve diğer yüz animasyon düğümlerinden) sonra yerleştirin ki göz kırpma değerleri üzerine yazılmasın. Eğer lip sync veya başka yüz animasyonlarıyla birleştiriyorsanız, Mevcut Animasyonlarla Birleştirme kılavuzunu izleyin ve bu Control Rig düğümünü Layered blend per bone düğümünün Base Pose girişine bağlayın; katmanlı blend düğümü ikisini de canlı tutar, birinin diğerini basitçe geçersiz kılması yerine.

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ı Minimum Süre2,0 snGözler tamamen açıkken göz kırpmaları arasındaki minimum aralık.
Göz Kırpmaları Arası Maksimum Süre4,0 snGöz kırpmaları arasındaki maksimum aralık. Gerçek aralık, minimum ve maksimum arasında rastgele belirlenir.
Kapalı Kalma Süresi Minimum0,04 snGözlerin tamamen kapalı kaldığı minimum süre.
Kapalı Kalma Süresi Maksimum0,08 snGözlerin tamamen kapalı kaldığı maksimum süre.

Interpolasyon

ÖzellikVarsayılanAçıklama
Kapanış İnterpolasyon Hızı35.0Gözleri kapatırkenki hız. İnsanlar gözlerini açtıklarından daha hızlı kapatırlar, bu yüzden bu değer bilinçli olarak açılış hızından daha yüksektir.
Açılış İnterpolasyon Hızı18.0Gözleri açarkenki hız.
Kapalı Eşik Değeri0.97Göz kırpmanın "tamamen kapalı" sayıldığı ve bekleme aşamasının başladığı değer.
Açık Eşik Değeri0.02Göz kırpmanın "tamamen açık" sayıldığı ve bir sonraki göz kırpmanın planlandığı değer.

Çeşitli

ÖzellikVarsayılanAçıklama
Bağımsız Gözlerfalsetrue olduğunda, sol ve sağ gözler ayrı zamanlamalarla bağımsız olarak kırpışır. false (varsayılan) olduğunda, her iki göz tam bir senkronizasyonla kırpışır.
bEnabled (fonksiyon pini)truefalse olduğunda, gözler yavaşça açılır ve kırpışma duraklar. Sinematik sahneler, uyku, ölüm vb. durumlar için kullanışlıdır.

Runtime Kontrol

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

Göz Hedefleme

Eyes Aim yardımcısı, karakterin gözlerinin dünya uzayındaki bir konumu takip etmesini sağlayan bir Animation Blueprint düğümüdür (Runtime MetaHuman Eyes Aim); örneğin, oyuncu kamerası, başka bir aktör veya hareket eden herhangi bir hedef. Yaw/pitch sınırlamasını, yumuşatmayı, hedef kafanın arkasına geçtiğinde anti-flip korumasını ve gerçekçilik için isteğe bağlı mikro-sakkadları destekler.

Mod Seçimi

Düğüm, düğümün Details panelindeki Mode açılır menüsünden seçilen iki modu destekler:

ModeNe sürdüğüNereye yerleştirileceği
Eğriler (varsayılan)Yüz Control Rig göz bakış eğrileri (CTRL_expressions_eyeLook*)Yüz Animation Blueprint içinde (örn. Face_AnimBP), Control Rig düğümünden önce
KemiklerFACIAL_L_Eye / FACIAL_R_Eye kemikleri doğrudan, Control Rig'i atlayarakYüz Post Process Animation Blueprint içinde (örn. Face_PostProcess_AnimBP), AnimNode_RigLogic düğümünden sonra

Curves modu önerilen varsayılandır. Değerler, kemik dönüşümleri üzerinde çakışmak yerine normal Control Rig değerlendirmesiyle birleştirildiği için, diğer eğri tabanlı yüz sistemleriyle (lip sync, ifadeler, ARKit blendshape'leri vb.) temiz bir şekilde uyum sağlar.

Eğri modu çalışmadığında, Kemik modunu kullanın.

Bazı MetaHuman varyantlarında (özellikle eski rig'lerde, Quixel Bridge üzerinden indirilenler dahil), göz bakış eğrileri aslında gözleri sürmüyor. Görünür belirti, Curves modu düğümü etkinken, hedef konumdan bağımsız olarak gözlerin aşağı bakması ve göz bebeklerinin neredeyse gizlenmesidir.

Bunu görürseniz Bones moduna geçin. Bones 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 Bones sekmesine bakın.

Kurulum

Varsayılan kurulum. Düğüm, standart Face Animation Blueprint içinde yer alır ve yüz Control Rig göz bakışı eğrilerini sürer.

İki adım: Anim Graph’unuza düğümü ekleyin, ardından Event Graph’tan ona bir hedef konum besleyin.

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

Face Animation Blueprint'inizin Anim Graph'unda:

  1. Bir Runtime MetaHuman Eyes Aim düğümü ekleyin
  2. Ayrıntılar panelinde Mode ayarını Curves olarak bırakın
  3. Göz bakış eğrilerine yazabilecek diğer tüm yüz mantığından (lip sync, özel animasyonlar vb.) sonrasına yerleştirin; Auto Blink Control Rig düğümüyle aynı prensip
  4. Mevcut pozu Source Pose'a bağlayın
  5. Çıktıyı zincirinizdeki bir sonraki düğüme (veya Output Pose) bağlayın
  6. Bir Vector Blueprint değişkeni oluşturun (ör. TargetWorldLocation) ve bunu düğümün Target World Location pinine bağlayın. Bu değişkeni sonraki adımda Event Graph'tan güncelleyeceksiniz.

Eyes Aim Anim Graph setup

2. Event Graph: hedef konumu girin

Target World Location pini, dünya uzayında bir FVector bekler. Yaygın bir durum, MetaHuman'ın oyuncu kamerasına bakmasıdır. Event Blueprint Update Animation içinde:

  1. Player Camera Manager öğesini al (Player Index 0)
  2. Is Valid kontrol et
  3. Geçerliyse, Get Camera Location çağır
  4. Bunu TargetWorldLocation Blueprint değişkeninde sakla

Eyes Aim, tracking the camera

Bunun yerine rastgele bir aktörü (NPC, öğe, 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, Target World Location değerini bir kez ayarlayın veya düğümün Details panelinde sabit olarak kullanın.

Yapılandırma

Tüm ayarlar, Runtime MetaHuman Eyes Aim düğümünün Details panelinde açığa çıkarılmıştır.

Hedefle ve Sınırla

Hedef

ÖzellikVarsayılanAçıklama
ModeEğrilerGözlerin nasıl sürüldüğünü seçer. Mod Seçme bölümüne bakın.
Hedef Dünya Konumu(0,0,0)Gözlerin baktığı dünya uzayı noktası. Varsayılan olarak bir pin olarak açığa çıkarılır.
bEnabledtruefalse olduğunda, gözler öne doğru gevşer ve hedefi yok sayar. Varsayılan olarak bir pin olarak açığa çıkarılır.

Kelepçe

ÖzellikVarsayılanAçıklama
Maksimum Yaw Derecesi35°Başın ileri yönünden maksimum yatay (yaw) sapması. 0 ile 80 arasında sınırlandırılmıştır.
Maksimum Pitch Derecesi25°Başın ileri yönünden maksimum dikey (pitch) sapması. 0 ile 80 arasında sınırlandırılmıştır.
Arka Tarafa Devrilmeyi ÖnletrueHedef başın arkasına geçtiğinde gözlerin devrilmesini önler.
Yumuşatma ve Sakkadlar

Yumuşatma

ÖzellikVarsayılanAçıklama
Enterpolasyon Hızı12.0Göz hareketi için yumuşatma hızı. Daha yüksek = daha canlı, daha 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, kusursuz derecede pürüzsüz takibin "ölü göz" görünümünü önler.

ÖzellikVarsayılanAçıklama
Sakkadları EtkinleştirtrueMikro-sakkadları açıp kapatır.
Sakkad Yaw Genliği Derece1,5°Sakkad başına maksimum yatay titreme. Küçük değerler (1–2°) doğal hissettirir; daha büyük değerler sinirli görünür.
Sakkad Pitch Genliği Derece1,0°Sakkad başına maksimum dikey titreme. Genellikle yaw genliğinden biraz daha küçüktür.
Minimum Sakkad Aralığı0,6 snSakkadlar arasındaki minimum süre.
Maksimum Sakkad Aralığı2,5 snSakkadlar arasındaki maksimum süre. Daha büyük değerler daha sakin, daha küçük değerler daha huzursuz hissettirir.
Kemikler (yalnızca Kemikler 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, kafa 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ılanlar, standart MetaHuman yüz CR'si için ayarlanmıştır ve nadiren değiştirilmeleri gerekir.

ÖzellikVarsayılanAçıklama
Yaw Derece Birim Eğri Başına30°Yaw bakış eğrileri için 1.0 eğri değerine karşılık gelen açı.
Pitch Derece Birim Eğri Başına25°Pitch bakış eğrileri için 1.0 eğri değerine karşılık gelen açı.

Lip Sync ve Diğer Animasyonlarla Birleştirme

Her iki yardımcı da, eklentinin lip sync düğümleri ve halihazırda sahip olduğunuz özel yüz animasyonlarıyla birlikte çalışacak şekilde tasarlanmıştır.

  • Eyes Aim, aynı zincirde lip sync ve özel yüz animasyonlarından sonra yerleştirilmelidir; böylece göz bakış değerleri aşağı akışta üzerine yazılmaz. Yukarıdaki Mod Seçme ve Kurulum bölümlerine bakın.
  • Auto Blink, basit bir doğrusal yerleştirme yerine Layered blend per bone düğümü kullanır; Control Rig düğümünü Base Pose girişine bağlama hakkında yukarıdaki Yerleştirme Önemlidir ipucuna bakın.
Akış Şemasını Detaylı Görüntüle (Eğriler ve Kemikler Modu)

MetaHuman rig'inizin önerilen Curves Mode mu yoksa yedek Bones Mode mu kullandığı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 Face AnimBP içinde yaşamaya devam eder.

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 Control Rig 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ı Lazım?

Join our Discord
online · support

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