激情六月丁香婷婷|亚洲色图AV二区|丝袜AV日韩AV|久草视频在线分类|伊人九九精品视频|国产精品一级电影|久草视频在线99|在线看的av网址|伊人99精品无码|午夜无码视频在线

高校合作1:010-59833514 ?咨詢電話:400-810-1418 服務(wù)與監(jiān)督電話:400-810-1418轉(zhuǎn)接2

B站幻星數(shù)字人3D渲染技術(shù)揭秘

發(fā)布時間:2024-04-13 17:51:49 瀏覽量:261次

原創(chuàng) 幻星數(shù)字人團隊 嗶哩嗶哩技術(shù) 2023-07-28 12:00 發(fā)表于上海

收錄于合集

#實時渲染1個

#虛擬制作1個

#B站119個

本期作者



Paladin

嗶哩嗶哩技術(shù)專家


怪盜基德

嗶哩嗶哩資深開發(fā)工程師




KayPlus

嗶哩嗶哩資深開發(fā)工程師


AI醬

嗶哩嗶哩資深開發(fā)工程師



一 背景簡介


1 幻星數(shù)字人簡介


,時長00:07

幻星數(shù)字人風(fēng)格展示


幻星數(shù)字人是天工制作部聯(lián)合人工智能平臺部虛擬人算法組打造的3D數(shù)字人解決方案,主要由工業(yè)化數(shù)字人智能生成管線+AI驅(qū)動的表情與動作捕捉系統(tǒng)兩部分構(gòu)成。如上圖所示,渲染風(fēng)格涵蓋卡通/游戲CG/古風(fēng)/超寫實等,能夠兼容市面上大部分主流審美。目前支持的上游業(yè)務(wù)包括3D數(shù)字人直播,虛實融合的內(nèi)容創(chuàng)作投稿,平臺級用戶虛擬形象專項,3D虛擬禮物,3D虛擬偶像IP孵化等。行業(yè)中對標的競品包括網(wǎng)易伏羲虛擬人平臺,百度希壤數(shù)字人平臺,騰訊超級QQ秀,快手KVS虛擬演播助手等。

幻星數(shù)字人整體的技術(shù)思路是依托UE/Unity等頭部商業(yè)引擎工具鏈和渲染架構(gòu),針對業(yè)務(wù)需求進行源碼級別的二次開發(fā)與平臺化改造,實現(xiàn)跨平臺多模態(tài)的數(shù)字人內(nèi)容制作方案。目標有兩個:一是降低內(nèi)外部PGC創(chuàng)作者在虛擬制作方向上的成本和門檻,提供更高效的上下游工具鏈和豐富的資產(chǎn)模板。二是逐步向UGC內(nèi)容方向進行滲透,以“為B站每個用戶提供一個虛擬形象“為切入點,撬動用戶在虛擬世界進行自我展示,內(nèi)容表達的欲望,從而拉動虛擬內(nèi)容在供給側(cè)的效能,為整體的虛擬生態(tài)帶來消費增量。

本文將重點介紹人資產(chǎn)生成管線的技術(shù)方案與細節(jié),著重分享真實感渲染,角色個性化定制,物理仿真等行業(yè)難點問題在幻星側(cè)的解決思路。也非常歡迎各位前來建聯(lián)溝通,業(yè)務(wù)合作和技術(shù)交流。


二 打造具有行業(yè)競爭力的

實時虛擬角色制作管線


1 兼顧品質(zhì)與性能的虛擬人渲染系統(tǒng)


1.1 真實感渲染


1.1.1 三千煩惱絲,一絲勝一絲-虛擬人頭發(fā)渲染的技術(shù)方案


頭發(fā)渲染面臨的技術(shù)挑戰(zhàn)主要分為幾何結(jié)構(gòu)和光照陰影兩部分:

  • 幾何結(jié)構(gòu):真實人體的發(fā)絲一般有10w根左右,并且頭發(fā)是彎曲的,如果完全按照真實發(fā)絲一比一還原,所需要的頂點數(shù)是海量的,不管是從資源制作上,還是實時渲染都不可能負擔(dān)的起。市面上的主流游戲通常采用hair card模型加上透明貼圖的方式來模擬發(fā)絲。
  • 光照陰影:真實世界中,一根發(fā)絲上的不同部位受到光的影響不同,每根發(fā)絲間也并不是獨立的,發(fā)絲間互相遮擋影響,互相交錯造成了復(fù)雜的光學(xué)現(xiàn)象,從而使得我們無法用一個單一準確的物理模型進行模擬從而得到較好的效果。

目前行業(yè)中相對比較成熟的寫實發(fā)型建模方案主要分為兩種:一種是傳統(tǒng)3A游戲中大量使用的基于頭發(fā)插片的Hair Card模型,典型案例如《最后生還者》《神秘海域4》等,在低配機器或移動端上,該方案會進一步退化成純Mesh模型,以降低渲染開銷。另一種是近幾年隨著軟硬件性能不斷提升,各大廠商基于發(fā)絲發(fā)束的Strand-Based模型,提供更好的物理效果和光影視效,典型案例如AMD的TressFx, Nvidia的HairWorks,UE5的Groom方案等。下圖結(jié)合幻星虛擬人的具體業(yè)務(wù)需求,對這兩類方法進行三個維度的對比。



Hair Card/Mesh

Strand-Based Hair

模型制作

  • 限制大,造型不能太過復(fù)雜卷曲,否則計算出的光照分布雜亂。
  • 制作工藝繁瑣費時,容易出錯,需要處理每片頭發(fā)的前后位置關(guān)系、透明貼圖的發(fā)絲粗細、模型布線平整等。
  • 無限制,頭發(fā)以strand為單位進行建模。
  • 制作方便,頭發(fā)以strand為單位進行建模,這種建模方式正是美術(shù)同學(xué)在建模軟件中制作頭發(fā)的第一步工序,同時還省去后面制作hair card的時間消耗。

光影效果

  • 較粗糙,比如光照缺少真實頭發(fā)蓬松的質(zhì)感,發(fā)絲較粗,如果采用透明剔除方式則邊緣會很粗糙,如果采用半透明方式又會有排序問題。使用比較簡單的渲染模型,復(fù)雜效果無法表現(xiàn)。
  • 渲染逼真度高,方便基于發(fā)束進行剔除,更細的發(fā)絲,能夠更好的表現(xiàn)頭發(fā)間復(fù)雜的光照交互。

性能

  • 性能較好,對硬件要求低,普通電腦可流暢運行
  • 移動設(shè)備上退化成Mesh方案,常見于主流角色扮演類手游中
  • 硬件設(shè)備要求高,渲染開銷較大,資源占用高


下圖可以直觀對比Hair Mesh 和 Strand Based兩種方式下的初始頭發(fā)模型形態(tài)。


Hair Mesh 白模 Strand Based 白模


在數(shù)字人直播領(lǐng)域,特別是移動直播間/PC游戲直播間等場景,對性能有較高要求,我們采用以Hair Mesh為主的降級策略來進行模型制作。而在虛擬偶像,虛實融合的投稿視頻制作中,為了提升效果表現(xiàn),幻星虛擬人則是圍繞Strand-Based方案打造了對應(yīng)的升級方案。下文將分別詳細介紹兩種方案的著色步驟與技術(shù)細節(jié)。


Strand-Based 頭發(fā)渲染


直接上PBR來渲發(fā)束:硬邊問題,光影粗糙


Multiple Scattering優(yōu)化后,層次感立體感提升明顯


目前寫實方向上,行業(yè)里主流的渲染方案是基于PBR(Physically-Based Rendering)著色模型來構(gòu)建的,用來渲染場景,道具,衣服等常規(guī)物體是游刃有余的。但在基于發(fā)束的人物頭發(fā)模型上,由于特殊的物理結(jié)構(gòu),通用方案無法獲得較高的渲染質(zhì)量,如上左圖所示,硬邊,高光不成型,缺乏立體感等問題非常明顯。經(jīng)過對Frostbite在Siggraph19上分享的發(fā)束渲染方案的研究,我們引入了新的渲染流程,如上右圖所示,在光影層次和立體感上有了較大的提升。那么我們是如何一步步優(yōu)化成上圖的究極形態(tài)呢?為了解決這個問題,我們先要理解真實頭發(fā)的物理結(jié)構(gòu)。


理解真實頭發(fā)物理結(jié)構(gòu)



毛小皮:毛表皮的最外層結(jié)構(gòu),由扁平細胞交錯,呈魚鱗片狀,從毛根排列到毛梢,包裹著內(nèi)部的皮質(zhì)。

毛皮質(zhì):毛皮質(zhì)占毛發(fā)成分的75%至90%,由柔軟的角蛋白構(gòu)成,對頭發(fā)受光表現(xiàn)有著比較大的貢獻。

毛髓質(zhì):位于頭發(fā)的中心,細胞集合體以一至二并排呈立方體的蜂窩狀排列著,內(nèi)部是空心的空狀結(jié)構(gòu)。和毛皮質(zhì)一起影響了頭發(fā)的散射、透射效果。

通過對頭發(fā)真實構(gòu)造進行觀察,我們發(fā)現(xiàn)造成頭發(fā)像稻草的主要原因有二。

首先在于傳統(tǒng)的頭發(fā)渲染方式,只考慮到了表層的反射,而忽略了光線在皮質(zhì)層中的散射和光線與多根頭發(fā)間交互的復(fù)雜形態(tài)。

并且一根發(fā)絲往往小于一個像素,且有多根頭發(fā)堆疊在同一個像素中的情況。如果直接通過傳統(tǒng)的光柵化填充像素,則會造成頭發(fā)過硬。

因此,針對這些問題,我們采用了更貼近頭發(fā)真實構(gòu)造的物理建模,將頭發(fā)渲染拆成了單次散射、多重散射和可見性計算三個部分,下文會分別介紹各部分的具體實現(xiàn)。


發(fā)束光照著色的主要步驟


發(fā)束光照計算主要分為下圖所示的三個步驟:單次散射->多重散射->可見性計算


單次散射


僅描述單根發(fā)絲受光照的影響,不考慮頭發(fā)間的相互作用。常用的是Marschner Model,模擬了頭發(fā)在遠距離下的觀察效果,沒法很好的模擬近距離下的發(fā)絲。


直接上PBR來渲發(fā)束:硬邊問題,光影粗糙


單次散射效果:頭發(fā)光影細膩一些


從上圖對比可以看出,單次散射的效果明顯比PBR更具有頭發(fā)的質(zhì)感。



單次散射通常按光路拆成3部分進行獨立計算,最后結(jié)合成最終的渲染效果。

  • R(Reflective)表示光直接照射到毛鱗片微表面上后,立即反射出去這一路徑。
  • TT(Transmissive)表示光進入頭發(fā)內(nèi)部后,有一部分被吸收,剩下的部分直接從另一邊穿過發(fā)絲的光路。(皮質(zhì)、髓質(zhì)統(tǒng)一看成一種散射介質(zhì))
  • TRT則表示光照進入發(fā)絲介質(zhì)發(fā)生一次折射后,在內(nèi)壁進行了一次反射,最后又再次折射出發(fā)絲這一路徑。

由于性能原因,光照在近似圓柱的發(fā)絲上,可拆成沿著發(fā)絲生長方向(M項)和發(fā)絲圓周方向(N項)的乘積,通過頭發(fā)表面粗糙度、吸收因子以及頭皮傾斜角度作為影響因子來計算。

其中N項的TT路徑分布函數(shù)通過一張LUT圖做了近一步的簡化。



多重散射


Single Scattering Only With Multiple Scattering


多重散射增加了光線在多個發(fā)絲之間的相互作用。通過上圖對比單次散射和多重散射的效果可以看出,右圖的多重散射提升了頭發(fā)顏色飽和度,還原了更真實的光影層次,提升了頭發(fā)整體的立體感。

多重散射的核心思路是采用局部散射+全局散射來實現(xiàn)對多次散射的模擬。局部散射只需要渲染點附近區(qū)域參與計算,而全局散射要通過考慮沿著光照方向或者陰影方向來計算散射,因此需要一種沿著光線方向計算頭發(fā)厚度的方法。這里采用了Deep Opacity Maps,通過深度對頭發(fā)進行切片,每片分別生成一張陰影貼圖,最終來計算光照透射、衰減等效果。


多重散射示意 發(fā)絲可見性示意


發(fā)絲可見性


我們根據(jù)Mesh和Strand-Based特性,采用不同的可見性計算策略。


Strand-Based


Strand-Based由于發(fā)絲細,小于一個像素,且發(fā)絲間有大量疊加區(qū)域,如果采用傳統(tǒng)的處理方式,在發(fā)絲tessellation時輸出的面片寬度提升到pixel-size,就會看起來特別粗糙,像干草一樣。

這里通過引入Visibility-Buffer的方式進行優(yōu)化。

V-buffer不同于延遲渲染的G-buffer,它在燈光屏幕空間像素點內(nèi),存儲了實際場景發(fā)絲信息的地址,通過地址映射到一個發(fā)絲數(shù)據(jù)結(jié)構(gòu)上,這個結(jié)構(gòu)可以通過V-buffer里的場景地址索引到,因此就可以得到當前這個像素實際上所有發(fā)絲的信息,比如發(fā)絲的數(shù)量、深度、透明度、覆蓋在后邊的發(fā)絲地址,結(jié)合這些信息可相對正確的計算出發(fā)絲的可見性。


Visibility-Buffer數(shù)據(jù)結(jié)構(gòu)示意


Hair Mesh


Hair mesh則有兩種方式來優(yōu)化頭發(fā)模型層次的可見性,分別是透明剔除和半透渲染


透明剔除

通過透明貼圖mask,結(jié)合alpha test來剔除,其中有兩問題需要解決。

  1. alpha test直接截斷某一閾值的透明度,使得原本連續(xù)的圖像變得離散,產(chǎn)生大量噪點。
  2. alpha test邊緣過硬和粗糙,發(fā)絲看起來像稻草。

為了解決上述兩問題,我們通過引入一系列技術(shù)組合拳來平滑發(fā)絲邊緣和降噪。

  • 圖像領(lǐng)域的Dithering降噪技術(shù),通過給采用的透明通道疊加一張藍噪聲貼圖進行空間上的抖動
  • 通過Alpha to coverage平滑邊緣
  • 通過TSR(Temporal Super Resolution)進行時間上的抖動
  • 通過后處理進一步對邊緣進行平滑


優(yōu)化前, 噪聲多,鋸齒明顯,效果粗糙


優(yōu)化后,噪聲過濾明顯,邊緣平順,鋸齒


半透明渲染

半透明頭發(fā)渲染最大的挑戰(zhàn)是如何正確的進行排序,我們嘗試了以下兩種方式來解決該問題。

  • 通過將頭發(fā)分成內(nèi)外層,其中內(nèi)層采用alpha test渲染,外層采用半透明渲染。內(nèi)層要求頭發(fā)制作工藝上不允許出現(xiàn)很細的發(fā)絲,發(fā)絲全部放在外層,并且外層發(fā)絲間不能交錯。外層通過先獨立繪制一次深度,通過比較深度信息來剔除后邊的發(fā)絲。
  • 還是分內(nèi)外層,內(nèi)層和上一個方式一致,外層通過前后順序關(guān)系,分層一個個小區(qū)域,每個區(qū)域有自己的id,實際渲染時,通過比較id包圍盒中心點深度,來給發(fā)片排序,之后進行半透繪制。復(fù)雜頭發(fā)往往要分20+層才能保證排序不出現(xiàn)明顯的問題。

這兩種處理方式的區(qū)別主要在美術(shù)制作流程上。前者半透是單層,美術(shù)制作時比較簡單,往往用于不太復(fù)雜的頭發(fā)造型,比如單層薄劉海波波頭。后者半透是多層,制作時比較復(fù)雜,用于復(fù)雜多層的頭發(fā)造型,比如多層卷大波浪。我們根據(jù)頭發(fā)造型的復(fù)雜程度選擇更適合的制作方案。


頭發(fā)成型高光-天使環(huán)

在計算頭發(fā)高光時,我們遇到下面的問題,可以很明顯的看到頭發(fā)高光分布不均勻,且高光太細。


高光分布不成型 環(huán)狀高光分布


CG風(fēng)格需要我們呈現(xiàn)形狀分布美觀的高光,直接使用Marschner的反射層計算天使環(huán)形狀的高光時,容易出現(xiàn)頭發(fā)高光碎和亂的現(xiàn)象,為此我們使用了Kajiya模型來替換Marschner算法的高光計算部分??梢钥吹缴嫌覉D是經(jīng)過Kajiya算法計算的“天使環(huán)“高光區(qū)域。

那么如何估算正確的法線方向,以制作上圖這種分布均勻美觀的高光?Kajiya光照模型中將頭發(fā)假設(shè)成光滑圓柱體,過副切線的起點并且與副切線和光線共面,可以找到唯一的一條法線,我們使用這條法線就可以計算出一個近似的高光。這樣就解決了圖中圓柱體法線朝向各異的問題。


法線方向示意


為了使得高光規(guī)則有形狀,我們還需要對頭發(fā)面片制作工藝有要求。首先是設(shè)計上盡可能保證頭發(fā)面片的完整且平滑,減少碎發(fā)和復(fù)雜造型,比如留出大片平順劉海。之后在模型制作上,相鄰片的布線盡可能連續(xù),這樣計算出的切線平整,高光規(guī)則。最重要的一點,在DCC軟件中,為設(shè)計師提供和引擎中相同的頭發(fā)高光環(huán)境,使得設(shè)計師在制作發(fā)片時就能所見即所得的調(diào)整面片來控制高光形狀。


1.1.2 膚如凝脂 面如白玉-虛擬人皮膚渲染技術(shù)方案


皮膚的真實感渲染一直是人物渲染領(lǐng)域的難點之一。真實世界人體皮膚構(gòu)造復(fù)雜,由絨毛、油脂、表皮、真皮以及其下各種血管、組織組成,且皮膚表面還包含了毛孔、油脂等許多微妙的視覺特征。人的視覺對臉部皮膚的細節(jié)非常敏感,質(zhì)量較低的皮膚效果容易產(chǎn)生“恐怖谷“效應(yīng)。此外,在實時渲染領(lǐng)域,除了追求渲染質(zhì)量外,也需要考慮到平臺算力的限制。因此,如何兼顧品質(zhì)和性能是研發(fā)過程中的一大挑戰(zhàn)。

方案初期,我們曾嘗試使用通用PBR模型來直接渲染皮膚,如下左圖所示,整體效果塑料質(zhì)感明顯,缺少皮膚的通透感。通過調(diào)研行業(yè)主流的次表面材質(zhì)方案,我們采用了符合幻星數(shù)字人風(fēng)格的SSP(Subsurface Profile)渲染方案,如下右圖所示,在鼻尖,鼻翼,下頜線等關(guān)鍵臉部結(jié)構(gòu)位置,皮膚的通透感和光澤度有較為明顯的改善。下面我們將介紹實現(xiàn)的原理和細節(jié)。


PBR方案,塑料感,缺乏皮膚通透感


次表面優(yōu)化后鼻尖鼻翼/下頜線處通透有光澤


渲染技術(shù)方案

首先,我們對皮膚的物理結(jié)構(gòu)進一個簡單的剖析。

實驗測試表明,皮膚表面油脂層主要貢獻了反射部分(約6%的光線被反射),而油脂層下面的表皮層和真皮層則主要貢獻了次表面散射部分(約94%的光線被散射)。如果沒有了次表面散射部分,那么皮膚則過于生硬。對于皮膚來說,光線穿過油脂層進入表皮層和真皮層后,在其內(nèi)部不斷傳播,散射到不同方向,其中一部分會再次穿過表面被觀察到,這種現(xiàn)象稱為次表面散射,最直觀的解釋就是光在皮膚表面反射的位置,和光實際的入射點位置不一樣。


皮膚次表面散射結(jié)構(gòu)示意圖


擴散剖面

那么,要怎么實現(xiàn)次表面的散射效果呢?我們引入擴散剖面來解決這一問題。擴散剖面(Diffusion Profile)是用來描述光線如何在半透明物體中進行擴散和分布的函數(shù)。相當于一個記錄次表面散射細節(jié)的“地圖”,通過這個“地圖”我們就能快速的索引到周邊像素需要使用什么程度的散射。

當我們假設(shè)皮膚材質(zhì)各項均勻其散射行為和角度無關(guān)時,就可以用一個一維函數(shù)來描述。對于不同的材質(zhì)RGB根據(jù)距離衰減的行為是不一樣的。


顏色剖面示意圖


上圖為在黑暗密閉空間中,使用白色薄激光束打到一個平坦表面時,產(chǎn)生的光暈效果。其中邊緣光暈是紅色的,由此我們可以發(fā)現(xiàn)每種顏色都有自己的剖面。

我們可以將其繪制成一維曲線,發(fā)現(xiàn)擴散剖面具有很強的顏色相關(guān)性:紅光比綠色和藍色散射得更遠,而正因為紅色擴散得更遠一些,所以耳朵和鼻子的部位通常會更有紅彤彤的感覺。

在計算次表面時,我們考慮下面兩種部分。

  • 計算漫反射:逐像素計算漫反射。
  • 計算次表面:根據(jù)上一步漫反射的計算結(jié)果,結(jié)合擴散剖面定義的周圍像素權(quán)重,加權(quán)計算周圍像素對當前像素的次表面散射貢獻。

皮膚渲染方法,通常就是對擴散剖面的不同近似。

  • 偶極子:初期的Diffusion Profile使用的是偶極子來擬合計算的,但是偶極子只能表達單層材質(zhì),然而皮膚具有多層散射特性,輪廓的形狀變得比偶極子所能表示的更復(fù)雜,如果僅用偶極子,皮膚效果就像開了重度磨皮一樣,缺乏表面細節(jié),因此有了后續(xù)的多極子。
  • 多極子:多極子能夠捕獲廣泛散射的真皮層頂部的薄的、窄散射的表皮層的組合反射率,在皮膚的表現(xiàn)力上往往能夠在保留皮膚細節(jié)的同時達到更貼合真實皮膚的合理次表面散射程度。
  • 高斯函數(shù)求和:由于高斯的可分離、可徑項對稱、可多個高斯相互卷積成新高斯的特性,相比多極子的方式能更有效率的求解出次表面特性。因此我們采用高斯和的方式來擬合擴散剖面。


高斯擬合

  • 1個高斯函數(shù)可以很好擬合單散射效果,但無法擬合單散射+多散射
  • 2個高斯函數(shù)可以勉強擬合單散射+多散射
  • 6個高斯函數(shù)可以得到相當高精度的擬合效果

實驗數(shù)據(jù)表面,結(jié)合皮膚真實構(gòu)造進行建模,6個高斯函數(shù)結(jié)合可以得到相當高精度的擬合效果。


6個高斯函數(shù)擬合參數(shù)和函數(shù)圖


早期的實時3s(次表面散射)技術(shù)采用的是屏幕空間方法,針對上邊列的6個高斯函數(shù),需要12個pass來渲染,性能開銷十分大。因此,針對這一問題,有兩種解決方案。一種是可分離次表面散射技術(shù)(Separable Subsurface Scattering),俗名4s,還有一種是Pre-Integrated Skin(基于預(yù)積分的皮膚著色技術(shù))。在PC平臺的中低端設(shè)備上,我們主要以4S技術(shù)為主來簡化計算,而針對移動端和web端,我們則考慮通過預(yù)積分的方法來進一步壓縮計算開銷。


可分離次表面散射


可分離次表面散射皮膚效果


4s技術(shù)(可分離次表面散射),極大的優(yōu)化了3s的效率。使得原先需要進行的6次高斯函數(shù),12個pass的計算,壓縮成了1個高斯函數(shù),2個pass,將皮膚次表面渲染時間壓縮到0.5ms內(nèi),我們在pc端選用的就是可分離次表面散射技術(shù)。

那么他是怎么壓縮高斯函數(shù)的呢?先拋出個問題,根據(jù)高斯函數(shù)特性,1個2維高斯雖然可分離,但是6個2維高斯和卻是不可分離的,除非使用6*2個1維卷積 Pass 但仍然十分耗性能。

基于上述問題,業(yè)界有幾種解決方式:

  • 基于SVD分解的可分一維卷積核:但是限制多,且也相對耗時
  • 物理不準確,純經(jīng)驗trick:分解為近距離散射和遠距離散射兩個部分,兩個高斯函數(shù)先相加后相乘,相當于四個高斯函數(shù)單獨作用再相加,問題是不物理且還是很耗時
  • 引導(dǎo)函數(shù):給每個位置增加了一個重要性系數(shù),用戶可自定義,但沒有直接的物理意義,實現(xiàn)起來也比較耗時
  • 預(yù)積分:對6個高斯和擬合成的函數(shù),進行預(yù)先卷積(對距離的積分)得到一張一維表,使用時直接輸入一個偏移值,就能得到該處位置的高斯權(quán)重。該方案耗時少,能夠很好的還原真實物理皮膚,因此在計算4s時,推薦該方式進行,我們線上也是使用的這種方法
  1. 通過對實驗觀測分析得到的6個高斯和擬合成的精確的 diffusion profile,進行預(yù)積分,得到1個1維卷積核查找表。讓時間復(fù)雜度從O(n^2)=>O(n)
  2. 通過偏移值得到查找表的高斯核,傳參給shader,在shader中做高斯模糊。
  3. 高斯模糊時,先對diffuse color做一次橫向卷積 Pass ,再經(jīng)過一次縱向卷積Pass,就能得到2D維卷積的效果,最后再添加Specular color

(需要注意的是,如果不把高光拆開,代入模糊中則會出現(xiàn)星形異常高光現(xiàn)象)

通過該方案,設(shè)計同學(xué)可以通過調(diào)節(jié)ssp資源參數(shù),來控制角色皮膚實際照明應(yīng)該散射的距離、次表面顏色以及離開對象后照明的衰減色等效果。在一些算力比較充沛的機型上,我們引入Burley次表面散射模型,他在物理上更為精確,主要用于改善皮膚著色的質(zhì)量。


Burley Normalized Diffusion

4s方案已經(jīng)能夠滿足絕大多數(shù)效果品質(zhì)需求了,但是他的擬合形態(tài)還和真實皮膚存在小誤差,有沒有什么方式可以更近一步的減少誤差呢?

Burley于2018年提出了 Burley Normalized Diffusion方式來近一步擬合真實皮膚擴散剖面。該方案放棄物理,直接用純數(shù)學(xué)(一個數(shù)學(xué)公式)的方法擬合 diffusion profile。

下面先上下兩種方式的對比圖,主要差別在于 Burley Normalized Diffusion方式更接近真實物理??梢钥幢穷^處差別,4s方式模糊過了,burley方式更清晰。


可分離次表面散射皮膚 Burley次表面散射皮膚


那么該方案具體是怎么做的呢?要從下面這個公式開始說起。



其中A 是 Surface Albedo(或者說單散射 Albedo),d 是用來控制這條曲線的參數(shù),r則是距離半徑。



上圖是Burley在論文中使用的Surface Albedo和Diffuse Mean Free Path Length著色模型參考數(shù)據(jù)。為了簡化近似復(fù)雜度,舍棄了模型中原本的入射光的角度,介質(zhì)本身是否 isotropic等特性。

我們通過調(diào)整 d,來讓整個近似的曲線可以根據(jù) A 的變化達到正確的近似結(jié)果。那么d值的計算方式怎么來的呢?我們可以根據(jù)上面的曲線算出一張 d 表,然后根據(jù)實際的 A 值插值出求出 d。這樣做雖然有誤差,但從結(jié)果來看,范圍大概在 4.9% 左右,是一個很不錯的結(jié)果。除了查表以外,還可以使用簡單的函數(shù)來擬合出 A 和 d 的對應(yīng)關(guān)系。

我們使用Burley模型在一些高配置PC或離線制片上,中低端配置PC還是采用4s方式。

Burley模型的特點在于

  • 精確度相當逼近基于蒙特卡洛暴力積分的無偏解,開銷卻低很多
  • CDF 有解析解,可進行重要性采樣(importance sampling)優(yōu)化
  • 和高斯和擬合相比,Normalized Diffusion 不能使用分離核方法,也就是說它必須得老老實實進行 2D 卷積 Pass,因此性能要求更高


預(yù)積分的皮膚渲染

4s和burley在移動端、web端上由于耗時大,幀率一直不太理想,直接上PBR性能好但是又太塑料,那么有沒有一種方式在效果折損在可接受的范圍內(nèi),在這些看重性能的平臺上流暢運行呢?

針對這個問題,我們采用了預(yù)積分的皮膚渲染技術(shù)。通過下圖可以看到,低配版預(yù)積分皮膚雖然效果略差于高配版皮膚,但顯著優(yōu)于直接用pbr渲染。


Burley次表面散射皮膚 PBR皮膚 預(yù)積分的皮膚


預(yù)積分方案最大的優(yōu)勢就是速度快,主要的應(yīng)用場景還是在移動端、web端上,此方案其實是一種從結(jié)果反推實現(xiàn)的方案。



將次表面散射的效果預(yù)計算成一張二維查找表,參數(shù)分別是dot(N,L)和曲率。其中N是法線,L是光照方向。實際皮膚計算時,通過查表的方式,通過法線、光線方向、表面曲率即可直接取sss結(jié)果。該方案的效果不如4s和burley的,皮膚表面通透感差些,但是勝在性能好,在低端機如小米7上耗時也在1ms內(nèi)。


1.1.3 眉蹙春山,眼顰秋水-虛擬人眼球渲染技術(shù)方案


背景

生物學(xué)的眼球解剖圖非常復(fù)雜,涉及的部位數(shù)十種,在圖形渲染領(lǐng)域,將眼球構(gòu)造做簡化,只關(guān)注其中的幾個部位。



1 - 鞏膜(sclera):也稱為“眼白”,通常非常濕潤,包含少量的觸感紋理、血絲等細節(jié)。

2 - 角膜緣(limbus):角膜緣存在于虹膜和鞏膜之間的深色環(huán)形。有些眼睛中的角膜緣更為明顯,從側(cè)面看時往往會消退。

3 - 虹膜(iris):虹膜是圍繞在眼睛中心周圍的一圈色環(huán)。

4 - 瞳孔(pupil):瞳孔是眼睛中心的黑點。這是一個孔,光線穿過這個孔后才會被視網(wǎng)膜的視桿和視錐捕捉到。

5 - 角膜(cornea):角膜是位于虹膜表面上的一層透明的、充滿液體的圓頂結(jié)構(gòu)。


眼球的渲染

眼睛的渲染通常包括以下效果部分。

  • 角膜的半透和光澤反射效果。
  • 瞳孔的折射和次表面散射。
  • 瞳孔的縮放。最好根據(jù)整個場景的光照強度動態(tài)調(diào)整縮放大小。
  • 虹膜的顏色變化。
  • 其它眼球細節(jié)。


幻星虛擬人眼球渲染效果示意圖


眼神光

角膜的反射部分,就是我們常說的眼神光,我們將光照結(jié)果直接烘焙成matcap貼圖,實際計算中,通過將法線轉(zhuǎn)換到相機空間對貼圖進行采樣,從而模擬眼神光。為了更真實的效果,我們還給眼神光疊加了層周圍環(huán)境的cubemap,來使得眼睛更加有神。

采用該方案而不是實時計算物理光照的原因有兩種,一是性能,還有一種是效果的穩(wěn)定性。效果穩(wěn)定性主要體現(xiàn)在角色的眼神光要保持穩(wěn)定的形狀,如果是物理光照,場景往往不止一盞光,且光的位置不一,會造成眼神光特別雜和亂。


折射和散射

瞳孔的折射和次表面散射部分,是由眼睛結(jié)構(gòu)產(chǎn)生的。瞳孔的結(jié)構(gòu)可以概括為一個有縱深的高低不平的區(qū)域,瞳孔與角膜間存在間隔。這使得光線在此處會發(fā)生折射,且光線還會進一步在瞳孔結(jié)構(gòu)內(nèi)部發(fā)生次表面散射。

光線在進入瞳孔內(nèi)部組織前,首先會在角膜表面發(fā)生一次折射,然后進入瞳孔組織的內(nèi)部,產(chǎn)生散射,最后從瞳孔表面的另一個點散射出來。



我們面臨如下兩個問題。

  1. 一束射到角膜表面的光線在經(jīng)過折射后,如何計算最終入射到瞳孔表面的位置
  2. 光線進入角膜內(nèi)部后,如何計算其散射效果

為了解決這些問題,我們采用了次表面紋理映射技術(shù),主要為了解決多層厚度不均勻的材質(zhì)次表面層的計算。



該方案核心在于將眼睛根據(jù)深度的差異分成多層,每層的散射參數(shù)分別存在貼圖的一個通道中,通過當前眼睛像素分別位于哪一層取得具體的散射參數(shù)來參與眼睛散射的計算。

折射部分可以采用視差貼圖或者IOR來計算。


2 角色個性化的核心功能:捏臉與換裝


2.1 基于面部骨骼驅(qū)動的捏臉系統(tǒng)介紹


捏臉系統(tǒng)的目的是滿足用戶的個性化需求,業(yè)界常見的捏臉方案有兩種:

  1. 骨骼驅(qū)動:通過修改骨骼Transform達到網(wǎng)格體變化以完成捏臉,自由度高,但可控性較低。
  2. Blendshape(融合變形):通過一系列Blendshapes混合的方式完成,自由度與精細度受Blendshape影響,因此設(shè)計師制作工作量巨大。

幻星數(shù)字人基于骨骼驅(qū)動的方式實現(xiàn)了捏臉/捏人系統(tǒng)。骨骼驅(qū)動相比于Blendshape方案,設(shè)計師制作工作量較少,且有著更好的性能,但是捏臉的精細程度受骨骼數(shù)量/權(quán)重限制。


幻星數(shù)字人捏臉工具界面


為解決骨骼驅(qū)動方案可控性較低的問題,需要設(shè)計師在有限的骨骼數(shù)量下,設(shè)計好捏臉項,并為每個捏臉項配置好控制的骨骼以及參數(shù)范圍。而這個配置過程需要反復(fù)調(diào)試、驗證,極其消耗設(shè)計師的時間。為此我們配套開發(fā)了捏臉配置工具,設(shè)計師可以在該工具上直觀的配置每個捏臉項所控制的骨骼和參數(shù)范圍,并直接看到捏臉效果,降低了設(shè)計師與開發(fā)的溝通和反復(fù)調(diào)試成本,縮短了制作周期。


骨骼捏臉參數(shù)配置工具鏈


幻新數(shù)字人還支持實時面捕驅(qū)動。表情動畫方面我們使用Blendshape來實現(xiàn),按照蘋果ARKit52個表情基為規(guī)范制作。然而在捏臉骨骼驅(qū)動的基礎(chǔ)上再疊加Blendshape容易出現(xiàn)異常穿幫現(xiàn)象,如眼睛無法閉合或者過度閉合等。為了緩解該問題,一方面需要控制好捏臉與動畫Blendshape的程度,另一方面我們提供了表情動畫系數(shù)與捏臉參數(shù)關(guān)聯(lián)的配置,面捕驅(qū)動過程中會實時根據(jù)當前的表情Blendshape系數(shù)調(diào)整捏臉參數(shù)。


BS系數(shù)優(yōu)化前 BS系數(shù)優(yōu)化后


除了基于骨骼驅(qū)動的捏臉修改臉部外形,切換妝容,如唇妝、面妝、美瞳等功能也提供了更多的個性化選擇。


妝容配置界面


2.2 分部件可定制換裝系統(tǒng)介紹


換裝本質(zhì)上是切換網(wǎng)格體(Mesh),由于幻星數(shù)字人還支持塑形和半身驅(qū)動,因此需要使用骨架網(wǎng)格體(SkeletalMesh),并保證服裝的基礎(chǔ)骨架與身體骨架保持一致。

我們一開始僅對服裝進行了部件拆解,如上裝、下裝、鞋子等,代碼中使用枚舉對其定義并固定了服裝類型間的互斥規(guī)則。設(shè)計師需要嚴格按照身體模型大小制作服裝,以免與身體模型發(fā)生穿模。然而這樣無法滿足設(shè)計師對有緊身部位的服裝需求,在緊身處服裝可能與身體模型大小一致甚至更小。


原始方案:部分服飾無法匹配身形


為滿足設(shè)計師靈活的服裝需求,我們對身體模型也進行了拆分如軀干、手臂、手、腿、腳等,換裝時需要根據(jù)規(guī)則將重疊的身體部件隱藏。由于身體部件的拆分,換裝規(guī)則更加復(fù)雜,我們設(shè)計和開發(fā)一套更加靈活的換裝系統(tǒng),方便配置換裝規(guī)則。我們使用GameplayTag來定義身體和服裝部件,因為GameplayTag是樹形結(jié)構(gòu),相對于枚舉更直觀的描述部件間的父子結(jié)構(gòu),方便完成復(fù)雜的匹配、檢測、互斥等功能。每一件服裝都需要為其配置好部件Tag以及覆蓋的身體部件,運行時會根據(jù)該配置完成換裝。換裝整體流程為,首先根據(jù)新服裝的配置,將覆蓋/沖突的身體/服裝部件卸載;再加載設(shè)置上新的服裝部件;最后還需要對身體部件復(fù)原,如長袖上衣時卸載了手臂部件,切換到無袖上衣時需要將手臂部件復(fù)原。


服裝部件配置


同時該配置上還可配置服裝可選的材質(zhì),以支持更換材質(zhì)/顏色等功能,滿足用戶個性化需求。



2.3 引擎中的半身驅(qū)動技術(shù)方案


半身驅(qū)動的基本流程是:通過算法實時檢測出人體關(guān)節(jié)點,再對算法人體姿勢進行重定向并應(yīng)用在幻星數(shù)字人上。

由于幻星數(shù)字人是使用拆分部件的方式組成,需要將當前驅(qū)動的姿勢同步給所有部件。對于和身體骨架完全一致并且不需要支持物理的部件,如腳、腿、手等,使用設(shè)置主姿勢組件(Set Master Pose Component)的方式同步姿勢,減少游戲線程消耗;對于有額外骨骼和需要物理的部件,如衣服、裙子等,通過動畫藍圖從網(wǎng)格體復(fù)制姿勢(Copy Pose From Mesh)的節(jié)點同步姿勢。


角色藍圖示意 動畫藍圖示意


基于以上工作,數(shù)字人已經(jīng)能夠?qū)崿F(xiàn)驅(qū)動,但仍存在關(guān)節(jié)扭曲,肩膀塌陷和部件穿模等效果問題,下面將分別介紹針對類似動態(tài)效果問題的優(yōu)化方案。

如果直接將檢測算法計算得出的手腕旋轉(zhuǎn)值設(shè)置到幻星數(shù)字人的手腕骨骼上,會產(chǎn)生數(shù)字人手腕區(qū)域網(wǎng)格明顯扭曲的問題。這個問題是由于手腕的旋轉(zhuǎn)不符合人體的手腕運動約束,真實的手腕旋轉(zhuǎn)時會帶動到手肘之間的肌肉一起運動。為了模擬這樣的情況,首先在模型設(shè)計生產(chǎn)階段,需要在手肘與手腕之間插入多段骨骼。


手臂骨骼示意


并在運行時實時處理手腕關(guān)節(jié)扭曲校正。算法檢測出的手腕旋轉(zhuǎn)值后,將其轉(zhuǎn)化為歐拉角的形式,并確定手腕的扭曲軸(此處假設(shè)扭曲軸對應(yīng)歐拉角的Roll)。對于該手腕歐拉角,需保持Pitch和Yaw值不變,將Roll值以一定的權(quán)重值插值分攤到小臂關(guān)節(jié)鏈上。


優(yōu)化前手腕關(guān)節(jié)效果 優(yōu)化后手腕關(guān)節(jié)效果


手臂抬起時,肩膀處出現(xiàn)擠壓、凹陷等問題。這些問題是由于線性混合蒙皮導(dǎo)致的體積損失。為了系統(tǒng)性的解決該問題,我們引入了基于Pose Space Deformation的修型模塊。綁定師需要給需要修型的骨骼添加不同方向/角度的姿勢,并為每個姿勢制作BlendShape修型,最終將所有姿勢烘培到動畫中。這些動畫通過我們的自研插件導(dǎo)入UE后能自動生成姿勢資產(chǎn)(PoseAsset)及動畫藍圖(AnimBlueprint)。插件會為每個需要修型的關(guān)節(jié)創(chuàng)建一個姿勢驅(qū)動器(Pose Driver)動畫節(jié)點,并為每一個與該關(guān)節(jié)關(guān)聯(lián)的姿勢創(chuàng)建對應(yīng)的姿勢目標(Pose Target)。



該藍圖會作為后處理動畫藍圖作用于幻星數(shù)字人上,根據(jù)數(shù)字人的當前姿勢與姿勢目標的”接近程度“得出一個權(quán)重值,該權(quán)重值最終會作為每個姿勢目標對應(yīng)的BlendShape系數(shù)疊加到人物網(wǎng)格上。


優(yōu)化前肩關(guān)節(jié)塌陷 優(yōu)化后肩關(guān)節(jié)正常


為了解決由于肢體關(guān)鍵點深度信息不足導(dǎo)致的穿?,F(xiàn)象,我們在幻星數(shù)字人的驅(qū)干及手部添加了用于碰撞檢測計算的膠囊體,并在動畫藍圖的Retarget重定向步驟后添加了自定義動畫藍圖節(jié)點。該節(jié)點的作用是根據(jù)預(yù)設(shè)膠囊體間的相交結(jié)果,對手部關(guān)節(jié)進行旋轉(zhuǎn)調(diào)整,避免手部之間或手部與軀干的相交。再進行IK(Inverse Kinematics)重計算以得到更自然的姿勢。


動畫藍圖設(shè)置 Control Rig設(shè)置


優(yōu)化前右手與衣服穿插,與左小臂穿插 增加碰撞和IK后效果正常


3 物理仿真與模擬


在人物動態(tài)效果的物理仿真與模擬方面,頭發(fā)和服裝是該方向的兩大模擬難點。

幻星數(shù)字人在人物頭發(fā)的實時物理模擬上,為不同計算平臺設(shè)計了高配與低配兩套模擬方案。在算力緊張的終端設(shè)備上,如移動設(shè)備,低配筆記本電腦等,我們基于Hair Mesh方式制作頭發(fā)模型,并通過Dynamic Bone的動態(tài)模擬方案來還原頭發(fā)飄動的物理效果。每頂頭發(fā)平均綁定40-50根左右的動態(tài)骨骼,即可達到滿足簡單物理力學(xué)模擬的順滑效果。其原理可理解成具備父子層級關(guān)系的彈簧振子鉸鏈,如下圖所示,每個黃色包圍盒對應(yīng)一根動態(tài)骨骼,運動狀態(tài)會從根節(jié)點向子節(jié)點傳導(dǎo)。運動過程中通過每個step的約束求解來更新符合力學(xué)模型的運動參數(shù),同時可設(shè)置對應(yīng)的阻尼,彈性,硬度和慣性等參數(shù)來控制仿真過程中的物理量。


DynamicBone原理示意


頭發(fā)綁定動態(tài)骨骼后的動態(tài)效果


這套方案的優(yōu)勢是計算開銷小且效果精度可伸縮。以40根骨骼,3萬面數(shù)的頭發(fā)為例,經(jīng)過測試,該方案能在驍龍625等7年前的主流移動設(shè)備上跑滿30幀。且隨著算力的增加,通過骨骼的LOD分級設(shè)置,可以在驍龍825等高端設(shè)備上應(yīng)用80-100根動態(tài)骨骼,來提升整體的物理仿真表現(xiàn)。

該方案在移動端實時渲染場景下,基本能夠達到對物理效果的預(yù)期,但依然存在一系列的真實感問題。在馬尾或者丸子頭等發(fā)型上尚不明顯,但如下圖所示的蓬松劉海長發(fā)中,可以看到頭發(fā)的物理存在兩處明顯問題:1 頭發(fā)的柔性體效果沒有表現(xiàn)出來,整體像打了較重的發(fā)膠,動態(tài)效果不絲滑,且頭發(fā)和頭部模型進行碰撞時有明顯被撐開的效果問題。2 發(fā)束與發(fā)束間沒有相互穿插的效果,沒有辦法做手撩劉海等動態(tài)效果。


,時長00:03

DynamicBone動態(tài)效果并不那么物理


,時長00:14

Strand Based Physics絲滑順暢


在計算性能較好的PC平臺,為了解決上述問題,我們采用了Strand Based毛發(fā)實時模擬技術(shù)。該方案通過引導(dǎo)線制作發(fā)束,針對引導(dǎo)線進行tessellate細分,生成多個控制點,如下圖所示。我們可以將控制點的運動抽象成單個粒子在速度場中運動分析,以歐拉法的視角在網(wǎng)格中進行基于位置的約束求解。一般來講一個人物擬真發(fā)型通常包含8-10W根發(fā)絲,逐根解算的性能開銷過大,因此主要算力聚焦在求解引導(dǎo)線的運動狀態(tài),其他發(fā)絲通過插值得到當幀的位置信息。在計算開銷增加的前提下,大幅提升了頭發(fā)真實感物理的模擬效果,如上圖所示,在柔順程度和與頭皮的貼合感上有較為明顯的改善。


Strand Based Hair Simulation引導(dǎo)線細分示意圖


服裝方面,布料的物理效果模擬是圖形學(xué)領(lǐng)域比較有挑戰(zhàn)的技術(shù)方向之一。常見的模擬算法包括基于物理(Physics-Based)的求解方法,基于約束(Constraints)的求解方法和有限元分析(Finite Element Method)等。對于虛擬人的實時服裝仿真這一業(yè)務(wù)場景而言,對求解方式有兩個具體要求:性能和穩(wěn)定性。性能方面,要求求解過程能夠并行化,迭代能夠較快收斂。這方面如基于約束的Projective Dynamics,有限元分析等方法都難以徹底的GPU并行解算,在5000-8000個三角面的布料上無法達到實時。而在穩(wěn)定性方面,要求運動過程中物理狀態(tài)盡量穩(wěn)定,避免在離散時間步長內(nèi)發(fā)生越界和穿插。這方面彈簧質(zhì)點系統(tǒng)中的顯示歐拉方法就難以滿足穩(wěn)定性要求。

在游戲和虛擬人直播領(lǐng)域中,較為主流的方案還是基于位置的約束求解方法PBD(Position Based Dynamics),比如Nvidia的Flex,UE5的Chaos Cloth等。PBD并不是一個嚴格物理正確的求解算法,但其最大的優(yōu)勢是實現(xiàn)簡單,對內(nèi)存訪問少,可以在GPU上完成并行化求解過程,能夠在網(wǎng)格分辨率相對不高的布料模型上做到實時。且因為迭代過程相對簡單,對其他約束有較好的兼容性,F(xiàn)lex在Siggraph2014上發(fā)表的Unified Particle Physics框架也很好的說明了這一點。

PBD的算法思路可簡單概括為:先建立Stretching和Bending等約束,再將約束投影作用到位置和速度的更新上去。整個算法流程如下圖所示,最核心的步驟在9-11行進行約束投影,并得到優(yōu)化后的位置,在12-15行更新當前的位置和速度信息。如何進行約束的并行化求解是整體計算加速的關(guān)鍵問題,本質(zhì)上來說是一個線性系統(tǒng)的優(yōu)化問題。常用的方法包括Gauss-Seidel 迭代方法和Jacobi方法。GS方法的優(yōu)勢是一般情況下收斂速度會略快于Jacobi方法,但存在bias問題。Jacobi方法不存在偏向性,主要通過位置更新量的平均值來和當前位置做線性混合,但整體的收斂速度會低于GS方法。


布料網(wǎng)格結(jié)構(gòu)示意 PBD算法流程圖


如下圖所示,在古風(fēng)虛擬形象的服飾效果上,通過上述布料模擬算法,實時模擬出了絲綢和紗布的動態(tài)物理效果,為整個虛擬形象的真實感帶來了較大的增益。


,時長00:08

虛擬形象溶月的布料模擬效果示意


當然如上文中提到,PBD因為其求解過程并非完全基于物理,導(dǎo)致控制效果的參數(shù)并不完全正交,迭代步長,迭代次數(shù)與布料硬度等參數(shù)的調(diào)節(jié)相對不直觀且容易顧此失彼。為了更好解決這一問題,業(yè)界推出了最新的XPBD(Extended Position-Based Dynamics)算法,未來我們將基于UE5的Chaos物理系統(tǒng),通過XPBD的方法進一步提升實時過程中服裝的布料仿真精細程度。


三 未來展望


幻星數(shù)字人未來的愿景是為B站每個用戶打造個性化的3D數(shù)字人形象。我們將在下一階段持續(xù)探索形象風(fēng)格化渲染方面的相關(guān)技術(shù),優(yōu)化虛擬人資產(chǎn)生成管線的類型兼容性和生產(chǎn)效率。此外,隨著AIGC技術(shù)的快速發(fā)展,我們將在兩個方向結(jié)合制作管線和業(yè)務(wù)需求進行AI能力的整合。第一,我們將聚焦在3D數(shù)字人動畫智能生成系統(tǒng)這一領(lǐng)域,通過AI算法識別并提取真人視頻中的人物動作,以重定向的方式輸入到幻星數(shù)字人模型上,實現(xiàn)高效的數(shù)字人舞蹈/短劇/MV視頻生產(chǎn)流程。第二,我們將在制作管線的原畫環(huán)節(jié),引入Stable Diffusion等AIGC能力輔助視覺設(shè)計,降低產(chǎn)研之間的溝通成本,提升設(shè)定->概念視效->審核->制作的整體效率,同時持續(xù)關(guān)注3D建模和綁定環(huán)節(jié)的AI相關(guān)技術(shù)。這些技術(shù)的引入,將加速我們在虛擬制片與投稿領(lǐng)域的業(yè)務(wù)落地,為平臺創(chuàng)造更高的生態(tài)價值。


參考文獻


  1. Pharr, Matt, Wenzel Jakob, and Greg Humphreys. Physically based rendering: From theory to implementation. Morgan Kaufmann, 2016.
  2. Marschner, S. R., Jensen, H. W., Cammarano, M., Worley, S. and Hanrahan, P. 2003. Light Scattering from Human Hair Fibers. ACM Transactions on Graphics, 22, 3, 780--791
  3. Kajiya, J. and Kay, T. 1989. Rendering Fur With Three Dimensional Textures. In Computer Graphics (Proceedings of ACM SIGGRAPH 89), 23, 3, ACM, 271--280
  4. Burley, Brent, and Walt Disney Animation Studios. "Physically-based shading at disney." Acm Siggraph. Vol. 2012. vol. 2012, 2012.
  5. Unreal Engine Document, et al. "Working with Modular Characters." https://docs.unrealengine.com/4.27/en-US/AnimatingObjects/SkeletalMeshAnimation/WorkingwithModularCharacters/#:~:text=The%20Master%20Pose%20Component%20is,considered%20to%20be%20the%20master.
  6. Nvidia, GPU Gems3. chapter-14-advanced-techniques-realistic-real-time-skin.
  7. Arkit 52 BlendShapes,BlendShapeLocation | Apple Developer Documentationhttps://developer.apple.com/documentation/arkit/arfaceanchor/blendshapelocation
  8. Unreal Engine Document, et al. "Subsurface Profile Shading Model." Subsurface Profile Shading Model | Unreal Engine 4.27 Documentationhttps://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/Materials/LightingModels/SubSurfaceProfile/
  9. Macklin, Miles, Matthias Müller, and Nuttapong Chentanez. "XPBD: position-based simulation of compliant constrained dynamics." Proceedings of the 9th International Conference on Motion in Games. 2016.
  10. Bouaziz, Sofien, et al. "Projective dynamics: Fusing constraint projections for fast simulation." ACM transactions on graphics (TOG)4 (2014): 1-11.
  11. Müller, Matthias, et al. "Position based dynamics." Journal of Visual Communication and Image Representation2 (2007): 109-118.
  12. Volino, Pascal, Nadia Magnenat-Thalmann, and Francois Faure. "A simple approach to nonlinear tensile stiffness for accurate cloth simulation." ACM Transactions on Graphics4 (2009): Article-No.
  13. Tafuri, Sebastian. "Strand-based Hair Rendering in Frostbite." ACM SIGGRAPH Courses: Advances in Real-Time Rendering in Games Course (2019).
  14. Macklin, Miles, et al. "Unified particle physics for real-time applications." ACM Transactions on Graphics (TOG)4 (2014): 1-12.


以上是今天的分享內(nèi)容,如果你有什么想法或疑問,歡迎大家在留言區(qū)與我們互動,如果喜歡本期內(nèi)容的話,歡迎點個“在看”吧!



熱門課程推薦

熱門資訊

請綁定手機號

x

同學(xué)您好!

您已成功報名0元試學(xué)活動,老師會在第一時間與您取得聯(lián)系,請保持電話暢通!
確定