999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

maya軟件中實現實時動力學效果的研究

2019-10-20 09:15:07房煥祁
藝術大觀 2019年28期

房煥祁

摘要:動畫制作為了追求效果的表現對于物體和環境的空間關系,物體與物體之間的運動關系都有著十分苛刻的要求。在常規的剛體物體運動中,通過學習了相應的物體的運動規律之后,可以通過人眼的觀察對物體的物理運動進行判斷來作為參考進行制作。但是在柔性類物體的運動中,由于maya軟件自身的動力學模擬計算需要一個解算的環節,這就導致一旦所制作的動畫中,出現了頭發和布料類的物體就需要不斷地解算和返修以期達到最好的效果。但是在解算和返修的過程中需要大量的時間和工作量,會拖慢整個制作的進度,長時間的返修和解算會影響制作人員的情緒增加制作時間和工作量,導致作品不能夠達到預期的效果。因此在動畫制作中實現實時動力學對整個動畫制作有著重要的意義。

關鍵詞:maya;動力學;實時動力學

一、maya軟件動力學介紹

maya軟件是一款集模型制作、角色綁定、動畫制作、特效制作以及渲染圖形的綜合性軟件。其功能及其強大,是目前制作三維動畫的主流軟件。本文中提到的動力學就是maya特效模塊中的一個分支。在maya軟件中對動力學的定義是指通過軟件來描述一個在真實的物理環境中的物體是如何進行移動的物理學分支。maya軟件的動力學動畫是通過使用了物理學的規則來通過軟件計算模擬自然力,maya動力學動畫能夠計算模擬逼真的物理運動,這一點如果使用傳統的序列幀動畫來實現會使工作量劇增而且難以實現。

二、在動畫制作中使用maya軟件實現實時動力學的意義

首先在動畫制作中都不能避開物理運動,所有的動畫在制作的同時都會遵循物理學定律。拋開特殊的環境和效果不談,絕大多數的動畫制作都是要在一個基本符合物理規律的環境下進行制作的。所以在動畫制作的制作中,物理運動規律是必須遵守的一個基本條件。由于必須遵循物理運動規律,在比較完整的物體或者肢體動畫制作中所需的制作工作量不是十分繁重,但是一旦進入到一些特定物體,例如布料、頭發、衣服等柔性物體的制作中,要制作出真實的物理狀態是難以通過序列幀動畫的制作方法來實現的,所以maya軟件有專門的FX動力學模塊應對來對此類情況。

在maya軟件的FX模塊是有專門的針對頭發和布料類別物體模擬的專用設置,但是這些設置有一個明顯的缺陷,也就是無法實現實時的動力學模擬效果,雖然有交互式模擬的設置,但是在交互模式下對動畫制作有很大的影響,并且每一種動力學設置都需要一個解算階段,也就是無法在動畫制作的過程當中即時的解算動力學效果,這樣會衍生出很多的問題。例如動畫中最不允許出現的穿幫,在動畫制作的過程中,如果物體和物體之間出現了不符合物理學不合理的穿插,這種情況通常被稱作穿幫。穿幫會對動畫效果產生巨大破壞,會使整段動畫顯得不真實極大地破壞了動畫的表演效果,所以這種情況是絕對不允許出現在動畫制作中的。而頭發、衣服、和布料類的柔性物體,因其特殊的物理運動規律是十分容易出現穿幫的情況。所以在動畫制作中,經常會因為無法及時的觀察到這類物體的即時動力學表現而導致出現穿幫,需要再次重新調整動畫反復的測試,導致工作量劇增的情況。

動畫制作為了追求效果的表現對于物體和環境的空間關系,物體與物體之間的運動關系都有著十分苛刻的要求。在常規的剛體物體運動中,通過學習了相應的物體的運動規律之后,可以通過人眼的觀察對物體的物理運動進行判斷來作為參考進行制作。但是在柔性類物體的運動中,由于maya軟件自身的動力學模擬計算需要一個解算的環節,這就導致一旦所制作的動畫中,出現了頭發和布料類的物體就需要不斷地解算和返修以期達到最好的效果。但是在解算和返修的過程中需要大量的時間和工作量,會拖慢整個制作的進度,長時間的返修和解算會影響制作人員的情緒增加制作時間和工作量,導致作品不能夠達到預期的效果。因此在動畫制作中實現實時動力學對整個動畫制作有著重要的意義。

三、在maya軟件中實現實時動力學的兩種方式

(一)如何在maya軟件中通過動力學曲線和樣條線IK配合實現實時動力學

在maya軟件中動力學設置有很多種方式,例如頭發系統或者是布料系統,我們先對動力學曲線和樣條IK配合來實現實時動力學進行介紹。本文中提到的動力學曲線是通過maya軟件中的頭發系統(Hair System)生成的,它具有頭發幾乎全部的屬性,在控制上和靈活性都十分的強大和方便。而樣條線IK是maya軟件中骨骼反向動力學設置中的一項功能,通常為體積比較長而且彎曲的關節鏈對象設定動畫pose或者設置動畫。

首先創建一根曲線模擬馬尾發型的狀態:對其命名為Test_curve。然后選中曲線Test_curve在maya軟件的FX模塊下執行nHair菜單下的動力學華選定曲線命令,使曲線成為動力學曲線。這一步驟是將一個原始的無屬性曲線轉化成為一個帶有動力學模擬屬性的曲線,為后續工作做準備。此時在maya軟件的大綱視圖中原始曲線消失出現了hairSystem1、nucleus1解算器、hairSystem1Follicles組以及hairSystem1OutputCurves組。此時我們需要刪除nucleus1解算器,因為在此環節不需要nucleus1解算器進行工作。并且在hairSystem1的屬性設置中將使用Nucleus1解算器的選項取消掉,由于刪除nucleus1解算器的節點所以在解算設置中需要將Nucleus1解算器關掉。將hairSystem1Follicles組的中心點移動到曲線的起始端,然后在hairSystem1Follicles組下的follicle1節點下的形狀節點中將點鎖定屬性修改為基礎,這樣動力學曲線的運動會以曲線的起始點為基點進行動力學模擬。此時在打開交互式播放的模擬狀態下,移動曲線就能夠觀察到曲線在模擬動力學運動的效果。此時為了能夠讓曲線更加接近頭發在物理環境下的運動效果,可以對hairSystem1屬性中hairSystemShape1節點下的動力學特性菜單中迭代次數增加到8,將剛度增加到0.35。

接下來創建一段骨骼使用樣條線IK命令將動力學曲線和骨骼結合成線性IK骨骼。先創建一段骨骼,數量視具體長度而定。打開在裝備模塊下的骨架菜單中的創建樣條線IK控制柄命令的屬性,只保留根在曲線上的選項其他選項全部勾選掉。接下來先選擇我們創建的骨骼鏈的根骨骼,再加選末端骨骼,最后在保留之前的選擇的骨骼鏈的根骨骼和末端骨骼的前提下再次加選hairSystem1OutputCurves組下的curve1動力學輸出曲線。此時線性IK骨骼制作完成,骨骼能夠跟隨動力學曲線進行運動。

此時我們將hairSystem1OutputCurves組下面的曲線curve2加載到節點編輯器中,展開它的上下游節點,在展開的節點中在hairSystemShape1節點的菜單下面有一個當前時間的選項是被連接的狀態。這個選項連接在time1的節點的輸出時間中,也就是說在maya軟件中這個動力學曲線的動力學模擬效果是通過時間節點的輸入來進行開始和結束模擬的。也就是動力學模擬是通過時間來控制的,但是這個時間是一個獨立的時間,和當前的時間是區分開的。只有當這個當前時間開始運行的時候動力學模擬才會開始,否則動力學曲線的模擬是不會運行的。因此我們需要對這個當前時間進行修改和設置。

首先我們需要打斷hairSystemShape1下當前時間的連接,然后創建一個定位器locator1,我們通過定位器locator1來模擬當前時間。并將定位器locator1吸附到線性IK骨骼組的末端骨骼上,使用線性IK骨骼組的末端骨骼對定位器locator1進行一個保持偏移的點約束,下面我們使用表達式進行設置。

if(frame!=hairSystemShape1.startFrame)

hairSystemShape1.currentTime = hairSystemShape1.startFrame + 1 + locator1.translateX - locator1.translateX + locator1.translateY - locator1.translateY +locator1.translateZ - locator1.translateZ

else

hairSystemShape1.currentTime = hairSystemShape1.startFrame;

以上表達式的內容是,如果maya軟件時間幀數不等于動力學曲線模擬的開始時間,那么動力學曲線模擬時間就等于動力學曲線模擬開始時間加1,并加上定位器locator1的X軸位移,再減去定位器的X軸位移,加上定位器的Y軸位移,再減去定位器的Y軸位移,加上定位器的Z軸位移,再減去定位器的Z軸位移,如果條件不成立那么動力學曲線模擬時間等于動力學曲線模擬開始時間。其目的是使用定位器locator1模擬了動力學曲線模擬的開始時間,通過使用表達式將動力學曲線模擬的時間和當前時間連接,讓動力學曲線的模擬時間不在受原時間節點的限制,能夠即時的進行動力學模擬,使之能在動畫制作中進行更加直觀的觀察,方便制作節約時間。

(二)如何在maya軟件中使用布料系統實現實時動力學

在maya軟件中布料模擬系統也是在動畫制作中重要的一個環節,布料系統的工作原理和maya軟件中的頭發系統的工作原理十分類似。也是通過解算后才能展示布料的物理運動效果,所以實現maya軟件布料系統的實時動力學效果也需要從解算時間下手。

首先創建一片多邊形面片(pPlane1)并將其分段加高,以便于在模擬布料解算時能夠有比較精確的效果。調整好大小及位置之后將其所有屬性都進行凍結變換,讓多邊形面片(pPlane1)的通道欄數值都歸為默認狀態。然后再次創建球型多邊形物體(pSphere1)將其設置為被動碰撞物體。為多邊形面片(pPlane1)設置布料模擬命令(創建ncloth),此時多邊形面片(pPlane1)被設置成布料模擬物體,在大綱中出現了nucleus1、nRigid1、nCloth1三個節點。再次對多邊形面片(pPlane1)進行設置,進入多邊形面片(pPlane1)的點級別旋轉最頂端的頂點設置變換約束,此時大綱中出現了dynamicConstraint1節點。此命令是為了讓布料系統能夠按照設置進行移動。創建一個控制器nurbsCircle1并添加兩個屬性,第一個屬性TimeOn為枚舉型作為開關,第二個屬性位浮點型tm。將大綱中dynamicConstraint1節點作為子物體設置到控制器nurbsCircle1的層級下面為方便以后控制物體。然后對變換約束產生的dynamicConstraint1節點進行動畫設置播放并測試模擬效果。解算模擬正常后找到nucleus1節點,將其在節點編輯其中展開能夠看到布料系統的解算時間和maya軟件的時間滑塊之間的關聯方式。在節點編輯器中顯示,時間滑塊將時間輸入給布料解算系統的當前解算開始時間也就是當前時間選項,這表示在時間滑塊運動時布料解算才開始解算。我們需要將nucleus1節點下的被時間節點控制連接的當前時間選項打斷,斷開時間節點的控制。此時當前時間就是解算模擬的開始時間,打斷了時間節點的連接后當前時間選項不受時間節點的控制,表明布料解算模擬的開始時間不再受控制,此時我們通過MEL命令進行連接。

float $tm;

$tm="nurbsCircle1.translateX";

$tm="nurbsCircle1.translateY";

$tm="nurbsCircle1.translateZ";

$tm="nurbsCircle1.rotateX";

$tm="nurbsCircle1.rotateY";

$tm="nurbsCircle1.rotateZ";

$tm="nurbsCircle1.scaleX";

$tm="nurbsCircle1.scaleY";

$tm="nurbsCircle1.scaleZ";

$tm=time1.o;

if(nurbsCircle1.TimeOn==0){

nurbsCircle1.tm+=1;

}

else{

nurbsCircle1.tm=1;

}

以上MEL命令的意思是我們賦值一個變量,讓布料解算開始的當前時間和變量連接,變量被賦值了控制器的位移和旋轉以及縮放屬性,此時變量的值不為零是跟隨控制的移動變化的,也就實現了在物體運動的時候,布料解算系統的開始時間不再受時間滑軌的限制。此時控制布料系統解算開始的時間是變量,變量不為0時布料解算的當前時間就不為0也就意味著開始了布料的解算模擬。此時就能實現布料解算的實時運動,并且控制器的兩個屬性能夠控制實時布料解算的開關,以便于在動畫制作中能夠任意打開或者關閉布料系統的實時動力學效果,方便動畫師的工作。

到此通過對IK骨骼和樣條線的設置以及布料系統的設置,在maya軟件中實現了實時動力學的效果。并且在maya軟件動畫制作中有很多種方法都能夠實現實時動力學的效果,制作方法千差萬別但最終的目的都是為了能夠使動畫制作更加方便和快捷。在眾多的為了能夠使動畫制作的過程變得更加容易和輕松方法中,實時動力學只是極其微小和冷門的一個小分支。動畫制作產業是一個密集型的工作產業,在每一個環節都需要大量的時間來設計和制作。而每一個能夠行之有效的減少工作量和制作時間的小技巧,都能夠一點點的節省動畫制作的時間和減少動畫制作的工作量。以此來減少大家的工作負擔和節約工作時間,使大家的作品能夠達到預期的效果。

主站蜘蛛池模板: 啪啪国产视频| 免费在线a视频| 国产精品林美惠子在线播放| 日本在线视频免费| 成人国产精品2021| 中文纯内无码H| 4虎影视国产在线观看精品| 日韩大片免费观看视频播放| 亚洲AV无码不卡无码 | 欧美性精品| 亚洲国产中文精品va在线播放| 午夜三级在线| 亚洲嫩模喷白浆| 成年A级毛片| 久久久久免费精品国产| 亚洲无码视频喷水| 国产精品视屏| 午夜精品区| 免费无码又爽又黄又刺激网站 | 国产美女精品一区二区| 无码日韩精品91超碰| 无码高潮喷水专区久久| 国产69精品久久久久妇女| 亚洲综合亚洲国产尤物| 不卡无码网| 国产女同自拍视频| 亚洲第一福利视频导航| 亚洲精品无码高潮喷水A| 国产91丝袜在线播放动漫| 亚洲成人高清无码| jizz在线观看| 高潮毛片免费观看| 真实国产乱子伦视频| 亚洲天堂免费| 亚洲国产成人超福利久久精品| 色婷婷电影网| 国产男人的天堂| 亚洲中文无码av永久伊人| 久久影院一区二区h| 国产在线拍偷自揄观看视频网站| 国产一级毛片高清完整视频版| 99中文字幕亚洲一区二区| 国产精品第一区在线观看| 亚洲三级影院| 国产一在线观看| 谁有在线观看日韩亚洲最新视频| 高清免费毛片| 国产精品视频导航| 免费在线播放毛片| 色天天综合久久久久综合片| 国产成人91精品| 亚洲人精品亚洲人成在线| 2021最新国产精品网站| 毛片免费高清免费| 欧美亚洲香蕉| 国产啪在线| 尤物亚洲最大AV无码网站| 久久精品视频一| 中国一级毛片免费观看| 日本三级欧美三级| 91精品国产无线乱码在线| 久久久久久久久18禁秘| 狠狠色狠狠综合久久| 又粗又硬又大又爽免费视频播放| 青青草原国产免费av观看| 午夜福利网址| 国产无码网站在线观看| 中文字幕在线永久在线视频2020| 国产情侣一区二区三区| 无码精品一区二区久久久| 高清色本在线www| 99热国产这里只有精品无卡顿"| 国产91小视频| 国产美女在线免费观看| 国产亚洲精品91| 亚洲欧洲日产国码无码av喷潮| 成人午夜天| 日本在线欧美在线| 国产激情影院| 国产理论精品| 国产无人区一区二区三区| 成色7777精品在线|