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