昆蟲翅膀拍打的動畫制作(三)
9.我們會發(fā)現這運動并不符合空氣動力學,因為對應的一雙翅膀在同一時間中X軸旋轉的方向應該是相反的,也就是上下拍打的方向應該是一致的。為解決這個問題,我們在右邊翅膀表達式的正弦函數前加一個負號,如下:
lWing.rotateX = sin (time * 10) * 40;
rWing.rotateX = -sin (time * 10) * 40;
10.播放動畫,現在這只小飛蟲能生存下去的機會更大啦
11.現在假設我們想要控制翅膀拍打的速度。當前,這個速度由表達式中 *10 這部分來決定。為翅膀的速度創(chuàng)建一個屬性以讓我們去改變動力速度甚至為它設置關鍵幀。在屬性編輯器中,選擇這個飛蟲的轉換節(jié)點(就是名為 "bug"的那個),接著選擇Attributes > Add Attributes。
在屬性名字(Attribute Name)一欄中輸入WingSpeed,確定“Float”和 "Make Attribute Keyable"兩項為選擇,并設置最小值(Minimum value)為0,最大值(Maximum value)為10,默認值(Default value)為5,點擊ok。——按鈕“add”讓我們可以在不必每次都關閉此窗口的情況下增加幾個屬性。
12.現在于飛蟲轉換節(jié)點窗口的附加屬性中,我們會發(fā)現一個新的屬性:“Wing Speed”,并已經根據我們的設置要求定值在5,現在我們不必管它。
13.讓我們先回到表達式編輯器,并將兩行表述中的10數值改為bug.WingSpeed,如下:
lWing.rotateX = sin (time * bug.WingSpeed) * 40;
rWing.rotateX = -sin (time * bug.WingSpeed) * 40;
上一篇:昆蟲翅膀拍打的動畫制作(二)