宋寧,郭容,劉勇
(宜賓職業技術學院,四川 宜賓 644601)
使用Blender驅動制作機構仿真動畫方法探索
宋寧,郭容,劉勇
(宜賓職業技術學院,四川 宜賓 644601)
與其它動畫相比,機構仿真動畫基于物理邏輯,對精度有很高的要求。Blender的驅動動畫功能在機械運動動畫這一領域獨具特色,具有很高的靈活性。本文以機械壓力機曲柄滑塊機構運動仿真動畫作為載體,探索和論述了使用Blender驅動動畫功能制作機構仿真動畫的方法步驟,在分析曲柄滑塊機構運動原理的基礎上,具體論述了動畫模型建立、構件自由度設置、驅動與表達式創建等細節,為機構仿真動畫制作提供了一套精確的解決方案。
曲柄滑塊;運動仿真;驅動;約束;Blender
機構運動動畫是機械類虛擬仿真產品的基本組成部分。實現動畫效果有兩種方式,一種是使用動畫軟件制作好動畫,在需要時候播放;另一種使用程序產生動畫。盡管后一種方法具有更大的自由度,但是編輯工作繁瑣,對系統資源消耗較多。因此,第一種動畫實現方式在生產實際中應用最廣。在目前的主流動畫軟件中,制作動畫的方式主要包括關鍵幀動畫、控制器動畫、表達式動畫和骨骼蒙皮動畫幾種方式。其中表達式動畫具有完美的理論正確性和精確度,適合用于制作機械動畫。在眾多表達式動畫軟件中,Blender驅動動畫的功能獨具特色:Blender中的物體屬性可以設為驅動,設為驅動的屬性可以與物體的其它屬性或者其它物體的屬性通過Python表達式關聯起來。利用這種關聯方式可以建立機構構件之間的運動關系,因此將該功能用于制作機構運動仿真動畫具特有的優勢。以下以機械壓力機的曲柄滑塊機構運動仿真動畫為例,討論使用Blender驅動表達式制作機構仿真動畫的方法和步驟。
一只沒洗的臭腳,有什么好摸的?難道有怪癖嗎?易非想,但又一想,據說有前清遺老喜歡女人的小腳和裹腳布,那看來怪癖是文脈相承的,也沒什么好奇怪了。只是,為什么要摸她的腳呢?
曲柄滑塊機構為中小型機械壓力機的主要增力機構,通過該機構,來自電動機的回轉運動被轉換為滑塊的直線運動。如圖1,曲柄滑塊機構由機架、曲柄、連桿、滑塊構成。曲柄是該機構中的原動件,曲柄通過鉸鏈帶動連桿一端轉動;連桿另一端通過鉸鏈與滑塊連接,在隨曲柄轉動的過程中,連桿推動滑塊沿導軌移動。該機構中各構件的自由度見表1。

圖1 曲柄滑塊機構平面圖

表1 曲柄滑塊機構中各構件的自由度
滑塊行程

式中:S——滑塊距離最低點的位移,mm; R——曲柄半徑,mm; L——連桿長度,mm;α——曲柄轉角,°。
根據滑塊位移與曲柄轉動角度的關系以及曲柄滑塊機構中構件間的運動副關系,在Blender中設置各構件的運動關系的方法如下。
sinβ=λsinα+ελ
(1)新建一個空物件作為連桿與滑塊的轉動副,并將其設置為滑塊的子物體,使其運動完全受滑塊控制。
在國內的不少企業中存在著人員、資金及營銷能力有限,生產規模較小的情況。所以在進行目標市場定位時,避免為企業帶來巨大的經濟損失,需要精準定位。企業就對市場需求先進行調查分析,找準市場定位,提高產品檔次,才可以在市場中占有一席之地,否則只能降價銷售,企業的效益也受到損失。因此,精確的市場地位是非常重要的。

在Blender中有一個變換鎖定的功能,可用于現在構件的自由度。限制構件自由度的操作方法為,選中構件,屬性面板切換到物體,找到變換鎖定欄,點擊需要限定的自由度上的“鎖”圖標,即可限制對應的自由度。被限制自由度的方向上,構件不能再操作。

圖2 曲柄滑塊機構模型
使用Blender驅動表達式制作動畫的基本關鍵是動畫模型要符合物理真實并且精確。機械壓力機曲柄滑塊機構使用SolidWorks、UG NX等CAD軟件嚴格精確建模,通過dae或STL格式導入Blender。如果有必要,導入的模型可以適當精簡,但是要注意精簡降低模型精度的同時也可能影響到后續制作動畫的精度。Blender中物體默認的旋轉中心是物體的原點,因此對于旋轉構件,需要將原點調整到構件的旋轉軸。經過整理的曲柄滑塊機構模型如圖2,圖中小圓點為各模型的原點。
設為連桿系數,為偏置率,則有
在曲柄滑塊機構中,連桿和滑塊形成旋轉運動副,在滑塊的約束下,連桿的一端只能和滑塊同步移動,這就是滑塊對連桿的約束。這一約束在Blender中可以通過鎖定跟隨(Locked Track)約束來表示。添加鎖定約束的方法為以下幾點。

表2 曲柄滑塊機構屬性設置
“來,田同志、楊連長,李同志、王連長,臉盆拿著,這是團里送給你們的新婚禮物。祝你們幸福恩愛,早點為我們555團生養接班人,這也是555團交給你們最新的革命任務,要認真努力完成啊。好了,沙棗開花,各回各家。”
設置驅動在曲柄滑塊機構中,滑塊的位移取決于曲柄的轉動角度,因此可設置滑塊的位移屬性S為驅動屬性。設置方法為:選中滑塊構件模型,轉至屬性面板,在自定義屬性S上點擊右鍵,在右鍵菜單中選擇“添加驅動器”→“Manually Create Later(稍后手動創建)”。設為驅動的屬性默認顯示為紫色背景。類似地,設置滑塊Y方向的位移屬性為驅動,以便在下一步中通過Python表達式將Y方向的位移和自定義屬性中的S關聯起來。
人才培養注重與實際相結合,避免輕實踐、重理論的教學方式,注重學生的實踐能力培養。在校期間,以學期為階段對學生的實踐、管理、個人能力進行分段式培養,避免突擊式、短期外出游玩式的實踐考察活動。每個單獨的學期進行實踐類課程的實踐教學活動,課程體系的設置由淺入深,使學生的專業能力在每一個學期結束后都有明顯提升。建立系統的實習計劃和漸進式能力培養課程體系,課程設置要符合學校的地理位置特征,避免千校一面、開設課程重疊化,突出區域特征,形成特色鮮明的培養模式。加大選修課力度,豐富多樣、層次明晰的選課設置對學生綜合應用能力的培養大有裨益。
設置驅動表達式。對被設置為驅動的屬性,其屬性值可以通過Python表達式自動計算取得。要使用Python表達式,務必先在設置面板“文件”選項夾勾選“自動運行Python腳本”并保存。設置表達式的方法為以下幾點。①打開曲線編輯面板,模式切換為“驅動器”,按N打開屬性面板,將屬性面板切換到“驅動器”。②在屬性面板“驅動器中”,先將表達式中要用到的變量添加進來,例如var_alpha表示α變量。對于構件上的自定義變量,“路徑”中用“[“屬性名”]”來取得,如圖3。③在“表達式”輸入框中,填入用于計算驅動屬性值的Python表達式。表3是曲柄滑塊機構中各參數屬性的驅動表達式。

圖3 表達式變量設置

表3 曲柄滑塊機構中的驅動表達式
設置各構件的尺寸參數。設置方法為:選定用于存儲參數的構件,在屬性面板點擊“添加”按鈕,構件就會自動添加一個屬性;點擊新增屬性后的“編輯”按鈕,可以修改屬性的名稱、含義等相關設置。表2是曲柄滑塊機構各構件的屬性設置。
由于通常小于1,可取近似值
(2)先選中上一步建立的轉動副,再選擇連桿,同時按下Ctrl+Shift+C快捷鍵,選擇“鎖定跟隨”,連桿的轉動就會受到轉動副軸心位置的影響。
(3)單獨選擇連桿,轉至“屬性”面板,在約束選項夾下選擇受影響的旋轉方向和影響它的數值。必要時可以進入物體編輯模式調整物體模型的初始朝向。在前述曲柄滑塊機構機構中,受影響的旋轉軸為x軸。
當上述曲面為球面時,設球面為Sβ,如圖4所示,其中oimmobile-ximmobileyimmobilezimmobile為實驗室坐標系.此時,(10)式中的Gauss曲率K為球面半徑平方的倒數.若沿Sβ上的一條閉曲線平移矢量一周后,與平移前相比的角度差別為:
機構中的元件運動約束關系完全確定之后,運行動畫解算就能解算出機構的運動動畫。若要將動畫導入圖像引擎,則必須需在導出前先對動畫進行烘焙。導出動畫的格式通常為.fbx。
本文以曲柄滑塊機構為載體,討論使用Blender驅動表達式功能制作機構仿真動畫的方法和步驟。該動畫制作的方法具有符合機構運動規律、表達自由、動作準確的特點。制作的動畫能方便地導入圖像引擎,適合虛擬仿真使用。因此該動畫制作方法便于推廣,具有一定的參考價值。

[1]周家林.材料成型設備[M].北京:冶金工業出版社,2014,260-261.
[2]陳然,孫華東.基于MATLAB的曲柄滑塊和搖塊機構的運動仿真分析[J].煤礦機械,2015,36(01).
[3]楊開平,史耀耀,王麗平.平面六桿機構運動學仿真系統研究[J].計算機仿真,2011, 28(5).
[4]殷 勤,肖偉平,賀德明.基于SolidWorks的電梯安全部件機構運動動畫的制作[J].研究與開發,2010,39(7).
[5]張寧,田杰,陳奇.基于simmechanics的曲柄壓力機機構仿真分析[J].宜春學院學報,2013,35(3).
TH112.1
A
1671-0711(2017)10(下)-0073-03