MAYA的一個粒子動力學教程(踩稀泥)
這教程里,我們將看到怎樣在一個泥地表面創(chuàng)建腳印。一個非常好的角色動畫與動力學綜合使用的范例。至少有兩種方法可以解決這個問題(踩稀泥),一個辦法是做一個剛性物體使用rigid body/particle 碰撞實現泥地的壓痕。問題是用這種方法實現時,當走路時剛性物體不能被彎曲。第二種方法是使用力場綁定到腳來變形一個由softbody mesh制作出的泥濘路面。
第一步:
打開場景文件:
這個場景文件里包括一雙行進于泥地表面上的腳,如果你此時播放動畫,地面與那雙靴子不會相互影響。激活 persp/outliner 。
*選擇mud surface
*選擇Soft/Rigid Bodies->Create Soft Body->Soft Option 接下來 在Creation Options 卷展覽下選擇Make soft
*按Create生成
*在 Outliner欄里選擇mudParticle,并在Channels 盒里將Conserve設為 0
第二步:
由于沒有力場的綁定此時的地面仍然沒有變形,我們將加入空氣力場給腳底和腳跟來完成這種影響。
*再不選擇任何物體的情況下,選擇Fields->Air->Air Options
*調整參數如下:
Magnitude 100
Attenuation 0.5
Direction to -1,0
Max Distance 0.2 (后來我把它改成1了覺得更好些,用0.2好像mud沒有被作用)
*按Create生成
*在 Outliner欄里按Ctr建選擇 bootLSole 和 airField1.
* 選擇 Fields -> Attach to Selected Objects as Source.
在Outliner中我們將看見air field 與bootlsole已成為父子關系,綁定的同時力場也移到了bootLSole的中心位置。重復上面的操作給heelL和bootR即bootR里的heelR
第三步:
這一步里我們將用到Dynamics Relationship Editor 來給地面(mud)加上力場。
*選擇Window -> Relationship Editors -> Dynamic Relationships...
*在左欄里選擇mud
*在右欄里選擇所有的fields
里場現在已經被連接,播放動畫看看效果
注意:必須將Playback Speed設為free。
第四步:
泥巴的變形可以通過腳前部的泥凸起來表現得更真實些。用同樣的力場綁定到腳的指定
方向就能解決了,但這里我們要用到一個表達式來確定Field被即活時的Magnitude屬性。換句話說,表達時將限制當腳踩到泥里時和腳離開地面時的field的magnitude 。
*返回到第一幀
*挑選Fields -> Create Air - Options,按Reset重置為默認值,按下面參數設置
Air name : pushUPAirL
Attenuation: 0.5
Direction : 0,1,0
Speed : 1.0
Max Distance : 1.0
按Create生成
*把pushUpAirL放在左腳趾下一點
*在Outliner中用mmb把pushUpAirL拖到bootL上。
pushUpAirL此時變成了bootL的子物體重復這些操作給right boot 命名新的airfield 為pushUpAirR 。打開Dynamic Relationships... 連接pushUPfieles給mud 物體。
第五步:
我們將給pushUpAir airFields的 Magnitude attribute 加入一個表達式。
*選擇Select pushUpAirL 在channel box 中反白顯示Magnitude
*在Magnitude 上右擊鼠標再談出的菜單中選擇Expressions
*輸入下面的語句
if (bootL.translateY > -3.0) { pushUpAirL.magnitude = 0; } else { pushUpAirL.magnitude = 50; }
*按Create生效
*重復同樣的工作給pushUpAirR(注意把上面表達式里的*L改成*R)
*播放動畫
上一篇:Maya教程:平民級的片頭光效
下一篇:用MAYA作物理實驗