沈馬躍 王藝超
摘要:人機交互是當今時代主流的研究課題,交通安全又是主要的社會安全輿論。將兩者相結合,Unity3D可以很好地將用戶代入課件中,用戶在不僅學習了交通安全知識,而且會因為Unity3D虛擬引擎模擬出真實場景和獨特的人機互動,不乏趣味。基于Unity3D制作的課件相對于傳統課件更靈活、真實、交換感更強。
關鍵詞:Unity3D;多媒體課件;交通安全;人機交互;小學生
中圖分類號:TP311 文獻標識碼:A 文章編號: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]為確保旅客生命與財產安全,各國政府部門十分重視交通安全教育,以便降低各種交通車輛的肇事率。目前在交通安全教育方面主要以學校交通安全教育、電視短片宣傳、電臺廣播、宣傳網站、出版書刊以及海報、畫冊等。使用Unity3D可以幫助孩子們能更加積極的主動地去學習相關知識,寓教于樂,讓孩子們能在快樂中學習。同時3D的虛擬現實模擬場景能夠讓作品中的場景更加真實,更加能帶入到孩子們的現實生活中,極大提高了學習的效率與內容。
首先Unity3D引擎支持跨平臺發布。支持WINDOWS,XBOX,PS2,Android等等,這樣老師可以在不同的平臺上實施教學。
Unity3D引擎所制作的場景具有一定的自由度、開放度。通過3Dmax建模工具搭建出3d虛擬都市。通過C#語言編輯代碼實現人物自由移動,并在一些特定的不安全的情況下觸發相關劇情等交互操作,隨著出現相關的安全知識,用戶能在虛擬場景的實踐中更好地了解相關的安全知識并強化記憶,實現教學目的。
1 用戶界面設計
首先課件由主界面,設置界面,知識界面,游戲界面4大塊組成,主界面包括了UI,背景圖以及按鈕組成。[2]Unity3D是一個3D開發工具和游戲引擎套件,其中包括了圖形、音頻、網絡等多方面的引擎支持,并且有一個非常強大的編輯器來整合這一切。
通過Photoshop設計好背景和按鈕圖案,將格式為png的貼紙保存相應的資源文件夾里,然后在Unity3D中將UI的貼紙改為為Sprite格式,將應用到物體上的貼紙改成Shader做成Material。在Canvas中修改RenderMode渲染模式,并且設置成自己想要的分辨率,然后在Button和ImageUI設置錨點,錨點的作用是使控件到這四個點的距離不變,但若屏幕縮小,控件也會相應縮小,通過這個方式就可以實現在不同的分辨率下用戶界面都能完美展現。
課件的流程則是:
2三維場景設計
由于Unity3D可以導入3Dmax等三維建模軟件所制作的三維模型,所以場景可以用3Dmax來建模,當建模完成后,在3DMAX中先將模型貼好圖紙,再導出為FBX模式,其中要將“嵌入的媒體”這個對話框勾上,這樣導入Unity3D中就會出現相應的Material,要是人物模型或者復雜的模型則需要在3Dmax中UV展開然后用Photoshop繪制好圖案在導出。Unity3D可以將三維模型組合出真實的場景如圖2:
3課件交互控制設計
Unity3D虛擬引擎系統自擁有層級式的綜合開發環境,可視化編輯以及可以動態預覽效果。
用戶可以通過鍵盤來實現人物的移動,下面是移動的代碼:
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后進行移動并且轉向的動畫停止播放。
控制主角到要求的地方觸發劇情,因為朋友的招呼而不走斑馬線橫穿馬路,然后被飛馳而過的車撞到,最后到達醫院并且出現相關的知識頁面。
碰撞物體觸發劇情,可以在物體上加一個BoxCollider,劇情通過動畫來實現,知識頁面通過ImageUI來做圖畫,最后通過代碼將一切串聯起來,下面是一部分代碼:
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);
}
闖紅燈和過馬路不走斑馬線是現主要的交通安全隱患,第二個劇情就是闖紅燈后被安排到警察局,警察局出來就進入公交車場景。
公交車場景里包含了Unity3D內置的Particle System所做出的火焰和煙霧粒子特效,配合緊張的BGM突出公交車發生事故該如何自救,粒子效果如圖3:
自救成功后就是教室場景,根據之前的知識,會有一份問卷給用戶來完成,最后通過分數的實時顯示來知曉回答是否正確。
4 結論
[3]虛擬現實技術是眾多計算機應用中被使用最廣泛的技術之一,它已逐漸從幕后走到臺前,從實驗室的研究項目走向應用,遍及各個領域,虛擬現實技術已成為計算機應用行業的研究重點。Unity3D虛擬引擎可以直接生成可執行文件,也可以根據不同的平臺生成相應的可執行文件,這就可以教學不僅僅局限在電腦上。運用虛擬現實技術,可以在虛擬環境下體驗真實的事件。
交互式課件可以更大程度使用戶加深交通安全知識的理解,為國家交通安全知識的宣傳做出貢獻,降低安全隱患。Unity3D與交互式課件的結合加強教學力度,用戶也能處在一個更好的教學環境,達到交通安全知識學習的教學目的。
參考文獻:
[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的虛擬現實技術在教育中的應用[J].軟件導刊.2011(12):76-78.
[3] 趙德彩.山東科技大學三維虛擬校園系統設計與實現[D].青島:山東科技大學,2013.
【通聯編輯:王力】