1 .首先創建一個多邊形立方體,取名 B1 ,作為第一條桿,長、寬、高分別為 0.4 、 10.1 、 0.2 。把它從 Z 軸旋轉一點角度。
2 .再建一多邊形圓柱體取名 pin ,就放在原點,並旋轉、縮放調整成如圖:
3 .然後復制 B1 立方體,取名 B2 。現在開始表達式了,選擇 B2 ,打開 window->Animation Editors->Expression Editor 表達式編輯器,在表達式區鍵入 B2.rotateZ = B1.rotateZ * -1 點擊 Create 按鈕。這條語句表示 B2 的 Z 軸角度是 B1 的角度乘以 負 1 ,兩個立方體成為一個剪刀的原理。現在試試沿 B1 的 Z 軸旋轉,會發現 B2 也會向著 B1 的相反方向旋轉。
4 .選擇 B1 、 B2 和 pin ,按 CTRL+D 一起復制這三個物體,並向右移動一些距離。多與少不要緊,等會輸入的表達式會幫助修正的。 MAYA 會自動取名的,如不對請改為如圖所示,否則會與下面的表達式不符。
5 .選擇 pin1, 在表達式編輯器中鍵入 pin1.translateX = cosd (90-B1.rotateZ)*5 2 -0.2 這條語句用來控制 pin1 隨著 B1 的 Z 軸旋轉而沿著 X 軸平移。 “*5” 是立方體高度的一半 , 最後的 “-0.2” 是因為 cosd 函數是按立方體的頂點來算的,如不減 0.2 ,在運動時兩條桿的末尾會因分開距離太大而不接觸,這是不真實的,所以要 -0.2 使距離小一些。
5-2
5-3
6 .接下來控制 B3 、 B4 的移動,選擇 B3 ,在表達式編輯器中鍵入 B3.translateX = pin1.translateX 此句將 B3 的 X 軸位置設為 pin1 的 X 軸位置。 B4 同樣 : B4.translateX = pin1.translateX 。
控制旋轉: B3 立方體: B3.rotateZ = B1.rotateZ
B4 立方體: B4.rotateZ = B1.rotateZ * -1
如果同一個物體的表達式要連續輸入兩條以上,要在兩條之間加分號 “ ; ”
如: B3.translateX = pin1.translateX ;
B3.rotateZ = B1.rotateZ
現在可以旋轉 B1 的 Z 軸來看一看效果了。
7 .再來復制多一組,分別取名 B5 、 B6 、 pin2 。選擇 pin2, 在表達式編輯器中鍵入 pin2.translateX = cosd (90-B1.rotateZ)*5 4 -0.2 這條語句用來控制 pin2 隨著 B1 的 Z 軸旋轉而沿著 X 軸平移。這次是乘以 4 ,每復制多一組,就要在前一組數值的基礎上加 “2”, 在第三組時就是 “6” 。道理不用說了吧。
控制 B5 的移動和旋轉: B5.translateX= pin2.translateX ;B5.rotateZ = B1.rotateZ
B6 的移動和旋轉: B6.translateX = pin2.translateX;
B6.rotateZ = B1.rotateZ * -1
先看看效果。