Ana içeriğe geç

Göz Animasyon 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:

  • Auto Blink: Bir MetaHuman üzerinde doğal, rastgele göz kırpmaları üreten bir yardımcı
  • Eyes Aim: 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ılabilirler. Manuel olarak oluşturmak zorunda 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
Bu yardımcılar ne zaman kullanılmalı

Eğer 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 kırpma olmayan animasyon sekanslarınız olduğunda veya gözlerin dinamik olarak hareket eden bir hedefi takip etmesi gerektiğinde (statik animasyon sekanslarının yapamayacağı bir şey) olduğu gibi, gerçekçi göz davranışını kendiniz oluşturmadan elde etmek istediğiniz durumlar için vardır. Ayrıca, mevcut yüz animasyonlarının üzerine katman olarak eklenerek, yalnızca ağzı hareketlendiren bir sekansa göz kırpma eklemek gibi eksik parçaları tamamlayabilirler.

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ğinden Update MetaHuman Auto Blink fonksiyonunu çağırır ve karenin delta zamanını iletirsiniz. Fonksiyon:

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

Kurulum

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

1. Olay Grafiği: her karede göz kırpma değerlerini sürün

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

  1. Update MetaHuman Auto Blink fonksiyonunu çağırın
  2. Olaydan gelen Delta Time X'i 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ür
  4. Left Blink Value ve Right Blink Value çıktılarını Blueprint değişkenlerine yükseltin (ör. LeftBlinkValue, RightBlinkValue)

Otomatik Göz Kırpma Olay Grafiği kurulumu

2. Anim Grafiği: değerleri Yüz Kontrol Rig'ine besleyin

Aynı Animasyon Blueprint'inin Anim Grafiği'nde:

  1. Göz kırpma eğrilerine yazabilecek diğer tüm yüz mantığından sonra (ör. Blend Runtime MetaHuman Lip Sync ve herhangi bir özel yüz animasyon katmanından sonra) bir Control Rig düğümü yerleştirin
  2. Düğümün Ayrıntılar panelinde, Control Rig Class'ını MetaHuman yüz Control Rig'iniz olarak ayarlayın. Yol genellikle şöyledir:
    • /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. Ayrıntılar panelinde, Input bölümünü genişletin ve aşağıdakiler için Use Pin'i 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

Otomatik Göz Kırpma Anim Grafiği kurulumu

Yerleştirme önemlidir

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

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 istiyorsanız aşağıyı genişletin.

Config özellikleri

Zamanlama

ÖzellikVarsayılanAçıklama
Min Time Between Blinks2.0 sGözler tamamen açıkken göz kırpmalar arasındaki minimum aralık.
Max Time Between Blinks4.0 sGöz kırpmalar arasındaki maksimum aralık. Gerçek aralık, minimum ve maksimum arasında rastgele belirlenir.
Min Closed Hold Time0.04 sGözlerin tamamen kapalı kaldığı minimum süre.
Max Closed Hold Time0.08 sGözlerin tamamen kapalı kaldığı maksimum süre.

İnterpolasyon

ÖzellikVarsayılanAçıklama
Close Interp Speed35.0Gözleri kapatırkenki hız. İnsanlar gözlerini açtıklarından daha hızlı kapatırlar, bu nedenle bu değer kasıtlı olarak açma hızından daha yüksektir.
Open Interp Speed18.0Gözleri açarkenki hız.
Closed Threshold0.97Göz kırpmanın "tamamen kapalı" olarak kabul edildiği ve bekleme fazının başladığı değer.
Open Threshold0.02Göz kırpmanın "tamamen açık" olarak kabul edildiği ve bir sonraki göz kırpmanın planlandığı değer.

Diğer

ÖzellikVarsayılanAçıklama
Independent Eyesfalsetrue olduğunda, sol ve sağ göz ayrı zamanlamalarla bağımsız olarak kırpar. false (varsayılan) olduğunda, her iki göz mükemmel bir uyum içinde kırpar.
bEnabled (fonksiyon pini)truefalse olduğunda, gözler yavaşça açılır ve göz kırpma duraklar. Sinematik sahneler, uyku, ölüm vb. için kullanışlıdır.

Çalışma Zamanı Kontrolü

Belirli bir AnimInstance için dahili durumu açıkça temizlemek amacıyla Reset Auto Blink State fonksiyonunu da çağırabilirsiniz (ör. bir karakteri yeniden doğururken veya sinematik durumlar arasında geçiş yaparken).

Göz Hedefi

Göz Hedefi yardımcısı, karakterin gözlerinin bir dünya-uzayı konumunu (örneğin, oyuncu kamerası, başka bir aktör veya hareket eden herhangi bir hedef) takip etmesini sağlayan bir Animasyon Blueprint düğümüdür (Runtime MetaHuman Eyes Aim). Yalpalama/eğim sınırlamasını, yumuşatmayı, hedef başın arkasına geçtiğinde ters dönme korumasını ve gerçekçilik için isteğe bağlı mikro-sakkadları 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:

ModNeyi sürerNereye yerleştirilir
Eğriler (varsayılan)Yüz Kontrol Rig'inin göz bakış eğrileri (CTRL_expressions_eyeLook*)Yüz Animasyon Blueprint'inde (ör. Face_AnimBP), Control Rig düğümünden önce
KemiklerDoğrudan FACIAL_L_Eye / FACIAL_R_Eye kemiklerini, Control Rig'i atlayarakYüz Son İşlem Animasyon Blueprint'inde (ör. Face_PostProcess_AnimBP), AnimNode_RigLogic düğümünden sonra

Eğriler modu önerilen varsayılandır. Değerler, kemik dönüşümleri üzerinde savaş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 birleşir.

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

Bazı MetaHuman varyantlarında (özellikle Quixel Bridge aracılığıyla indirilenler dahil olmak üzere eski rig'ler), göz bakış eğrileri aslında gözleri sürmez. Görünür belirti, hedef konumundan bağımsız olarak Eğriler modu düğümü etkinken gözlerin neredeyse gözbebekleri gizlenmiş şekilde aşağı bakmasıdır.

Bunu görürseniz, Kemikler moduna geçin. Kemikler modu, göz kemiklerini doğrudan döndürür, bu nedenle Control Rig'in nasıl bağlandığına bakılmaksızın 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 Animasyon Blueprint'inde bulunur ve yüz Control Rig'inin göz bakış eğrilerini sürer.

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

1. Anim Grafiği: düğümü ekleyin

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

  1. Bir Runtime MetaHuman Eyes Aim düğümü ekleyin
  2. Ayrıntılar panelinde Mod'u 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, Otomatik Göz Kırpma Control Rig düğümüyle aynı prensiple yerleştirin
  4. Mevcut pozu Source Pose'a bağlayın
  5. Çıktıyı zincirinizdeki bir sonraki düğüme (veya Output Pose'a) bağlayın
  6. Bir Vector Blueprint değişkeni (ör. TargetWorldLocation) oluşturun ve düğümün Target World Location pinine bağlayın. Bu değişkeni bir sonraki adımda Olay Grafiğinden güncelleyeceksiniz.

Göz Hedefi Anim Grafiği kurulumu

2. Olay Grafiği: bir hedef konumu besleyin

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

  1. Player Camera Manager'ı alın (Player Index 0)
  2. Is Valid ile kontrol edin
  3. Geçerliyse, Get Camera Location'ı çağırın
  4. Bunu TargetWorldLocation Blueprint değişkeninde saklayın

Göz Hedefi, kamerayı takip etme

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, Target World Location'ı bir kez ayarlayın veya düğümün Ayrıntılar panelinde bir sabit olarak kullanın.

Yapılandırma

Tüm ayarlar, Runtime MetaHuman Eyes Aim düğümünün Ayrıntılar panelinde gösterilir.

Hedefleme ve Sınırlama

Hedefleme

ÖzellikVarsayılanAçıklama
ModEğrilerGözlerin nasıl sürüleceğini seçer. Bkz. Bir Mod Seçme.
Target World Location(0,0,0)Gözlerin baktığı dünya-uzayı noktası. Varsayılan olarak bir pin olarak gösterilir.
bEnabledtruefalse olduğunda, gözler yavaşça ileriye döner ve hedefi yok sayar. Varsayılan olarak bir pin olarak gösterilir.

Sınırlama

ÖzellikVarsayılanAçıklama
Max Yaw Degrees35°Başın ileri yönünden maksimum yatay (yalpalama) sapma. 0 ile 80 arasında sınırlandırılmıştır.
Max Pitch Degrees25°Başın ileri yönünden maksimum dikey (eğim) sapma. 0 ile 80 arasında sınırlandırılmıştır.
Anti Flip BehindtrueHedef başın arkasına geçtiğinde gözlerin ters dönmesini önler.
Yumuşatma ve Sakkadlar

Yumuşatma

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

ÖzellikVarsayılanAçıklama
Enable SaccadestrueMikro-sakkadları açar/kapatır.
Saccade Yaw Amplitude Deg1.5°Sakkad 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°Sakkad başına maksimum dikey titreme. Genellikle yalpalama genliğinden biraz daha küçüktür.
Min Saccade Interval0.6 sSakkadlar arasındaki minimum süre.
Max Saccade Interval2.5 sSakkadlar 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
Left Eye BoneFACIAL_L_EyeSol göz kemiği adı. Standart MetaHuman yüz iskeletiyle eşleşir.
Right Eye BoneFACIAL_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 Degrees Per Unit Curve30°Yalpalama bakış eğrileri için 1.0 eğri değerine eşlenen açı.
Pitch Degrees Per Unit Curve25°Eğim bakış eğrileri için 1.0 eğri değerine eşlenen açı.

Dudak Senkronizasyonu ve Diğer Animasyonlarla Birleştirme

Her iki yardımcı da eklentinin dudak senkronizasyonu düğümleri ve sahip olduğunuz herhangi bir özel yüz animasyonuyla bir arada var olacak şekilde tasarlanmıştır. Genel kural: Göz Hedefi ve Control Rig (otomatik göz kırpma) düğümlerini dudak senkronizasyonu ve herhangi bir özel yüz animasyonundan sonra yerleştirin, böylece değerleri akış aşağısında üzerine yazılmaz.

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

MetaHuman rig'inizin önerilen Eğriler Modu mu yoksa yedek Kemikler Modu 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 şemayı genişletin:

Otomatik göz kırpma ve dudak senkronizasyonu, her iki modda da normal Yüz AnimBP'sinde 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ıştır.

Yardıma mı ihtiyacınız var?

Join our Discord
online · support

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