宋寧,郭容,劉勇
(宜賓職業(yè)技術(shù)學(xué)院,四川 宜賓 644601)
使用Blender驅(qū)動(dòng)制作機(jī)構(gòu)仿真動(dòng)畫方法探索
宋寧,郭容,劉勇
(宜賓職業(yè)技術(shù)學(xué)院,四川 宜賓 644601)
與其它動(dòng)畫相比,機(jī)構(gòu)仿真動(dòng)畫基于物理邏輯,對精度有很高的要求。Blender的驅(qū)動(dòng)動(dòng)畫功能在機(jī)械運(yùn)動(dòng)動(dòng)畫這一領(lǐng)域獨(dú)具特色,具有很高的靈活性。本文以機(jī)械壓力機(jī)曲柄滑塊機(jī)構(gòu)運(yùn)動(dòng)仿真動(dòng)畫作為載體,探索和論述了使用Blender驅(qū)動(dòng)動(dòng)畫功能制作機(jī)構(gòu)仿真動(dòng)畫的方法步驟,在分析曲柄滑塊機(jī)構(gòu)運(yùn)動(dòng)原理的基礎(chǔ)上,具體論述了動(dòng)畫模型建立、構(gòu)件自由度設(shè)置、驅(qū)動(dòng)與表達(dá)式創(chuàng)建等細(xì)節(jié),為機(jī)構(gòu)仿真動(dòng)畫制作提供了一套精確的解決方案。
曲柄滑塊;運(yùn)動(dòng)仿真;驅(qū)動(dòng);約束;Blender
機(jī)構(gòu)運(yùn)動(dòng)動(dòng)畫是機(jī)械類虛擬仿真產(chǎn)品的基本組成部分。實(shí)現(xiàn)動(dòng)畫效果有兩種方式,一種是使用動(dòng)畫軟件制作好動(dòng)畫,在需要時(shí)候播放;另一種使用程序產(chǎn)生動(dòng)畫。盡管后一種方法具有更大的自由度,但是編輯工作繁瑣,對系統(tǒng)資源消耗較多。因此,第一種動(dòng)畫實(shí)現(xiàn)方式在生產(chǎn)實(shí)際中應(yīng)用最廣。在目前的主流動(dòng)畫軟件中,制作動(dòng)畫的方式主要包括關(guān)鍵幀動(dòng)畫、控制器動(dòng)畫、表達(dá)式動(dòng)畫和骨骼蒙皮動(dòng)畫幾種方式。其中表達(dá)式動(dòng)畫具有完美的理論正確性和精確度,適合用于制作機(jī)械動(dòng)畫。在眾多表達(dá)式動(dòng)畫軟件中,Blender驅(qū)動(dòng)動(dòng)畫的功能獨(dú)具特色:Blender中的物體屬性可以設(shè)為驅(qū)動(dòng),設(shè)為驅(qū)動(dòng)的屬性可以與物體的其它屬性或者其它物體的屬性通過Python表達(dá)式關(guān)聯(lián)起來。利用這種關(guān)聯(lián)方式可以建立機(jī)構(gòu)構(gòu)件之間的運(yùn)動(dòng)關(guān)系,因此將該功能用于制作機(jī)構(gòu)運(yùn)動(dòng)仿真動(dòng)畫具特有的優(yōu)勢。以下以機(jī)械壓力機(jī)的曲柄滑塊機(jī)構(gòu)運(yùn)動(dòng)仿真動(dòng)畫為例,討論使用Blender驅(qū)動(dòng)表達(dá)式制作機(jī)構(gòu)仿真動(dòng)畫的方法和步驟。
一只沒洗的臭腳,有什么好摸的?難道有怪癖嗎?易非想,但又一想,據(jù)說有前清遺老喜歡女人的小腳和裹腳布,那看來怪癖是文脈相承的,也沒什么好奇怪了。只是,為什么要摸她的腳呢?
曲柄滑塊機(jī)構(gòu)為中小型機(jī)械壓力機(jī)的主要增力機(jī)構(gòu),通過該機(jī)構(gòu),來自電動(dòng)機(jī)的回轉(zhuǎn)運(yùn)動(dòng)被轉(zhuǎn)換為滑塊的直線運(yùn)動(dòng)。如圖1,曲柄滑塊機(jī)構(gòu)由機(jī)架、曲柄、連桿、滑塊構(gòu)成。曲柄是該機(jī)構(gòu)中的原動(dòng)件,曲柄通過鉸鏈帶動(dòng)連桿一端轉(zhuǎn)動(dòng);連桿另一端通過鉸鏈與滑塊連接,在隨曲柄轉(zhuǎn)動(dòng)的過程中,連桿推動(dòng)滑塊沿導(dǎo)軌移動(dòng)。該機(jī)構(gòu)中各構(gòu)件的自由度見表1。
圖1 曲柄滑塊機(jī)構(gòu)平面圖
表1 曲柄滑塊機(jī)構(gòu)中各構(gòu)件的自由度
滑塊行程
式中:S——滑塊距離最低點(diǎn)的位移,mm; R——曲柄半徑,mm; L——連桿長度,mm;α——曲柄轉(zhuǎn)角,°。
根據(jù)滑塊位移與曲柄轉(zhuǎn)動(dòng)角度的關(guān)系以及曲柄滑塊機(jī)構(gòu)中構(gòu)件間的運(yùn)動(dòng)副關(guān)系,在Blender中設(shè)置各構(gòu)件的運(yùn)動(dòng)關(guān)系的方法如下。
sinβ=λsinα+ελ
(1)新建一個(gè)空物件作為連桿與滑塊的轉(zhuǎn)動(dòng)副,并將其設(shè)置為滑塊的子物體,使其運(yùn)動(dòng)完全受滑塊控制。
在國內(nèi)的不少企業(yè)中存在著人員、資金及營銷能力有限,生產(chǎn)規(guī)模較小的情況。所以在進(jìn)行目標(biāo)市場定位時(shí),避免為企業(yè)帶來巨大的經(jīng)濟(jì)損失,需要精準(zhǔn)定位。企業(yè)就對市場需求先進(jìn)行調(diào)查分析,找準(zhǔn)市場定位,提高產(chǎn)品檔次,才可以在市場中占有一席之地,否則只能降價(jià)銷售,企業(yè)的效益也受到損失。因此,精確的市場地位是非常重要的。
在Blender中有一個(gè)變換鎖定的功能,可用于現(xiàn)在構(gòu)件的自由度。限制構(gòu)件自由度的操作方法為,選中構(gòu)件,屬性面板切換到物體,找到變換鎖定欄,點(diǎn)擊需要限定的自由度上的“鎖”圖標(biāo),即可限制對應(yīng)的自由度。被限制自由度的方向上,構(gòu)件不能再操作。
圖2 曲柄滑塊機(jī)構(gòu)模型
使用Blender驅(qū)動(dòng)表達(dá)式制作動(dòng)畫的基本關(guān)鍵是動(dòng)畫模型要符合物理真實(shí)并且精確。機(jī)械壓力機(jī)曲柄滑塊機(jī)構(gòu)使用SolidWorks、UG NX等CAD軟件嚴(yán)格精確建模,通過dae或STL格式導(dǎo)入Blender。如果有必要,導(dǎo)入的模型可以適當(dāng)精簡,但是要注意精簡降低模型精度的同時(shí)也可能影響到后續(xù)制作動(dòng)畫的精度。Blender中物體默認(rèn)的旋轉(zhuǎn)中心是物體的原點(diǎn),因此對于旋轉(zhuǎn)構(gòu)件,需要將原點(diǎn)調(diào)整到構(gòu)件的旋轉(zhuǎn)軸。經(jīng)過整理的曲柄滑塊機(jī)構(gòu)模型如圖2,圖中小圓點(diǎn)為各模型的原點(diǎn)。
設(shè)為連桿系數(shù),為偏置率,則有
在曲柄滑塊機(jī)構(gòu)中,連桿和滑塊形成旋轉(zhuǎn)運(yùn)動(dòng)副,在滑塊的約束下,連桿的一端只能和滑塊同步移動(dòng),這就是滑塊對連桿的約束。這一約束在Blender中可以通過鎖定跟隨(Locked Track)約束來表示。添加鎖定約束的方法為以下幾點(diǎn)。
表2 曲柄滑塊機(jī)構(gòu)屬性設(shè)置
“來,田同志、楊連長,李同志、王連長,臉盆拿著,這是團(tuán)里送給你們的新婚禮物。祝你們幸福恩愛,早點(diǎn)為我們555團(tuán)生養(yǎng)接班人,這也是555團(tuán)交給你們最新的革命任務(wù),要認(rèn)真努力完成啊。好了,沙棗開花,各回各家?!?/p>
設(shè)置驅(qū)動(dòng)在曲柄滑塊機(jī)構(gòu)中,滑塊的位移取決于曲柄的轉(zhuǎn)動(dòng)角度,因此可設(shè)置滑塊的位移屬性S為驅(qū)動(dòng)屬性。設(shè)置方法為:選中滑塊構(gòu)件模型,轉(zhuǎn)至屬性面板,在自定義屬性S上點(diǎn)擊右鍵,在右鍵菜單中選擇“添加驅(qū)動(dòng)器”→“Manually Create Later(稍后手動(dòng)創(chuàng)建)”。設(shè)為驅(qū)動(dòng)的屬性默認(rèn)顯示為紫色背景。類似地,設(shè)置滑塊Y方向的位移屬性為驅(qū)動(dòng),以便在下一步中通過Python表達(dá)式將Y方向的位移和自定義屬性中的S關(guān)聯(lián)起來。
人才培養(yǎng)注重與實(shí)際相結(jié)合,避免輕實(shí)踐、重理論的教學(xué)方式,注重學(xué)生的實(shí)踐能力培養(yǎng)。在校期間,以學(xué)期為階段對學(xué)生的實(shí)踐、管理、個(gè)人能力進(jìn)行分段式培養(yǎng),避免突擊式、短期外出游玩式的實(shí)踐考察活動(dòng)。每個(gè)單獨(dú)的學(xué)期進(jìn)行實(shí)踐類課程的實(shí)踐教學(xué)活動(dòng),課程體系的設(shè)置由淺入深,使學(xué)生的專業(yè)能力在每一個(gè)學(xué)期結(jié)束后都有明顯提升。建立系統(tǒng)的實(shí)習(xí)計(jì)劃和漸進(jìn)式能力培養(yǎng)課程體系,課程設(shè)置要符合學(xué)校的地理位置特征,避免千校一面、開設(shè)課程重疊化,突出區(qū)域特征,形成特色鮮明的培養(yǎng)模式。加大選修課力度,豐富多樣、層次明晰的選課設(shè)置對學(xué)生綜合應(yīng)用能力的培養(yǎng)大有裨益。
設(shè)置驅(qū)動(dòng)表達(dá)式。對被設(shè)置為驅(qū)動(dòng)的屬性,其屬性值可以通過Python表達(dá)式自動(dòng)計(jì)算取得。要使用Python表達(dá)式,務(wù)必先在設(shè)置面板“文件”選項(xiàng)夾勾選“自動(dòng)運(yùn)行Python腳本”并保存。設(shè)置表達(dá)式的方法為以下幾點(diǎn)。①打開曲線編輯面板,模式切換為“驅(qū)動(dòng)器”,按N打開屬性面板,將屬性面板切換到“驅(qū)動(dòng)器”。②在屬性面板“驅(qū)動(dòng)器中”,先將表達(dá)式中要用到的變量添加進(jìn)來,例如var_alpha表示α變量。對于構(gòu)件上的自定義變量,“路徑”中用“[“屬性名”]”來取得,如圖3。③在“表達(dá)式”輸入框中,填入用于計(jì)算驅(qū)動(dòng)屬性值的Python表達(dá)式。表3是曲柄滑塊機(jī)構(gòu)中各參數(shù)屬性的驅(qū)動(dòng)表達(dá)式。
圖3 表達(dá)式變量設(shè)置
表3 曲柄滑塊機(jī)構(gòu)中的驅(qū)動(dòng)表達(dá)式
設(shè)置各構(gòu)件的尺寸參數(shù)。設(shè)置方法為:選定用于存儲(chǔ)參數(shù)的構(gòu)件,在屬性面板點(diǎn)擊“添加”按鈕,構(gòu)件就會(huì)自動(dòng)添加一個(gè)屬性;點(diǎn)擊新增屬性后的“編輯”按鈕,可以修改屬性的名稱、含義等相關(guān)設(shè)置。表2是曲柄滑塊機(jī)構(gòu)各構(gòu)件的屬性設(shè)置。
由于通常小于1,可取近似值
(2)先選中上一步建立的轉(zhuǎn)動(dòng)副,再選擇連桿,同時(shí)按下Ctrl+Shift+C快捷鍵,選擇“鎖定跟隨”,連桿的轉(zhuǎn)動(dòng)就會(huì)受到轉(zhuǎn)動(dòng)副軸心位置的影響。
(3)單獨(dú)選擇連桿,轉(zhuǎn)至“屬性”面板,在約束選項(xiàng)夾下選擇受影響的旋轉(zhuǎn)方向和影響它的數(shù)值。必要時(shí)可以進(jìn)入物體編輯模式調(diào)整物體模型的初始朝向。在前述曲柄滑塊機(jī)構(gòu)機(jī)構(gòu)中,受影響的旋轉(zhuǎn)軸為x軸。
當(dāng)上述曲面為球面時(shí),設(shè)球面為Sβ,如圖4所示,其中oimmobile-ximmobileyimmobilezimmobile為實(shí)驗(yàn)室坐標(biāo)系.此時(shí),(10)式中的Gauss曲率K為球面半徑平方的倒數(shù).若沿Sβ上的一條閉曲線平移矢量一周后,與平移前相比的角度差別為:
機(jī)構(gòu)中的元件運(yùn)動(dòng)約束關(guān)系完全確定之后,運(yùn)行動(dòng)畫解算就能解算出機(jī)構(gòu)的運(yùn)動(dòng)動(dòng)畫。若要將動(dòng)畫導(dǎo)入圖像引擎,則必須需在導(dǎo)出前先對動(dòng)畫進(jìn)行烘焙。導(dǎo)出動(dòng)畫的格式通常為.fbx。
本文以曲柄滑塊機(jī)構(gòu)為載體,討論使用Blender驅(qū)動(dòng)表達(dá)式功能制作機(jī)構(gòu)仿真動(dòng)畫的方法和步驟。該動(dòng)畫制作的方法具有符合機(jī)構(gòu)運(yùn)動(dòng)規(guī)律、表達(dá)自由、動(dòng)作準(zhǔn)確的特點(diǎn)。制作的動(dòng)畫能方便地導(dǎo)入圖像引擎,適合虛擬仿真使用。因此該動(dòng)畫制作方法便于推廣,具有一定的參考價(jià)值。
[1]周家林.材料成型設(shè)備[M].北京:冶金工業(yè)出版社,2014,260-261.
[2]陳然,孫華東.基于MATLAB的曲柄滑塊和搖塊機(jī)構(gòu)的運(yùn)動(dòng)仿真分析[J].煤礦機(jī)械,2015,36(01).
[3]楊開平,史耀耀,王麗平.平面六桿機(jī)構(gòu)運(yùn)動(dòng)學(xué)仿真系統(tǒng)研究[J].計(jì)算機(jī)仿真,2011, 28(5).
[4]殷 勤,肖偉平,賀德明.基于SolidWorks的電梯安全部件機(jī)構(gòu)運(yùn)動(dòng)動(dòng)畫的制作[J].研究與開發(fā),2010,39(7).
[5]張寧,田杰,陳奇.基于simmechanics的曲柄壓力機(jī)機(jī)構(gòu)仿真分析[J].宜春學(xué)院學(xué)報(bào),2013,35(3).
TH112.1
A
1671-0711(2017)10(下)-0073-03