董春俠++司占軍
摘要:目前,虛擬現(xiàn)實(shí)技術(shù)已廣泛應(yīng)用于汽車行業(yè)之中,汽車虛擬駕駛培訓(xùn)系統(tǒng)逐步成為虛擬駕駛領(lǐng)域的重要研究方向。該文基于Unity3D開發(fā)引擎開發(fā)一個(gè)面向于無(wú)駕駛經(jīng)驗(yàn)者的駕駛培訓(xùn)系統(tǒng)。前期結(jié)合多媒體技術(shù)和3D建模技術(shù)制作環(huán)境素材,其次利用Unity3D實(shí)現(xiàn)訓(xùn)練場(chǎng)景的搭建,最終編寫C#、JavaScript腳該語(yǔ)言實(shí)現(xiàn)其多樣化的交互功能。虛擬駕駛培訓(xùn)系統(tǒng)的開發(fā)不僅可以讓用戶體驗(yàn)到近似真實(shí)的視、聽(tīng)感受,還具有節(jié)能、安全、高效的駕駛訓(xùn)練效果,具有一定的應(yīng)用價(jià)值以及廣闊的市場(chǎng)發(fā)展空間。
關(guān)鍵詞:虛擬駕駛;駕駛培訓(xùn);三維模型 ;Unity3D
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)26-0088-03
Research and Development of Vehicle Virtual Driving Training System
DONG Chun-xia, SI Zhan-jun
(School of Packaging and Printing Works, Tianjin University of science and technology, Tianjin 300222, China)
Abstract: At present, virtual reality technology has been widely used in the automotive industry, automobile virtual driving training system has gradually became an important research direction in the field of virtual driving. In this paper, a driving training system was developed for non-driving experience based on Unity3D development engine. Firstly, the environment material was produced by multimedia technology and 3D modeling technology. Secondly, the training scene was set up by Unity3D software. Finally, the diversified interactive function of the system was realized through the preparation of C#, JavaScript scripting language. The development of virtual driving training system not only allows users to experience the visual and auditory perception, but also has the effect of energy saving, safe and efficient driving training. This research has a certain application value and broad market development space.
Key words: Virtual driving ;Driving-training ;3D modeling ;Unity3D
1 簡(jiǎn)介
虛擬駕駛訓(xùn)練系統(tǒng)是虛擬現(xiàn)實(shí)、計(jì)算機(jī)成像和其他現(xiàn)代高科技技術(shù)的組合[1]。在虛擬駕駛環(huán)境中,用戶體驗(yàn)貼近駕駛的真實(shí)體驗(yàn)。用戶和虛擬駕駛環(huán)境相互作用,實(shí)現(xiàn)汽車駕駛的虛擬訓(xùn)練[2]。隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,駕駛模擬系統(tǒng)得到了極大的發(fā)展,仿真精度和逼真度也不斷提高,推動(dòng)了虛擬駕駛系統(tǒng)的不斷優(yōu)化,并將有一個(gè)很好的前景。
2 虛擬駕駛培訓(xùn)系統(tǒng)的優(yōu)勢(shì)
1)標(biāo)準(zhǔn)化教學(xué)方法。由于教練員和地區(qū)的不同,在教學(xué)上會(huì)有差異,缺乏統(tǒng)一的教學(xué)管理模式。虛擬駕駛培訓(xùn)系統(tǒng)可以遵循專家的統(tǒng)一教學(xué)[3]。如果學(xué)生使用它來(lái)練習(xí),他們將能夠掌握正確的駕駛姿勢(shì),鍛煉身體的協(xié)調(diào)和操作的連續(xù)性。
2)縮短的培訓(xùn)周期和提高的培訓(xùn)效率。據(jù)研究,實(shí)體車訓(xùn)練的平均時(shí)間利用率在初始階段為10-20%,中期為30-40%,后期為50%。在保證相同的訓(xùn)練效果的前提下,虛擬駕駛訓(xùn)練系統(tǒng)可以減少30%的訓(xùn)練時(shí)間[4],提高了教學(xué)的速度和安全性。
3)熱情高。虛擬駕駛訓(xùn)練系統(tǒng)對(duì)學(xué)習(xí)有積極的影響,可以提高用戶的學(xué)習(xí)積極性,同時(shí)有助于減少用戶在操作實(shí)體車時(shí)的壓力。
4)低成本、節(jié)能環(huán)保。與實(shí)體車相比,仿真培訓(xùn)可以減少汽油的使用以及各種類型的成本,有利于達(dá)到環(huán)保節(jié)能的目的[5]。
3 設(shè)計(jì)思路
該系統(tǒng)的目標(biāo)受眾是缺乏駕駛經(jīng)驗(yàn)但要學(xué)習(xí)駕駛技能的人。本系統(tǒng)使用PhotoShop、Audio、3D Studio Max和Unity3D完成制作,在微軟系統(tǒng)平臺(tái)上發(fā)布,輸入設(shè)備為鍵盤和鼠標(biāo),輸出設(shè)備為顯示器和音頻設(shè)備。
3.1 設(shè)計(jì)原理
1)具備友好的人機(jī)交互和用戶體驗(yàn)。
讓駕駛用戶在模擬駕駛器中浸入式地體驗(yàn)?zāi)M駕駛的行為,沉浸在計(jì)算機(jī)創(chuàng)造出的模擬三維環(huán)境之中,還原模擬實(shí)車駕駛的完美體驗(yàn),即要滿足虛擬現(xiàn)實(shí)的“3I”特征:沉浸感、交互性和構(gòu)想性。
2)確保模擬系統(tǒng)在PC機(jī)上運(yùn)行的流暢性。
在計(jì)算機(jī)性能可以承受的范圍內(nèi)盡可能地提高駕駛環(huán)境的仿真程度,優(yōu)化場(chǎng)景渲染特征、簡(jiǎn)化算法機(jī)制、提高顯示速度和質(zhì)量。
3)提高系統(tǒng)的商業(yè)可行性。
在硬件和軟件的選擇方面,應(yīng)滿足通用性、可擴(kuò)展性原則,比如,在場(chǎng)景設(shè)計(jì)上,應(yīng)該設(shè)計(jì)些大眾認(rèn)可并熟知的模型和情境;在輸入輸出設(shè)備上,要預(yù)留API,為未來(lái)可能運(yùn)用到的技術(shù)提供拓展的空間[6]。
3.2 設(shè)計(jì)準(zhǔn)備
模擬駕駛系統(tǒng)的內(nèi)容遵循最新規(guī)定—機(jī)動(dòng)車駕駛被許可人的申請(qǐng)和使用規(guī)定。結(jié)合用戶的需求,開發(fā)場(chǎng)景分為六個(gè),包括:開始駕駛、交叉路口左轉(zhuǎn)、換車道、調(diào)頭行駛、逆向停車、平行停車。
該系統(tǒng)的功能分為兩部分:駕駛控制和提示功能。駕駛控制功能包括:轉(zhuǎn)向燈控制、車輛速度控制、手動(dòng)換檔功能和離合器功能。提示功能包括:通過(guò)GUI的界面按鈕,提示用戶如何操作;在模擬場(chǎng)景中,用戶可以得到駕駛提示信息,指示用戶如何進(jìn)行操作系統(tǒng),這些信息也解釋了一些交通規(guī)則。
4 制作過(guò)程
4.1 制作駕駛場(chǎng)景素材
在開發(fā)之前,有必要對(duì)交通規(guī)則和駕駛行為進(jìn)行調(diào)查和分析,結(jié)合目標(biāo)用戶的特點(diǎn),設(shè)計(jì)和開發(fā)仿真系統(tǒng)框架的層次和功能框架;其次,利用多媒體軟件來(lái)制作和處理模擬駕駛系統(tǒng)所需的模型、動(dòng)畫和其他多媒體資源;3Ds Max軟件制作汽車車身模型和場(chǎng)景模型,并導(dǎo)入到Unity3D重作為預(yù)置文件。此外,在Unity3D中制作地形、場(chǎng)景模型和其他材料制作和設(shè)計(jì)。
4.2 編碼實(shí)現(xiàn)
4.2.1 汽車駕駛控制
我們?cè)讷@得從3DMAX中導(dǎo)入并整理的Perfab汽車文件之后,首先我們需要定義并設(shè)計(jì)出此車體的質(zhì)心(Center Of Mass)并設(shè)置其剛體;其次通過(guò)了解本車體的尺寸等特性,設(shè)計(jì)本車的懸掛系統(tǒng),懸掛是另一個(gè)影響賽車的重要因素,它的功能是使輪胎和地面之間的摩擦力達(dá)到最大;其次針對(duì)每個(gè)輪胎加入車輪碰撞器(Wheel Collider);最后就是設(shè)置速度,轉(zhuǎn)彎和傳動(dòng)檔位轉(zhuǎn)置,在此應(yīng)該將其進(jìn)行微調(diào),以保證可以模擬真實(shí)駕駛的較為低速的情境。
4.2.2 交互制作
1)添加觸發(fā)器。添加觸發(fā)器的目的是讓用戶駕駛模擬汽車抵達(dá)終點(diǎn)處結(jié)束任務(wù),因此可以在終點(diǎn)添加一個(gè)觸發(fā)器,用戶觸發(fā)后跳轉(zhuǎn)至另外一個(gè)場(chǎng)景畫面。值得注意的是,觸發(fā)器有三種不同的觸發(fā)形式,function OnTriggerEnter、OnTriggerExit和OnTriggerStay。在停車任務(wù),需要用戶將車輛完全停在觸發(fā)器內(nèi)部才能完成任務(wù),在這種情況下運(yùn)用OnTriggerStay觸發(fā)器。此外還需要將Inspector面板中的level字符串改成a,這樣做的好處是不用每次都新建腳本文件實(shí)現(xiàn)跳轉(zhuǎn),一個(gè)腳本就實(shí)現(xiàn)了跳轉(zhuǎn)功能,并且可以應(yīng)用在不同的情境中。
2)添加雙攝像機(jī)切換的功能。通過(guò)第一視角和第三視角的切換,用戶可以更好地完成駕駛模擬任務(wù),以及更好地模擬真實(shí)駕駛的情境。
3)添加手動(dòng)換擋功能。通過(guò)在屏幕的左上角出現(xiàn)一組具有換擋作用的GUI滑塊,用戶對(duì)滑塊進(jìn)行撥動(dòng),實(shí)現(xiàn)切換不同的檔位,改變駕駛的速度。具體代碼如下:
由于滑塊的兩端所出現(xiàn)的滑塊值vSliderValue不同,初始態(tài)的值為0終點(diǎn)的值為10,所以當(dāng)用戶將滑塊滑動(dòng)到另一端時(shí),vSliderValue值變?yōu)?0,則激發(fā)該位置的檔位,若用戶依次滑動(dòng)滑塊,則檔位也將依次增加,速度也依次增加,達(dá)到換擋的目的。
4)控制左右轉(zhuǎn)向燈。為了更好地模擬駕駛情境,需要用戶控制轉(zhuǎn)向燈的開啟和關(guān)閉,并需要在規(guī)定的時(shí)間打燈轉(zhuǎn)向,例如起步前、轉(zhuǎn)向前還有變道前。具體的實(shí)現(xiàn)形式就是:當(dāng)用戶按下鍵盤的規(guī)定按鍵后,通過(guò)GUI函數(shù)的調(diào)用,在顯示屏上顯示出轉(zhuǎn)向燈的提示。
5)添加模擬駕駛提示功能。模擬駕駛系統(tǒng)中,最為重要的一項(xiàng)功能便是提示功能,在合適的情境下給用戶以操作提示,或者交規(guī)說(shuō)明,可以更好地讓用戶理解到如何在真實(shí)的駕駛環(huán)境下正確的駕駛和操作。
4.2.3 設(shè)計(jì)并制作GUI
使用Unity作為平臺(tái)編寫腳本來(lái)實(shí)現(xiàn)以下幾點(diǎn):1)制作系統(tǒng)首頁(yè)及關(guān)卡選擇頁(yè)面,2)需要將每個(gè)關(guān)卡串聯(lián)起來(lái),3)在用戶模擬訓(xùn)練的界面,需要存在有提示信息,指導(dǎo)用戶該如何操作。Unity有一個(gè)非常強(qiáng)大的GUI腳本API,它允許使用腳本快速創(chuàng)建簡(jiǎn)單的菜單和GUI。一個(gè)好的用戶界面,可以給用戶良好的用戶體驗(yàn),提高仿真培訓(xùn)的效率。
4.3 功能測(cè)試和發(fā)布
Unity基本版允許把游戲部署為一個(gè)獨(dú)立的應(yīng)用程序(Windows和Mac),加載完游戲場(chǎng)景文件后和最終發(fā)布成EXE應(yīng)用文件。測(cè)試也是非常重要的一部分部分。系統(tǒng)生成之后,邀請(qǐng)目標(biāo)用戶,并觀察其在進(jìn)行模擬測(cè)試的時(shí)候是否存在認(rèn)知障礙和停頓,根據(jù)收集的數(shù)據(jù)進(jìn)行系統(tǒng)的完善和優(yōu)化。
5 結(jié)束語(yǔ)
本文基于跨平臺(tái)開發(fā)引擎Unity3D,設(shè)計(jì)開發(fā)了一款針對(duì)于提高駕駛學(xué)員駕駛技巧和駕駛興趣的的模擬駕駛培訓(xùn)系統(tǒng),本系統(tǒng)具有很強(qiáng)的模擬感,和更加真實(shí)的場(chǎng)景反饋。該系統(tǒng)有利于非駕駛經(jīng)驗(yàn)的人提高駕駛技能和駕駛興趣。此外,它不僅有利于推動(dòng)學(xué)校開展統(tǒng)一教學(xué),提高教學(xué)效率,而且在安全和環(huán)境保護(hù)中有著重要的作用。
參考文獻(xiàn):
[1] 張彤. 基于Quest3D的汽車虛擬駕駛培訓(xùn)系統(tǒng)的研究[D]. 焦作: 河南理工大學(xué), 2012.
[2] 羅冠. 虛擬人的運(yùn)動(dòng)生成及控制技術(shù)研究[D]. 西安: 西北工業(yè)大學(xué), 2004.
[3] 玉昭. 河北駕培:科技興駕增效節(jié)能[N]. 中國(guó)交通報(bào), 2007-07-27B03.
[4] 祖國(guó)忠. “模擬+實(shí)車”組訓(xùn)模式在汽車駕培業(yè)的應(yīng)用概述[J]. 中國(guó)商界:上半月, 2009(6): 73,75.
[5] 宋亦奇. 虛擬現(xiàn)實(shí)藝術(shù)與視覺(jué)欲望的釋放[D]. 哈爾濱: 哈爾濱工業(yè)大學(xué), 2009.
[6] 曾林森. 基于Unity3D的跨平臺(tái)虛擬駕駛視景仿真研究[D]. 長(zhǎng)沙: 中南大學(xué), 2013.