欧美有码视频,一区二区三区四区蜜桃,成人网ww555视频免费看,制服丝袜激情欧洲亚洲

我的訂單|我的收藏|我的商城|幫助中心|返回首頁
搜維爾科技[www.kinddeliver.com]>服務(wù)>案例分享 應(yīng)用研究>案例分享>游戲動(dòng)畫

Unity:揭秘?cái)?shù)字人制作流程

文章來源: 作者:frank 發(fā)布時(shí)間:2021年08月26日 點(diǎn)擊數(shù): 字號:

數(shù)字人、虛擬形象的開發(fā)逐漸成為了新興的技術(shù)議題,除了用于虛擬真人類形象,數(shù)字人的開發(fā)技術(shù)也能讓角色表情更加生動(dòng),并且與觀眾互動(dòng)。近期,Unity 技術(shù)團(tuán)隊(duì)制作了一個(gè)數(shù)字人Demo,很多業(yè)內(nèi)人士都對此表示很有興趣。

Unity技術(shù)開放日-上海站上,Unity技術(shù)美術(shù)團(tuán)隊(duì)和技術(shù)團(tuán)隊(duì)就為大家介紹了這套基于 Unity的數(shù)字人生產(chǎn)流程。本文截取了其中的重點(diǎn)內(nèi)容,如果你對數(shù)字人感興趣不妨繼續(xù)讀下去。

“關(guān)于數(shù)字人臉部動(dòng)畫的制作,我們是用手機(jī)蘋果 ARKit 方法進(jìn)行面部表情捕捉的。”Unity TA團(tuán)隊(duì)的講師Michael說道。

關(guān)于面部表情捕捉,這其實(shí)是另外一項(xiàng)技術(shù),需要搭配蘋果手機(jī)并使用Face Cap app軟件,面部表情捕捉可以提供更高精度和細(xì)節(jié)的面部表情。通過使用 FBX 文件導(dǎo)件,可以用左邊的白模把動(dòng)作移動(dòng)到角色上。

有關(guān)虛擬人創(chuàng)作主要分為兩個(gè)主題,一個(gè)是渲染,一個(gè)是流程。接下來讓我們看看渲染部分的內(nèi)容。

虛擬人頭發(fā)渲染

渲染這里首先要做的第一件事,就是用機(jī)器掃描一位真人。

Unity最近發(fā)布了全新的頭發(fā)系統(tǒng)。基本頭發(fā)制作流程是用Maya X-gen來做頭發(fā),X-gen主要工具也是現(xiàn)在很多影視團(tuán)隊(duì)的選擇。之后再導(dǎo)到Unity里,生成tfx文件并在Unity里做頭發(fā)的渲染。這套頭發(fā)工具集成了AMD的頭發(fā)技術(shù),所以格外逼真。

在設(shè)置我們可以將不同的配置進(jìn)行分組,每個(gè)配置文件都可以調(diào)細(xì)節(jié)。頭發(fā)工具共分三個(gè)主要區(qū),一個(gè)控制頭發(fā)生成,一個(gè)控制頭發(fā)動(dòng)態(tài),最后一個(gè)控制頭發(fā)顏色, 美術(shù)師可以設(shè)計(jì)自己的組, 另外發(fā)尾部分的寬闊度也是可以動(dòng)態(tài)調(diào)整的。

Unity將頭發(fā)系統(tǒng)集成到HDRP(高清渲染管道)的頭發(fā)材質(zhì)里,用頭發(fā)黑色素物理參數(shù)調(diào)出喜歡的發(fā)色,也可以用Dye Color直接加入一個(gè)你想要的任何顏色。

虛擬人制作流程

整個(gè)過程很簡單,首先要根據(jù)FaceCode標(biāo)準(zhǔn)掃描極限表情,由模特在光場設(shè)備里做出那些表情,并被拍攝下來。剩下的事就是關(guān)于模型清理工作了,目前這部分也可以交給AI 算法來做從而實(shí)現(xiàn)節(jié)省人力的目的。

當(dāng)我們清理出模型之后便需要開始做BlendShap(以下簡稱BS)拆分,關(guān)于這一部分方法有很多。FACS 在理論上人支持60個(gè)極限表情,從解剖學(xué)上講,這60個(gè)表情可以非線性地組合出任意表情。但是我們做表情對話時(shí),沒辦法只用60個(gè)表情就做出所需的所有表情。因此,這就涉及到BS拆解過程了。拆解的數(shù)量,與用戶想追求的精度相關(guān),也跟成本相關(guān)。在此項(xiàng)目中僅僅掃描了45個(gè)有代表性的極限表情,并拆分出了300多個(gè)BS。

有些算法有可能會(huì)進(jìn)行重復(fù)拆解。實(shí)際上BS和BS不是完全疊加而回歸到極限表情,它可能有些加和減的關(guān)系。如果AI將BS拆解成這樣時(shí)就可能需要人為進(jìn)行修正。比如一個(gè)嘴唇往下的動(dòng)作是幾個(gè) BS 的組合,但是有一個(gè)BS是凹進(jìn)去的,那么這個(gè)凹進(jìn)去的就需要人為進(jìn)行修正。因?yàn)檫@些極限表情和別的表情組合的時(shí)候會(huì)出問題。出現(xiàn)這種問題的時(shí)候,就需要人為進(jìn)行修正,因此自動(dòng)拆的算法還需要演進(jìn)。

我們可以把表情貼圖簡單地劃分為表情和微表情。表情上結(jié)構(gòu)性的變化需要做在模型上,有些因?yàn)榻Y(jié)構(gòu)性變化而產(chǎn)生的擠壓的紋理性變化的話,則需要做成貼圖。貼圖是Winkle Map,它是一 Normal的表情貼圖,在不同表情間可進(jìn)行切換,一張臉上往往會(huì)有五六張Winkle Map。

其實(shí)在掃描之后的數(shù)據(jù)是要把眉毛和一些眼睫毛從Map上去掉的,因?yàn)樵谧鲋赝負(fù)浜托弈P蜁r(shí),這些都是噪聲,是不需要的;但這些東西又在渲染時(shí)會(huì)用到。因此需要先進(jìn)行刪除,然后后面再把這些部分給加回去。像在此項(xiàng)目中,眉毛是用插片的方式來做的。

流程上還有修貼圖,除了Winkle Map,還有一個(gè)Blood Flow Map(血流圖),當(dāng)你臉皺起來后,因?yàn)槭諗D壓,某個(gè)地方的血流圖會(huì)發(fā)生改變,那么這個(gè)地方的顏色會(huì)變深,這個(gè)表現(xiàn)在微表情中,也算在貼圖中。所以關(guān)于微表情的貼圖有兩套,Winkle和Blood Flow,這是比較常規(guī)的操作。

這里是我們發(fā)現(xiàn)可以繼續(xù)迭代的地方,修模型的部分,如果有足夠的美術(shù)資源,其實(shí)是不用考慮算法的問題。

修完模型,拆完BS之后一般會(huì)做Rigiging 和模型Capture,因?yàn)橛脩糇詈笙胍氖强焖偕a(chǎn)高質(zhì)量的表情動(dòng)畫。在Rigging中,相信大家一定會(huì)遇到一些這樣的情況,比如Retargeting,這是因?yàn)椴皇悄L厝ヲ?qū)動(dòng)他自己,而很可能是別人去驅(qū)動(dòng)他,所以一定會(huì)有 Retargeting;還有就是Secondary Geometry 、Dynamic Winkle與Blood Flow,但是現(xiàn)在Unity目前還沒做到Dynamic。目前本項(xiàng)目是在Shader中實(shí)現(xiàn)的,有關(guān)需要哪些貼圖,讓貼圖對應(yīng)表情等等一系列工作目前都是由用戶自己來處理的,但這些簡單枯燥的工作后期相信會(huì)有一些以AI的方式來實(shí)現(xiàn)。

關(guān)于模型Capture ,目前有兩個(gè)方案,用一些第三方提供的高精度結(jié)果去驅(qū)動(dòng)模型。在這個(gè)項(xiàng)目中,Unity團(tuán)隊(duì)通過ARKit或者谷歌開源的AR core里face的model來做特征提取,從而驅(qū)動(dòng)模型。但是模型capture也有可以迭代的地方,如果我們以Marker Based來驅(qū)動(dòng)的話,后期就可能會(huì)需要修改一些Marker Tracking有問題的地方。如果用戶選擇自己做或者買第三方的Motion Capture設(shè)備也是可以的。因?yàn)橛蓄^盔的話就可以做更高質(zhì)量的模型capture。

最后有關(guān)數(shù)字人的生態(tài)流程還有幾個(gè)問題,一個(gè)是真人掃描數(shù)據(jù)的處理,就是模型的重建,那就會(huì)牽扯到算法的事;一些掃描得不太好的地方要修;還有就是貼圖的重建。項(xiàng)目中出了剛才提到的兩張貼圖 Winkle Map 和 Blood Flow Map,其實(shí)我們還有一張?zhí)峁╊伾膱D,Color Map。現(xiàn)在的設(shè)備都有偏正光,所以它會(huì)給你偏正的結(jié)果,但是實(shí)際上用戶也要去做類似Delighting 的事,才能夠得到一個(gè)沒有光照的結(jié)果。

還有就是關(guān)于faceCode的掃描數(shù)據(jù),目前我們能見到的虛擬人都是這樣做的,就是模特去表演faceCode里的表情。做完之后進(jìn)行BlendShap、Winkle Map、Blood Flow Map以及Face Rigiging的制作。而目前Face Rigiging 沒有一致的標(biāo)準(zhǔn),基本上是用戶自己定義標(biāo)準(zhǔn),能實(shí)現(xiàn)一個(gè)合理的、容易做動(dòng)畫的搭建就可以了。如果沒有高質(zhì)量的模型capture前提下,做動(dòng)畫很多時(shí)候還是需要人工手動(dòng)修出來的,所以Face Rigiging這一步非常重要。

表情驅(qū)動(dòng)會(huì)有一套控制器,人臉上有很多點(diǎn),這里是參考 Unity 國外團(tuán)隊(duì)做《異教徒》項(xiàng)目的那一套來做的。傳統(tǒng)做動(dòng)畫的方式就是上文中提到的以人工修幀為主的方式,還有面部驅(qū)動(dòng)的方式,下一步Unity還將在這些流程之中試著加入一些AI的算法來優(yōu)化整體流程。

下圖是通過掃描得到的模型。我們可以清晰的看到在圖中有這樣那樣各種問題。就是說我們雖然也是非常高精度的攝像機(jī),基本攝像機(jī)有三套,一個(gè)負(fù)責(zé)顏色,一個(gè)負(fù)責(zé)光學(xué),還有一個(gè)負(fù)責(zé)高速攝像,這三套相機(jī)可以提供人臉重建的非常高面素的mesh,但是拿到的 Geometry 也會(huì)有這樣的問題,就比如像我們拿到的頭是左邊那樣子的,但是模型的眼睛基本上全部壞掉了,這就需要建模師把它給手工修出來。還有耳朵也有可能是壞掉的,總之,掃描出來的模型會(huì)有很多壞掉的地方,這就是修模型時(shí)候后期要處理的事。

在修完模型之后,我們需要將模型重拓?fù)涞揭粋€(gè)合適的 Layout,還有就是上文中提到的掃描出來的模型也會(huì)提供Normal的貼圖。貼圖里有什么東西呢?這里其實(shí)也有一個(gè)值得迭代的點(diǎn),就是這個(gè)貼圖的使用率,實(shí)際上現(xiàn)在有很多做影視的公司,他們其實(shí)都在要求高分辨率的貼圖,比如16K的貼圖。但正是因?yàn)榫炔粔颍瑢?shí)際上貼圖的 layout 是不太好的。

制作表情,需要遵循以下步驟:

第一步,是先Remove掉那些我們不想要的Geometry,這里包含上文中說到的眉毛、眼睫毛這些,還有一些噪點(diǎn),因?yàn)樗鼟叱鰜淼哪莻€(gè)面素是一個(gè)巨大的開銷,所以我們需要清理掉它。

第二步,在清理掉它之后,我們需要重拓?fù)洌F(xiàn)在大家重拓?fù)涠紩?huì)用3D軟件來做。

這里我們加Subdivide base mesh的原因是因?yàn)榍謇碇笥幸恍┑胤叫枰黾蛹?xì)節(jié),比如眼皮的地方,如果是雙眼皮,一定是把它給疊起來的,因?yàn)樵趯碜鰟?dòng)畫時(shí)一定會(huì)有閉眼的時(shí)候。所以在眼皮處的Mesh的段數(shù)要加多一些,然后再去掉一些噪聲和進(jìn)行一些細(xì)節(jié)處理就可以了。

電話:010-50951355 傳真:010-50951352  郵箱:sales@www.kinddeliver.com ;點(diǎn)擊查看區(qū)域負(fù)責(zé)人電話
手機(jī):13811546370 / 13720091697 / 13720096040 / 13811548270 / 13811981522 / 18600440988 /13810279720 /13581546145

  • 暫無資料
  • 暫無資料
  • 暫無資料
  • 暫無資料
  • 暫無資料
主站蜘蛛池模板: 睢宁县| 兴安盟| 大悟县| 江津市| 嵊泗县| 富顺县| 遵化市| 和龙市| 新密市| 临安市| 新密市| 兴业县| 林州市| 灵丘县| 黑山县| 镇康县| 龙川县| 广宗县| 道真| 云龙县| 莆田市| 吉木乃县| 光山县| 台东县| 桓台县| 中山市| 高州市| 从化市| 迭部县| 河北区| 崇礼县| 乌什县| 崇信县| 永德县| 满洲里市| 阜宁县| 宝兴县| 廊坊市| 抚州市| 富源县| 隆子县|