基于Unity3D的交通安全交互式课件的设计与制作
2019-05-23沈马跃王艺超
沈马跃 王艺超
摘要:人機交互是当今时代主流的研究课题,交通安全又是主要的社会安全舆论。将两者相结合,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.
【通联编辑:王力】