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

        ?

        基于MEL語言的三維角色動力學(xué)設(shè)計

        2014-04-29 22:35:16何柳青
        電腦知識與技術(shù) 2014年20期

        何柳青

        摘要:在三維動畫傳統(tǒng)的制作方法中,對于角色骨骼裝配,我們在令動畫生成之后,假如要修改會十分麻煩,必須使用大量的時間去重設(shè)先前的動作節(jié)點數(shù)據(jù)再重新插入新的編制方案。該文以保證制作質(zhì)量的前提下加快三維角色制作速度為出發(fā)點,分析了常用骨骼裝配的方法,并在此基礎(chǔ)上結(jié)合Maya的MEL語言把部分采用手動裝配很難實現(xiàn)的難點靈活解決了,增加了效率和減少工作量。

        關(guān)鍵詞:三維角色;骨骼裝配;MEL

        中圖分類號:TP37 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)20-4742-03

        The Role of Three-Dimensional Dynamic Design Based on MEL Language

        HE Liu-qing

        (Guangzhou Administration for Industry and Commerce,Career Technical College, Guangzhou 510850,China)

        Abstract: In 3D animation making method in the traditional role of the bone, assembly, after we make the animation, if want to change will be very troublesome, must use a lot of time duplicate removal action node data with previous re inserted into the plan of new. In this paper, in order to ensure accelerated 3D character making speed as the starting point for making quality, analysis of the commonly used method of skeleton assembly technology, based on Maya MEL language to part adopts manual assembly difficulties difficult to achieve flexible solution, increase the efficiency and reduce the workload.

        Key words: the three-dimensional character skeleton assembly; MEL

        常規(guī)類型的角色骨骼動畫在某些范疇上有著十分廣泛的使用價值,而我們需要在更高級別的動畫項目中適應(yīng)項目的制作要求??梢允褂脦в写罅筷P(guān)節(jié)的骨骼,根據(jù)幾個主要的關(guān)節(jié)的屬性來控制骨骼的運動,通過這種方式創(chuàng)建出精確的角色骨骼動畫。角色骨骼動畫要求角色骨骼有可運動的“層級”結(jié)構(gòu),這種“層級”結(jié)構(gòu)在一般情況下已經(jīng)能滿足絕大部分動畫項目制作要求。

        然而,我們可以通過MEL腳本語言對特定的骨骼設(shè)置,單獨對某部分細(xì)節(jié)進行針對性調(diào)節(jié)。針對兩足角色骨骼的運動規(guī)律進行設(shè)置,從最大程度上模擬真實的骨骼運動。

        1 骨骼層級數(shù)據(jù)的匹配

        1.1 創(chuàng)建骨骼

        在三維角色動畫中,編輯動畫之前首先要給角色的創(chuàng)建骨骼,同時進行骨骼層級的匹配。而骨骼對于“層級”的結(jié)構(gòu)十分嚴(yán)謹(jǐn),即骨骼與骨骼之間的“父子關(guān)系”。它由多個運動的骨骼關(guān)節(jié)組合成一個整體骨骼,它由多個子層級關(guān)節(jié)組合而成,每個骨骼分別控制模型的相對應(yīng)位置,我們可以通過設(shè)定骨骼關(guān)節(jié)的控制權(quán)重來實現(xiàn)模型的光滑變形。骨骼的層級關(guān)系控制了子層級骨骼在各個運動方向上的自由度,從而更真實地模擬角色的運動。

        我們在創(chuàng)建骨骼時,必須清楚角色模型的各個部位的關(guān)系。一個關(guān)節(jié)可以由一個或者一個以上的骨骼組成。根關(guān)節(jié)是整體骨骼的第一段關(guān)節(jié),是下面所有關(guān)節(jié)的父級,父級關(guān)節(jié)可以是任一段關(guān)節(jié),但其下面必須有子級關(guān)節(jié)。如圖1所示。

        1.2 蒙皮

        當(dāng)骨骼創(chuàng)建完成后,我們可以選擇剛性或柔性蒙皮將骨骼與模型綁定,模型則會被骨骼帶動。我們可以使用兩副骨骼來控制一個模型,還可以把物體作為骨骼的子層級物體,這樣也就可以通過骨骼來控制物體了。

        在蒙皮的時候,把骨骼與模型綁定。在建立骨骼時,必須考慮模型的布線與結(jié)構(gòu),根據(jù)這些來選擇最佳的蒙皮方法。模型的結(jié)構(gòu)與布線影響著蒙皮的方法,骨骼的建立也會因情況不同而有所變動。在Maya里蒙皮的方法有以下幾種:柔性蒙皮、剛性蒙皮、包裹蒙皮和晶格蒙皮,其中柔性蒙皮和剛性蒙皮主要用在角色骨骼綁定上。

        每一副骨骼都有若干關(guān)節(jié),而關(guān)節(jié)則是骨骼與骨骼之間的鏈接點,而骨骼是關(guān)節(jié)之間的實體距離。關(guān)節(jié)可以控制骨骼的旋轉(zhuǎn)與空間位移,每個關(guān)節(jié)可以鏈接若干個骨骼。

        通常我們在創(chuàng)建完骨骼之后,結(jié)合逆向動力學(xué)的解算器IK slover去帶動骨骼運作,這樣可以增加操作的簡易性。

        骨骼關(guān)節(jié)鏈?zhǔn)怯啥喽喂趋赖年P(guān)節(jié)組合而成,角色軀干的整體骨骼呈樹狀分支結(jié)構(gòu),關(guān)節(jié)不能單獨存在,呈非線性結(jié)構(gòu),父級關(guān)節(jié)是骨骼的最高級關(guān)節(jié),它控制著整付骨骼的整體運動。

        2 逆向動力學(xué)骨骼設(shè)置

        逆向動力學(xué)是通過子級骨骼的角度和位置來反推算父級骨骼的角度和位置。該文研究的方向主要是骨骼逆向動力學(xué)(IK,Inverse kinematics,也稱反向動力學(xué))對角色模型的控制。創(chuàng)建下圖骨骼,給角色骨骼兩邊添加上IK RPslover解算器,再給解算器添加上矢向量約束。創(chuàng)建兩個導(dǎo)向器在肘部后面,控制肘部關(guān)節(jié)的運動方向。如圖2所示。

        最后給每段關(guān)節(jié)添加名稱,這里要遵循Maya的骨髓命名原則,以便給骨骼添加Mel進行編輯。

        逆向動力學(xué)和正向動力學(xué)相反,它是根據(jù)子級骨骼反推算父級骨骼。優(yōu)點是操作方便,提高效率,可以很大程度減少需要操作的骨骼。

        骨骼是由若干層級的關(guān)節(jié)鏈接組合而成,包含了骨骼的各個關(guān)節(jié)以及相對應(yīng)的控制器。雖然骨骼由控制器來直接控制骨骼運動,但骨骼的運動仍然要遵循本身的層級結(jié)構(gòu)關(guān)系,這樣骨骼便會按照原先設(shè)定好的方式去運動。我們常見的肘部彎曲就是逆向動力學(xué)的其中一個例子。

        當(dāng)末端骨骼關(guān)節(jié)的變量為[Δ]X時,相應(yīng)的骨骼關(guān)節(jié)角度變量[Δ][θ],有以下關(guān)系:

        [Δ]X=J[Δ][θ]

        其中J是雅克比矩陣。

        3 結(jié)合MEL語言對骨骼精確控制的設(shè)計

        3.1 鎖定無關(guān)的屬性

        在對骨骼進行腳本添加之前,盡量對一些不會使用到的屬性進行鎖定,比如Scale參數(shù)除非要制作骨骼伸縮的動畫,一般情況下是不會使用到的。為了防止在編輯動畫時的失誤操作,可以人為地限制其參數(shù)變化,以達到整體骨骼層次結(jié)構(gòu)統(tǒng)一。我們對部分骨骼縮入?yún)?shù)鎖定后并隱藏,如圖3所示。

        3.2 編輯脊椎骨骼的運動

        為了能更好地控制骨骼運動,先在場景建立一個定位器“SpineCtrol”,下面使用表達式給定位器創(chuàng)建屬性。

        addAttr -ln "Side" -at double |SpineCtrol;

        setAttr -e-keyable true |SpineCtrol.Side;

        這樣就為控制器添加了Side屬性,繼續(xù)為其添加Twist和Bend的屬性。

        addAttr -ln "Twist" -at double |SpineCtrol;

        setAttr -e-keyable true |SpineCtrol.Twist;

        addAttr -ln "Bend" -at double |SpineCtrol;

        setAttr -e-keyable true |SpineCtrol.Bend;

        新增屬性如圖5所示。

        根據(jù)上面的控制,下面進一步來控制脊椎的角度變量,輸入表達式:

        Center_Spine0.rotateZ = -SpineCtrol.Bend;

        Center_Spine2.rotateZ = -SpineCtrol.Bend;

        Center_Spine1.rotateZ = -SpineCtrol.Bend;

        Center_Spine3.rotateZ = -SpineCtrol.Bend;

        Center_Spine4.rotateZ = -SpineCtrol.Bend;

        對于Twist及Bend參數(shù)的腳本控制也以此類推,方法同上。

        下面來測試控制器的效果,選中SpineCtrol,在通道欄中選擇圖5的三個參數(shù)項,拖動參數(shù)的變化,脊椎的骨骼便會左右擺動,如圖6所示。

        當(dāng)參數(shù)項Bend的值變動時,脊椎的關(guān)節(jié)會繞Z軸反方向旋轉(zhuǎn),同時會產(chǎn)生骨骼層級疊加的旋轉(zhuǎn)效果。子級骨骼會把本身的變量傳遞給上一級的骨骼,根據(jù)父子關(guān)系的鏈接會層層加大變量的數(shù)值效果。Twist圍繞X軸反方向的角度產(chǎn)生變量,Side則以Y軸的反方向角度產(chǎn)生變量。顯而易見,使用適量的MEL表達式可以令骨骼運動準(zhǔn)確同時又簡化操作。

        3.3 腿部骨骼運動的控制

        當(dāng)角色腳部提起時,身體為了維持平衡,身體會向側(cè)面傾斜,如果使用手動控制器來控制會比較麻煩而且不準(zhǔn)確,因此我們?nèi)匀皇褂帽磉_式來控制。先創(chuàng)建兩個定位器(另再創(chuàng)建兩個矢向量約束用來控制腿的運動方向),給該控制器命名為“L_foot”和“R_foot”,給腿部骨骼添加RP IK解算器。

        打開腳本編輯器,選擇通過腳本名稱的方式,選擇先前創(chuàng)建的腳本,在該腳本的末端處加入以下表達式:

        Center_SpineRoot.rotateY = (L_foot.translateY * 2)

        -(R_foot.translateY * 2);

        Center_SpineRoot.translateX = (-L_foot.translateY / 3)

        -(-R_foot.translateY / 4);

        輸入表達式后,選中R_foot定位器差向上移動,身體整體便自動向左方產(chǎn)生輕微傾斜,如圖7所示。

        從上圖中可以看到,右腿提起時,上半身向左方傾斜,當(dāng)R_foot在Y軸正方向位移時,中心根骨骼Center_SpineRoot的角度值等于雙腿在Y軸正方向的位移值乘以2,兩值再取差,這樣便會產(chǎn)生與人體運動規(guī)律相符的骨骼動作。同理設(shè)置左邊的骨骼。

        4 總結(jié)

        筆者在長期的工作體會中分析了現(xiàn)階段角色動畫的裝配流程問題,嘗試通過MEL表達式來減少流程中帶來的不便,也為了更加準(zhǔn)確地模擬骨骼的真實運動。該文僅闡述了骨骼運動的小部分內(nèi)容,希望能起到拋磚引玉的效果,為廣大動畫工作者提供更好的思路。

        參考文獻:

        [1] 李想.骨骼皮膚綁定技術(shù)的研究及實現(xiàn)[D].杭州:浙江大學(xué),2006.

        [2] 龍鉭.三維動畫制作中角色裝配技術(shù)的研究和實現(xiàn)[D].上海:上海交通大學(xué),2009.

        [3] 蔡霞.三維地形中的虛擬人體行走動畫[D].濟南:山東大學(xué),2009.

        [4] 張寶榮.MAYA總動員:Dynamics動力學(xué)篇[M].北京:兵器工業(yè)出版社,2007.

        [5] Joe Harkins,Jeff Bernstein, Super Toon II Body&Face Rigging[C].SIGGRAPH MayaMaster Class,美國波士頓,2006:31-31.

        [6] 張寶榮.MAYA總動員:角色動畫篇[M].北京:兵器工業(yè)出版社,2007.

        [7] Jason Schleifer, Animator Friendly Rigging[C],SIGGRAPH Maya Master Class,美國波士頓,2006:1-28.

        [8] ILYA Baran, JOVAN Popovic A. Automatic Rigging and Animation of 3D Characters. ACM Transactions on Graphics ,2007(26):72-80.

        [9] 羅漢.Maya MEL動畫編程入門到精通[M].北京:兵器工業(yè)出版社,北京希望電子出版社,2009.

        [10] 王瑢瑢.基于運動庫的三維角色動畫生成方法研究與實現(xiàn)[D].北京:中國科學(xué)院計算機技術(shù)研究所,2006.

        [11] 袁景玉,沈天行,孟濤,等,三維動畫人體運動控制方法綜述[J].河北工業(yè)大學(xué)學(xué)報,2009,31(4):216-217.

        亚洲日产AV中文字幕无码偷拍| 亚洲av成人无码网站大全| 久久精品国产9久久综合| 国产丝袜精品丝袜一区二区| 青青草免费观看视频免费| 人人妻人人添人人爽欧美一区| 成人免费看www网址入口| 国产午夜无码视频免费网站| 国产精品很黄很色很爽的网站 | 内谢少妇xxxxx8老少交| 亚洲高清在线不卡中文字幕网| 久久精品日韩免费视频| 一区二区三区中文字幕p站| 四虎影视永久地址www成人| 最新亚洲人AV日韩一区二区| 欧美成人一区二区三区在线观看| 久久天天躁狠狠躁夜夜中文字幕| 日本在线观看三级视频| 日韩亚洲欧美久久久www综合| 韩日午夜在线资源一区二区| 欧美自拍视频在线| av天堂手机在线免费| 男女视频在线观看一区| 人妻夜夜爽天天爽一区| 日韩AV无码一区二区三不卡| 成人影院视频在线播放| 久久精品无码一区二区日韩av| 1717国产精品久久| 国产一级片内射在线视频| 国产区女主播一区在线| 国产一区二区内射最近更新| 亚洲性啪啪无码AV天堂| 色偷偷亚洲精品一区二区| 国产精品白丝久久av网站| 高潮毛片无遮挡高清免费| 国产精品国产三级国产av主| 免费的小黄片在线观看视频| 99久久伊人精品综合观看| 日本a在线免费观看| 久草中文在线这里只有精品| 国产精品嫩草99av在线|