網絡教程:用MAYA表達式制作探索車動畫,難度中等,梳理表達式使用方法。一起學習:
創建簡單大腳車模型(四輪、軸、車身),滿意後可換精模。創建崎嶇地面。

創建四長方體作輪子位置參考物,與地面幾何體/法線約束,調整至車輪位置。


$a[1]=a1.translateY; $a[2]=a2.translateY; $a[3]=b1.translateY; $a[4]=b2.translateY; wheel_r1.rotateX=clamp(max((-$angerWu1+85),(b1.rotateX+90)), min((-$angerWu1+120),(b1.rotateX+90)),(b1.rotateX+90)); wheel_r2.rotateX=clamp(max((-$angerWu2+85),(b2.rotateX+90)), min((-$angerWu1+120),(b2.rotateX+90)),(b2.rotateX+90)); wheel_l1.rotateX=clamp(max((-$angerWu1+85),(a1.rotateX+90)), min((-$angerWu2+120),(a1.rotateX+90)),(a1.rotateX+90)); wheel_l2.rotateX=clamp(max((-$angerWu2+85),(a2.rotateX+90)), min((-$angerWu2+120),(a2.rotateX+90)),(a2.rotateX+90));
$a[1]-4為四輪參考物Y軸位置,$angerWu1/2為輪軸傾斜角,clamp函數限制範圍。
wheel_r1.translateX=b1.translateX; wheel_r2.translateX=b2.translateX; wheel_l1.translateX=a1.translateX; wheel_l2.translateX=a2.translateX; wheel_r1.translateZ=b1.translateZ; wheel_r2.translateZ=b2.translateZ; wheel_l1.translateZ=a1.translateZ; wheel_l2.translateZ=a2.translateZ; body.translateX=(wheel_l1.translateX+wheel_l2.translateX+wheel_r1.translateX+wheel_r2.translateX)/4; body.translateZ=(wheel_l1.translateZ+wheel_l2.translateZ+wheel_r1.translateZ+wheel_r2.translateZ)/4;
輪子位置由參考物控制,車身位置取四輪空間位置平均值近似計算。
初始化幀:定義四輪中心Y軸初始位置(1.4單位離地高度)、系統橫向/縱向傾斜角($angerWu/$angerWv, $angerBu/$angerBv)、車身Y軸初始位置。
動態計算幀(frame>1):
教程展示MAYA表達式實現車輛物理模擬的完整邏輯,適合進階學習參考。