亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于徑向基函數(shù)的虛擬人體網(wǎng)格變形算法研究

        2022-01-22 02:17:40顧乃林申閆春
        計算機(jī)仿真 2021年12期
        關(guān)鍵詞:法線插值頂點(diǎn)

        顧乃林,申閆春

        (1.宿遷學(xué)院法政學(xué)院,江蘇 宿遷 223800;2.北京信息科技大學(xué)計算機(jī)學(xué)院,北京 100192)

        1 引言

        對于影視行業(yè),游戲制作行業(yè),以及近些年新興的直播行業(yè)來說,虛擬人體角色的建模和渲染都是其中重要的一環(huán)。但是,虛擬人模型的制作過程比較繁瑣,需要有經(jīng)驗的美術(shù)人員大量參與。從人物設(shè)計,構(gòu)建幾何拓?fù)浣Y(jié)構(gòu),到骨骼的構(gòu)建和綁定,蒙皮系統(tǒng),以及后續(xù)的運(yùn)動捕捉和動作匹配,都需要專業(yè)的美術(shù)團(tuán)隊配合,否則很難保證建模的質(zhì)量以及成品的可用性。

        對于特效電影和游戲中的主角制作而言,由專業(yè)美術(shù)人員全程進(jìn)行制作和修改的成本和時間通場都是項目方可以接受的。但是如果項目中需要大量的非主角類角色,例如成百上千的虛擬士兵,或者一場舞會中身著盛裝的人群,此時依然全部交給美術(shù)團(tuán)隊去制作,因此產(chǎn)生的成本恐怕就難以承擔(dān)了。

        如果可以通過程序化的手段,基于同一個基準(zhǔn)角色,快速地隨機(jī)修改角色的身高、胖瘦、面部形象以及體表特征,從而快速變形生成大量相似但是又形態(tài)各異的虛擬人物的話,那么對于此類項目而言無疑有巨大的使用價值。

        2 徑向基函數(shù)的插值變形

        2.1 傳統(tǒng)的網(wǎng)格變形方法

        傳統(tǒng)的角色網(wǎng)格變形方法,可以在角色身體上添加額外的骨骼關(guān)節(jié)(這些關(guān)節(jié)不參與到通場的骨骼動畫中),并通過調(diào)整關(guān)節(jié)的位置和姿態(tài)來改變對應(yīng)的蒙皮頂點(diǎn)位置,從而達(dá)到角色模型網(wǎng)格局部變形的效果。但是該方法需要美術(shù)人員提前設(shè)計和制作相應(yīng)的骨骼關(guān)節(jié),并依次進(jìn)行蒙皮操作,增加了制作成本,以及后續(xù)使用角色的難度。此外,如果制作到半程時有新的網(wǎng)格變形需求,該方法也無法滿足立即更改的需求。

        另一種網(wǎng)格變形方法是通過晶格自由變形(Free-Form Deformation,簡稱為FFD),將角色分割為多個立方體空間,并修改立方體的角點(diǎn)來實現(xiàn)角色的整體變形效果,如圖1所示。

        圖1 基于FFD方法進(jìn)行模型網(wǎng)格變形注:黃色點(diǎn)為晶格角點(diǎn)

        方法可以相對靈活地調(diào)整和定制虛擬角色形象,但是不適合進(jìn)行精細(xì)的調(diào)整,只能夠大范圍地進(jìn)行改動。對于虛擬人來說,這樣很容易造成角色失真;并且無法判斷某個角點(diǎn)與實際變形效果的映射關(guān)系,因此無法通過程序化的方法自動化地構(gòu)建多種形態(tài)的角色。

        2.2 RBF算法的基本流程

        RBF插值的作用是能夠在一些三維的離散點(diǎn)之間進(jìn)行平滑插值。假設(shè)在3維空間中有M個離散點(diǎn)xi,那么RBF可以提供該離散空間中的整體平滑插值函數(shù)F(x)。該函數(shù)就是M個徑向基函數(shù)G(ri)的結(jié)果之和,其中ri是估算點(diǎn)和原始點(diǎn)的距離:

        其中ai是常量系數(shù),c0,c1,c2,c3為多項式系數(shù)。因為已知M個離散控制點(diǎn)X1到XM,因此可以構(gòu)建M個F(Xi)=Fi。由此可以構(gòu)建M+4個線性方程組F=GA并求解,這里F=(F1,F(xiàn)2,…,F(xiàn)M,0,0,0,0),A=(a1,a2,…,aM,c0,c1,c2,c3),而G是一個(M+4,M+4)的矩陣。

        解算線性方程組得到所有參數(shù)之后,再傳入新的X=(x,y,z)坐標(biāo)值,就可以得到對應(yīng)的空間基函數(shù)插值的結(jié)果,也就是頂點(diǎn)X基于該基函數(shù)變換后的結(jié)果。

        2.3 模型頂點(diǎn)的變形過程

        在三維空間中預(yù)先設(shè)置M個控制點(diǎn),用于控制同一空間中其它模型頂點(diǎn)的變形效果。如果沒有任何控制點(diǎn)發(fā)生變化,則認(rèn)為對應(yīng)的模型頂點(diǎn)P也都位于原處不變;當(dāng)某個或者多個控制點(diǎn)發(fā)生坐標(biāo)位置的變化時,計算其差值得到M個矢量數(shù)據(jù),基于這組矢量數(shù)據(jù)解算RBF方程,即可得到插值變形后的模型頂點(diǎn)差值d,則新模型頂點(diǎn)坐標(biāo)P′=P+d。

        在預(yù)處理過程中解算方程組得到所有的RBF參數(shù)之后,傳入模型頂點(diǎn)P,即可通過上述公式得到變換后的模型頂點(diǎn)P′。此時該頂點(diǎn)的法線矢量可能也發(fā)生了改變,如果不做處理的話,會造成模型的光照效果不正確,因此在處理完所有的模型頂點(diǎn)之后,需要重新進(jìn)行法線的計算。

        模型的三維法線矢量自動計算方法為:

        1)對于模型的每一個頂點(diǎn),獲取頂點(diǎn)所在的所有三角形信息;

        “有這樣的稀罕事?”陳主任右手掌掻了掻后腦勺,“不瞞你說,這樣的事情我還是頭一回聽說。不是我不相信你,耳聽為虛,眼見為實,我想實地核實一下,你看行不?”

        2)計算每個三角形的面法線矢量,即通過該三角形的三個頂點(diǎn)組成至少兩條不平行的邊矢量,然后計算其叉積結(jié)果;

        3)計算所有三角形的面法線平均值,然后將這個平均值進(jìn)行歸一化之后賦予該頂點(diǎn);

        4)對于模型中的所有頂點(diǎn),重復(fù)步驟1)-3)的過程。

        因為RBF插值計算的過程需要求取輸入點(diǎn)和所有控制點(diǎn)的距離值,因此控制點(diǎn)的數(shù)量會影響到計算的效率;而模型完成變形之后也需要一個后處理的流程來重新計算頂點(diǎn)法線,因此RBF網(wǎng)格變形算法并完全不適合實時交互式的角色定制調(diào)整,它會存在一定的延遲和卡頓問題。但是對于自動批處理流程,或者交互頻次較低的角色實時定制需求而言,該方法比FFD變形的方式更為靈活,控制點(diǎn)定義方式更為明確;模型頂點(diǎn)的變形解算過程也非常穩(wěn)定可靠,不會產(chǎn)生異常的計算結(jié)果。

        3 虛擬人體角色的網(wǎng)格變形算法

        3.1 虛擬人體的RBF控制點(diǎn)設(shè)置

        虛擬角色的控制點(diǎn)分布主要分為兩個區(qū)域,臉部和身體。臉部的控制點(diǎn)如圖2所示,主要設(shè)置在五官和臉型控制的關(guān)鍵位置上,以便快速地改變?nèi)宋锬槻啃蜗蟆?/p>

        圖2 虛擬角色臉部控制點(diǎn)

        臉部控制點(diǎn)的實際對應(yīng)區(qū)域和變形意義如表1所示。

        表1 虛擬角色臉部控制點(diǎn)說明

        虛擬角色身體的控制點(diǎn),如圖3所示。

        圖3 虛擬角色身體控制點(diǎn)

        身體控制點(diǎn)的實際對應(yīng)區(qū)域和變形意義,如表2所示。

        表2 虛擬角色身體控制點(diǎn)說明

        上述控制點(diǎn)可以定制和表達(dá)一個正常人體的絕大多數(shù)面部和體態(tài)變化,通過RBF解算線性方程組之后,即可將人體模型的網(wǎng)格頂點(diǎn)傳遞到方程中計算它的變形后位置,進(jìn)而改變整

        個模型網(wǎng)格的形態(tài),實現(xiàn)變形效果。

        如果需要對人體的細(xì)節(jié)部位再做細(xì)調(diào),例如調(diào)整手臂的粗細(xì),或者調(diào)整手指和腳趾形狀的話,只需要在對應(yīng)的位置增加多個控制點(diǎn),然后重新解算方程組即可。不過對于本文的研究內(nèi)容而言,上述控制點(diǎn)已經(jīng)足夠完成所需的功能。

        3.2 虛擬人物形象的自動定制變形流程

        虛擬角色的定制變形流程,如圖4所示。

        圖4 虛擬角色的定制變形流程

        如果需要程序自動調(diào)整控制點(diǎn)位置來批量生成模型,可以預(yù)先定義一些簡單的規(guī)則,例如隨機(jī)調(diào)整臉型、嘴角、眼角和鼻尖的位置,并設(shè)定一個合理的閾值范圍。然后自動隨機(jī)產(chǎn)生閾值內(nèi)的變換值并保存即可。隨機(jī)產(chǎn)生角色的過程中不需要渲染和預(yù)覽模型結(jié)果,定制結(jié)果可以確保穩(wěn)定,不會有嚴(yán)重錯誤或者穿透問題。具體的定制結(jié)果可以隨后應(yīng)用到常規(guī)的建模工具中,快速應(yīng)用于項目。

        3.3 虛擬人物形象定制和結(jié)果保存

        保存定制后的虛擬角色,可以直接記錄變形后模型的頂點(diǎn)、法線、索引信息,以及骨骼蒙皮等,但是這樣會花費(fèi)較多的內(nèi)存和磁盤資源,保存后的角色也無法再次進(jìn)行控制點(diǎn)編輯。因此,較為合理的方案是首先存儲一份原始的模型,以及原始的控制點(diǎn)坐標(biāo)列表;然后為每個定制角色存儲一份控制點(diǎn)坐標(biāo)的差值結(jié)果列表。

        實際讀取定制角色的結(jié)果時,只需要從磁盤或者內(nèi)存中獲取該差值列表,進(jìn)行RBF插值解算,進(jìn)而計算變形后的模型頂點(diǎn)即可。因為存儲的只是控制點(diǎn)的差值,并且大部分控制點(diǎn)的差值可能都是0,因此最終壓縮保存到磁盤的數(shù)據(jù)量非常之小,這對于大量角色定制模型的批量生成和存儲是非常便捷和實用的。

        4 實例研究

        采用Unity引擎來實現(xiàn)虛擬角色批量生成的原型系統(tǒng),在系統(tǒng)中測試RBF網(wǎng)格變形效果的實現(xiàn),所使用的虛擬角色模型來自于網(wǎng)絡(luò),其基礎(chǔ)形態(tài)如圖5所示。

        圖5 定制角色的初始形態(tài)

        通過自動調(diào)整控制點(diǎn),可以快速獲得不同面部和身體特征的定制化角色模型,部分隨機(jī)角色如圖6所示。

        圖6 隨機(jī)調(diào)整控制點(diǎn)獲得的定制角色面部形態(tài)(左上圖為原始面部形態(tài))

        該角色共有頂點(diǎn)數(shù)5萬個左右,使用本文所述的算法進(jìn)行調(diào)整,每進(jìn)行一次完整的RBF插值和法線平滑所需的時間大概為150ms左右;另一個較為復(fù)雜的角色模型共有頂點(diǎn)數(shù)28萬個左右,進(jìn)行一次完整運(yùn)算所需的時間約為720ms左右。因為控制點(diǎn)總數(shù)對于任意角色模型都保持一致。因此該系統(tǒng)運(yùn)行所消耗的時間與模型的總頂點(diǎn)數(shù)成正比關(guān)系。

        對于一個角色批處理生成系統(tǒng)來說,這個系統(tǒng)延遲是完全可以接受的。但是如果希望做成可互動式的游戲“捏人”系統(tǒng),那么每次處理都需要150ms左右的時間,會導(dǎo)致整個實時系統(tǒng)只能運(yùn)行在7-8Hz的幀速率下,暫時無法滿足實時交互的需求。

        5 結(jié)語

        提出一種基于徑向基函數(shù)(RBF)插值的模型網(wǎng)格變形方法。不同于傳統(tǒng)的模型編輯和定制手段,只需要增加一定數(shù)量的離散控制點(diǎn),并通過調(diào)整控制點(diǎn)的空間位置來統(tǒng)一改變模型頂點(diǎn)的變形效果。算法的控制點(diǎn)可以是隨意位置和任意數(shù)量,并且因為模型變形位置與控制點(diǎn)很接近,因此完全符合人的主觀操作邏輯,便于非技術(shù)人員使用。

        采用所述算法和控制點(diǎn)方案,可以快速地構(gòu)建角色的批量定制系統(tǒng),批量生產(chǎn)外形各異的虛擬人物角色并用于影視、游戲等場合。整個生產(chǎn)過程可以有人為參與,也可以完全通過程序控制完成,因此非常適用于相關(guān)項目應(yīng)用的場合。

        但是,所述的插值算法目前也有一定的局限性:主要在于算法本身的執(zhí)行效率不高,調(diào)整任何一個控制點(diǎn)的位置都需要重新進(jìn)行一次整體的網(wǎng)格變形運(yùn)算,因此不適合在實時交互式系統(tǒng)中使用。此外,使用所述方法調(diào)整得到的網(wǎng)格模型,與之前已經(jīng)綁定完成的骨骼蒙皮系統(tǒng)是否可以直接對接使用,目前也需要更多的測試才能得到結(jié)論。這些都是下一步需要研究和實踐的主要技術(shù)方向。

        猜你喜歡
        法線插值頂點(diǎn)
        基于定位法線的工件自由度判定方法及應(yīng)用
        過非等腰銳角三角形頂點(diǎn)和垂心的圓的性質(zhì)及應(yīng)用(下)
        基于Sinc插值與相關(guān)譜的縱橫波速度比掃描方法
        關(guān)于頂點(diǎn)染色的一個猜想
        橢圓法線定理的逆定理
        一種改進(jìn)FFT多譜線插值諧波分析方法
        基于四項最低旁瓣Nuttall窗的插值FFT諧波分析
        雙曲螺線的副法線曲面的相關(guān)性質(zhì)研究*
        Blackman-Harris窗的插值FFT諧波分析與應(yīng)用
        數(shù)學(xué)問答
        色偷偷女人的天堂亚洲网| 一区二区三区视频| 日韩成人大屁股内射喷水| 国产成人九九精品二区三区| 亚洲成人色黄网站久久| 日本一区二区三区视频国产| 免费大黄网站| 亚洲免费视频播放| 极品少妇被后入内射视| 国产黑色丝袜在线看片| 欧洲熟妇色xxxx欧美老妇多毛| 最新精品亚洲成a人在线观看| 精品国产一品二品三品| 日本一区二区精品高清| 亚洲 另类 日韩 制服 无码| 久久国产亚洲精品超碰热| 国产精品三级国产精品高| 国产亚洲精品熟女国产成人| 天天天天躁天天爱天天碰| 国产乱人伦偷精品视频免| 国产精品国产三级农村妇女| 极品美女扒开粉嫩小泬图片| 中文字幕有码无码av| 精品无码一区二区三区小说| 色婷婷久久综合中文蜜桃| 亚洲av成人精品日韩在线播放| 日韩欧美亚洲综合久久影院d3 | 少妇愉情理伦片丰满丰满午夜| 国产精品自产拍在线观看免费| 日本高清一区二区三区不卡| 老师开裆丝袜喷水视频| 欧美性xxxx狂欢老少配| 国产裸体AV久无码无遮挡| 日本黑人亚洲一区二区| 被黑人猛躁10次高潮视频| 中文字幕大屁股熟女乱| 国产一区二区不卡av| 欧美激情一区二区三区| 一本一本久久a久久精品| 亚洲国内精品一区二区在线| 公与淑婷厨房猛烈进出|