【Nvidia Audio2Face輸出到Maya創建真實臉部動態 】使用音訊生成極真實的臉部說話動態

【Nvidia Audio2Face輸出到Maya創建真實臉部動態 】使用音訊生成極真實的臉部說話動態

 






Audio2Face是由nvidia開發的,將音訊轉換為model說話動態的工具,非常好用,只要匯入WAV音檔就能夠自動生成一連串極真實的表情動態,而且通過內建的wrap工具可以套用在任何模型上!


底下就紀錄如何使用這套工作流程!


1.安裝omniverse




首先需要先下載nvidia omniverse!






omniverse安裝完成之後,就可以安裝Audio2Face。






完成之後點選LAUNCH就可以進入到Audio2Face介面。













2.從Maya中匯出模型到Audio2Face




現在準備將model匯出,這邊我使用advanced skeleton提供的模型。

通常安裝完omniverse,就會自動在may或是選中的DCC軟體安裝omniverse這個外掛,要輸出模型到A2F也是要依賴這個外掛!










回到A2F這邊,匯入剛剛輸出的model,另外按下+Skin Templates,這個按鈕會匯入兩個模型,綠色的張嘴模型是用來wrap到我們從maya輸出的model,而灰色的模型則是用來生成說話表情動態!













3.將輸出的模型Wrap到A2F模型


這個步驟就是要將剛剛從maya匯入的模型套用到A2F內建的模型上,概念就跟Zwrap差不多,目的是為了將A2F內建的模型套用到我們自己做的模型上!


流程差不多就是選擇兩個模型相對應的點來配對,然後可以搭配edit、delete模式來調整對位點。










定位點都安插的差不多就可以開始wrap模型。

然後將定位點跟綠色模型隱藏,選取灰色模型後使用+A2F Pipeline這個功能將A2F節點加入進來,按下播放鍵,就可以看到我們匯入的模型完美地跟A2F模型同步!!!














4.使用面板調整各種表情細節+匯入音訊





A2F面板中有很多可以調整說話表情的選項。










除了內建的音訊之外,A2F也支援匯入WAV檔案,所以可以自己錄音之後輸入。












5.輸出動態回到Maya



那麼,當說話動態已經調整得差不多就可以開始輸出匯入到maya。


輸出可以選擇USD或是MAYA Cache,建議使用後者,因為USD檔案頗大,匯入scene會讓檔案變得很重!


進入maya之,選擇模型然後import geometry cache就可以套用輸出的動態!!!










6.選擇輸出ARkit BlendShape Keyframe





A2F還支援ARKIT的動態,所以也可以使用這種方式輸出動態,前提是一開始匯入的模型需要有ARKIT的52組Bs。

這邊示範如何使用這個方式方式來匯出動態!



首先要準備好具備ARkit Blendshape的模型,命名也要正確。










然後新增一個joint skin到這個模型上!

接著一樣使用omniverse的外掛輸出USD到A2F。









輸出選項要使用Skeletal mesh。


進到A2F之後按照影片中的設定即可將動態套用到ARKIT的blendshape上!









接著,可以輸出這些blendshape的數值回到maya,然後使用script將這些數值移植到模型上!



import json
import maya.cmds as mc

file_path = r'檔案位置'

with open(file_path, 'r') as f:
    facs_data = json.loads(f.read())
    facsNames = facs_data['facsNames']
    numposes = facs_data["numPoses"]
    numFrames = facs_data['numFrames']
    weightMat = facs_data["weightMat"]

    bsNode = '模型blendshape節點名稱'
    for fr in range(numFrames):
        for i in range(numposes):
            mc.setKeyframe(bsNode + '.' + facsNames[i], v=weightMat[fr][i], t=fr)









7.匯入音檔檢視




最後,可以將音訊檔案匯入到maya播放一起檢視動態!













如果覺得這篇文章有幫助你在動畫之路走得更長遠,可以使用 Google 或 Facebook 帳號快速登入,按Like五下,就可以幫助我從Likecoin得到回饋,完全不用任何費用! 一點點的鼓勵都會成為我寫作的動力,感激不盡! If you found this article helpful in your journey in animation, you can use your Google or Facebook account to quickly log in and click Like five times to help me earn rewards from Likecoin, without any cost! Your encouragement means a lot to me and will become the motivation behind my writing. Thank you so much!


 




張貼留言

0 留言