沈馬躍 王藝超
摘要:人機(jī)交互是當(dāng)今時(shí)代主流的研究課題,交通安全又是主要的社會(huì)安全輿論。將兩者相結(jié)合,Unity3D可以很好地將用戶代入課件中,用戶在不僅學(xué)習(xí)了交通安全知識(shí),而且會(huì)因?yàn)閁nity3D虛擬引擎模擬出真實(shí)場(chǎng)景和獨(dú)特的人機(jī)互動(dòng),不乏趣味?;赨nity3D制作的課件相對(duì)于傳統(tǒng)課件更靈活、真實(shí)、交換感更強(qiáng)。
關(guān)鍵詞:Unity3D;多媒體課件;交通安全;人機(jī)交互;小學(xué)生
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2019)05-0199-02
Design and Production of Traffic Safety Interactive Courseware Based on Unity3D
SHEN Ma-yue, WANG Yi-chao
(Jiyang College of Zhejiang A & F University, Hangzhou 311800,China)
Abstract:Man-machine interaction is the mainstream research topic of The Times, and traffic safety is the main public opinion of social security. By combining the two, Unity3D can well substitute students into the courseware. Students have not only learned the knowledge of traffic safety, but also simulated real scenes and unique man-machine interaction through the Unity3D virtual engine, which has no lack of interest. Compared with the traditional courseware, Unity3D courseware is more flexible, authentic and has a stronger sense of exchange.
Key words:Unity3D;Multimedia courseware; Traffic safety; The human-computer interaction; elementary school students
[1]為確保旅客生命與財(cái)產(chǎn)安全,各國(guó)政府部門十分重視交通安全教育,以便降低各種交通車輛的肇事率。目前在交通安全教育方面主要以學(xué)校交通安全教育、電視短片宣傳、電臺(tái)廣播、宣傳網(wǎng)站、出版書(shū)刊以及海報(bào)、畫冊(cè)等。使用Unity3D可以幫助孩子們能更加積極的主動(dòng)地去學(xué)習(xí)相關(guān)知識(shí),寓教于樂(lè),讓孩子們能在快樂(lè)中學(xué)習(xí)。同時(shí)3D的虛擬現(xiàn)實(shí)模擬場(chǎng)景能夠讓作品中的場(chǎng)景更加真實(shí),更加能帶入到孩子們的現(xiàn)實(shí)生活中,極大提高了學(xué)習(xí)的效率與內(nèi)容。
首先Unity3D引擎支持跨平臺(tái)發(fā)布。支持WINDOWS,XBOX,PS2,Android等等,這樣老師可以在不同的平臺(tái)上實(shí)施教學(xué)。
Unity3D引擎所制作的場(chǎng)景具有一定的自由度、開(kāi)放度。通過(guò)3Dmax建模工具搭建出3d虛擬都市。通過(guò)C#語(yǔ)言編輯代碼實(shí)現(xiàn)人物自由移動(dòng),并在一些特定的不安全的情況下觸發(fā)相關(guān)劇情等交互操作,隨著出現(xiàn)相關(guān)的安全知識(shí),用戶能在虛擬場(chǎng)景的實(shí)踐中更好地了解相關(guān)的安全知識(shí)并強(qiáng)化記憶,實(shí)現(xiàn)教學(xué)目的。
1 用戶界面設(shè)計(jì)
首先課件由主界面,設(shè)置界面,知識(shí)界面,游戲界面4大塊組成,主界面包括了UI,背景圖以及按鈕組成。[2]Unity3D是一個(gè)3D開(kāi)發(fā)工具和游戲引擎套件,其中包括了圖形、音頻、網(wǎng)絡(luò)等多方面的引擎支持,并且有一個(gè)非常強(qiáng)大的編輯器來(lái)整合這一切。
通過(guò)Photoshop設(shè)計(jì)好背景和按鈕圖案,將格式為png的貼紙保存相應(yīng)的資源文件夾里,然后在Unity3D中將UI的貼紙改為為Sprite格式,將應(yīng)用到物體上的貼紙改成Shader做成Material。在Canvas中修改RenderMode渲染模式,并且設(shè)置成自己想要的分辨率,然后在Button和ImageUI設(shè)置錨點(diǎn),錨點(diǎn)的作用是使控件到這四個(gè)點(diǎn)的距離不變,但若屏幕縮小,控件也會(huì)相應(yīng)縮小,通過(guò)這個(gè)方式就可以實(shí)現(xiàn)在不同的分辨率下用戶界面都能完美展現(xiàn)。
課件的流程則是:
2三維場(chǎng)景設(shè)計(jì)
由于Unity3D可以導(dǎo)入3Dmax等三維建模軟件所制作的三維模型,所以場(chǎng)景可以用3Dmax來(lái)建模,當(dāng)建模完成后,在3DMAX中先將模型貼好圖紙,再導(dǎo)出為FBX模式,其中要將“嵌入的媒體”這個(gè)對(duì)話框勾上,這樣導(dǎo)入U(xiǎn)nity3D中就會(huì)出現(xiàn)相應(yīng)的Material,要是人物模型或者復(fù)雜的模型則需要在3Dmax中UV展開(kāi)然后用Photoshop繪制好圖案在導(dǎo)出。Unity3D可以將三維模型組合出真實(shí)的場(chǎng)景如圖2:
3課件交互控制設(shè)計(jì)
Unity3D虛擬引擎系統(tǒng)自擁有層級(jí)式的綜合開(kāi)發(fā)環(huán)境,可視化編輯以及可以動(dòng)態(tài)預(yù)覽效果。
用戶可以通過(guò)鍵盤來(lái)實(shí)現(xiàn)人物的移動(dòng),下面是移動(dòng)的代碼:
if(Input.GetKey(KeyCode.W))
{
_animation.SetBool("walk", true);
_animation.SetBool("left", false);
_animation.SetBool("right", false);
}
if (Input.GetKeyUp(KeyCode.W))
{
_animation.SetBool("walk", false);
}
按W后進(jìn)行移動(dòng)并且轉(zhuǎn)向的動(dòng)畫停止播放。
控制主角到要求的地方觸發(fā)劇情,因?yàn)榕笥训恼泻舳蛔甙唏R線橫穿馬路,然后被飛馳而過(guò)的車撞到,最后到達(dá)醫(yī)院并且出現(xiàn)相關(guān)的知識(shí)頁(yè)面。
碰撞物體觸發(fā)劇情,可以在物體上加一個(gè)BoxCollider,劇情通過(guò)動(dòng)畫來(lái)實(shí)現(xiàn),知識(shí)頁(yè)面通過(guò)ImageUI來(lái)做圖畫,最后通過(guò)代碼將一切串聯(lián)起來(lái),下面是一部分代碼:
if (coll.gameObject.tag == "c01")
{
sb.transform.position = new Vector3(807.2327f, 209.8991f, -206.2406f);
sssInstant = GameObject.Find("jingcha(Clone)");
if (sssInstant == null)
sssInstant = (GameObject)Instantiate(sss);
GameObject.Find("unitychan").GetComponent
GameObject.Find("MainCamera").GetComponent
GameObject.Find("MainCamera").GetComponent
GameObject.Find("MainCamera").GetComponent
_animation.SetBool("walk", false);
_animation.SetBool("left", false);
_animation.SetBool("right", false);
}
闖紅燈和過(guò)馬路不走斑馬線是現(xiàn)主要的交通安全隱患,第二個(gè)劇情就是闖紅燈后被安排到警察局,警察局出來(lái)就進(jìn)入公交車場(chǎng)景。
公交車場(chǎng)景里包含了Unity3D內(nèi)置的Particle System所做出的火焰和煙霧粒子特效,配合緊張的BGM突出公交車發(fā)生事故該如何自救,粒子效果如圖3:
自救成功后就是教室場(chǎng)景,根據(jù)之前的知識(shí),會(huì)有一份問(wèn)卷給用戶來(lái)完成,最后通過(guò)分?jǐn)?shù)的實(shí)時(shí)顯示來(lái)知曉回答是否正確。
4 結(jié)論
[3]虛擬現(xiàn)實(shí)技術(shù)是眾多計(jì)算機(jī)應(yīng)用中被使用最廣泛的技術(shù)之一,它已逐漸從幕后走到臺(tái)前,從實(shí)驗(yàn)室的研究項(xiàng)目走向應(yīng)用,遍及各個(gè)領(lǐng)域,虛擬現(xiàn)實(shí)技術(shù)已成為計(jì)算機(jī)應(yīng)用行業(yè)的研究重點(diǎn)。Unity3D虛擬引擎可以直接生成可執(zhí)行文件,也可以根據(jù)不同的平臺(tái)生成相應(yīng)的可執(zhí)行文件,這就可以教學(xué)不僅僅局限在電腦上。運(yùn)用虛擬現(xiàn)實(shí)技術(shù),可以在虛擬環(huán)境下體驗(yàn)真實(shí)的事件。
交互式課件可以更大程度使用戶加深交通安全知識(shí)的理解,為國(guó)家交通安全知識(shí)的宣傳做出貢獻(xiàn),降低安全隱患。Unity3D與交互式課件的結(jié)合加強(qiáng)教學(xué)力度,用戶也能處在一個(gè)更好的教學(xué)環(huán)境,達(dá)到交通安全知識(shí)學(xué)習(xí)的教學(xué)目的。
參考文獻(xiàn):
[1] 百度百科.交通安全教育.https://baike.baidu.com/item/%E4%BA%A4%E9%80%9A%E5%AE%89%E5%85%A8%E 6%95%99%E8%82%B2/16858858.
[2] 陳曉青,王少偉.基于Unity的虛擬現(xiàn)實(shí)技術(shù)在教育中的應(yīng)用[J].軟件導(dǎo)刊.2011(12):76-78.
[3] 趙德彩.山東科技大學(xué)三維虛擬校園系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].青島:山東科技大學(xué),2013.
【通聯(lián)編輯:王力】