崔海龍
摘要:中國擁有全世界1.9%的汽車,引發(fā)的交通死亡事故卻占了全球的15%,已成為交通事故最多發(fā)的國家。鑒于交通事故的如此頻發(fā),事故的責任判定成為了熱點問題。該課題以Vega三維仿真軟件作為開發(fā)平臺,通過設置Lyn圖形界面和API編程,驅動兩輛小車在設定的道路上行駛,檢測碰撞并觸發(fā)特效。真實的還原交通事故場景,可為交通肇事的責任判定提供參考。經(jīng)仿真實驗,該場景系統(tǒng)在可以流暢的運行,滿足課題要求。
關鍵詞:交通;虛擬現(xiàn)實;碰撞;特效
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)30-7182-04
虛擬現(xiàn)實(Virtual Reality ,VR)技術,顧名思義,是通過虛擬的手段,將現(xiàn)實世界的場景或者事件仿真重現(xiàn)。這項技術能更為直觀的去展示現(xiàn)實生活,這相比于傳統(tǒng)的圖文展示更為直觀、形象??煽康囊曈X支持和靈活的算法根基,使得這項技術可以應用的范圍廣泛到生活中的每一處。
國內的虛擬現(xiàn)實技術在飛速的發(fā)展,已經(jīng)到了一個相對成熟的階段。對于交通事故的重現(xiàn)這一課題,技術層面上已經(jīng)沒有障礙。然而實際生活中卻更多的使用動畫技術,而非真正意義上的虛擬顯示技術。
本文使用的Vega是美國MultiGen-Paradigm公司開發(fā)的一套非常先進的軟件環(huán)境,他主要用于虛擬現(xiàn)實技術中的實時視景仿真、聲音仿真以及科學計算可視化等領域。這對于本課題的研究提供了強大的技術基礎。該文就是利用此軟件進行的交通事故的虛擬現(xiàn)實重現(xiàn)。
1 LynX中模型場景設置
1.1小鎮(zhèn)場景設置及車輛模型的加入
本文選擇vega安裝目錄下自帶的小鎮(zhèn)場景(town.flt)作為實驗場景。在圖標欄中 “Scences”相關面板 “Select a Class instance”對話框中添加已建立的模型對象“town”。設定觀察場景,“Tools”下“Scence Viewer”,改用正交投影(Orthographic)來觀察場景,移動鼠標,確定某一坐標,定位標記。轉用透視圖觀察,如圖1所示。運動模式的調整, “Motion Models”面板,在“Motion Model Type”下選擇“drive”模式。控制“Rename Instance”,將缺省的運動模式實例名“Default”改為“drive”。小鎮(zhèn)場景設置完畢。
本文需要模擬兩輛車碰撞的場景,故需要新建兩個“car”模型,新建一個名為“car”的模型對象,對應的模型文件在Vega安裝文件中名為esprit.flt。同上,加入“car2”模型。由于小車模型數(shù)據(jù)庫中朝著正東方向,為了保證小轎車前進方向與運動方向保持一致,必須調整模型對象繞Z軸逆時針旋轉90°。在面板區(qū)Objects中加入car和car2兩個角色對象。
1.2角色設置
模型是靜態(tài)的,角色是可以靈活調控的,故需創(chuàng)建角色,之前需要給角色分配扇區(qū)。新建一個“car_use”的Isector實例。在Isector面板設置“Method”選擇“TRIPOD”項,確保觀察者視點始終保持相對地面的距離。Isector面板區(qū)的“Target Isector Class”,將目標Isector掩碼設置為“Terrain All”。Players面板中,創(chuàng)建一個名為“car1”的角色對象實例。角色對象面板區(qū)中Objects列表旁的添加car模型。Isector列表旁添加car_use Isector。同上創(chuàng)建“car2”角色對象實例。
此時可以選擇兩種方案,一種是直接用path工具,設置路徑,分別綁定兩輛小轎車。經(jīng)實測,這種設置方法,比較難以確定路徑點,而且在路徑點比較多的情況下,容易彈出錯誤。所以這個課題,采用API編程進行路徑的設置,在第三章會有具體介紹。本課題需要設置兩輛小轎車在某路口相碰撞,故需定位兩輛小車初試位置,以及碰撞位置,圖2為碰撞附近位置展示。
1.3觀察者模式的選擇
觀察者在虛擬現(xiàn)實技術中,是核心的模塊。這一點在Vega實時視景仿真系統(tǒng)中也是一樣。如果用戶將自己設身處地于虛擬場景之中,用戶的眼睛就是觀察者,觀察者的位置就是視點位置。通過觀察者,用戶才能把其他描述虛擬場景元素信息、狀態(tài)信息和控制信息等模塊類的實例聯(lián)來,繼而將虛擬場景畫面連續(xù)性的向用戶展現(xiàn)。Vega中的觀察者在場景中有六種定位方式,其中包括手動調整方式、按指定的運動模式定位、栓系模式、按照固定路徑運動模式等。本課題采用的是Tether-Follow模型,觀察者固定在角色對象的某個偏移位置上,可以設想一下拍攝運動汽車中的演員時的情景:攝影機固定在車前或者車旁的固定支架上跟著汽車一起運動,鏡頭始終對著車里的演員。觀察者使用這種定位方式就很容易達到上述的拍攝效果,觀察者(攝相機)距角色位置由X、Y、Z三個坐標軸方向上的偏移量決定,觀察者的角度由偏轉角(H)、俯仰角(P)和側偏角(R)控制。
1.4 Vega特殊效果模擬模塊
Special Effects面板創(chuàng)建 “car1_explosion”的特效實例。角色對象面板區(qū)中Type下拉菜單,選擇Explosion。角色對象面板區(qū)中Style下拉菜單,選擇New。繼而設置Offset,Scale。同上添加“car1_debris”“ car1_flash”、“ car1_fire”、“ car2_explosion”、“ car2_debris”、“ car2_flash”、“ car2_fire”。
點擊Objects面板圖標按鈕,選中角色對象面板區(qū)中“Fx Attachment”面板,選中car1,將關于car1的四個特效加入。同上,將關于car2的四個特效加入。Scenes面板,選中角色對象面板區(qū)中“Fx Attachment”面板,選中Default,在Special Effects區(qū)域將所有特效全部加入。endprint