admin 管理员组

文章数量: 1086019


2024年3月20日发(作者:论坛社交源码)

ISSN1009-3044

Computer

Knowledge

Knowledge

and

and

Technology

Technology

电脑知识

电脑知识

与技术

Computer

与技术

Vol.17,No.4

February

2021

E-mail:*************.cn

第17卷第4期(2021年2月)

http://

Tel:+86-551-6569

基于Unity3D的摩托车安全驾驶游戏

万政,李娟,罗宇飞,张海旭,李一帆

(景德镇陶瓷大学信息工程学院,江西景德镇333403)

摘要:根据《中华人民共和国道路交通安全法》规定,摩托车驾驶过程中,驾驶者需佩戴好安全头盔以保护自己的生命安

全。然而实际生活中,驾驶者对于摩托车驾驶的交通安全意识不足,不了解头盔的重要性,经常驾驶摩托车时不佩戴头

盔。为预防此类摩托车交通事故的发生,笔者开发了一款基于Unity3D的摩托车安全驾驶游戏。该游戏利用Unity3D的

强大性能,模拟摩托车驾驶,让驾驶人通过游戏强化安全意识,学习安全法规,自主佩戴安全头盔,最终保护生命安全。

关键词:游戏开发;佩戴头盔;模拟现实;安全意识

中图分类号:TP311.1文献标识码:A

开放科学(资源服务)标识码(OSID):

文章编号:1009-3044(2021)04-0074-03

AMotorDrivingGameAimingtoRaisePeople’sAwarenessofTrafficSafety,BasedonUnity3D

WANZheng,LIJuan,LUOYu-fei,ZHANGHai-xun,LIYi-fan

(zhen333403,China)

Abstract:AccordingtotheLawofPeople’sRepublicofChinaonRoadTrafficSafety,eali⁃

ty,motorcyclistsoftenfailtodothat,whichiscausedbytheirpoorawarenessoftrafficsafetyandinsufficientrecognitionofhel⁃

rtopreventthemotorbikeaccidentscausedbytheabovereasons,ourteaminventsamotordrivinggamebasedonUni⁃

ty3D,helpingtoraisepeople’meabsorbstheknowledgeoftrafficrulesandreflectsthatinits

way,theuserscanstrengthentheirawarenessoftrafficsafety,develop⁃

ingthehabitofwearinghelmets,andeventually,savinglivesoftheirown

Keywords:gamedevelopment;wearinghelmets;virtualreality;awarenessofsafety

1背景

安全头盔即安全帽作为一种新型防具,可以缓冲对头颅的

伤害,能够有效地将安全赋予驾驶员,是骑行者在交通事故中

的最后的生命安全防线。然而,经过对交通安全事故的深度考

察,发现大多数人对于摩托车驾驶的安全意识不足,在日常出

行中都轻装上阵,以至于当交通变故产生时,造成不可弥补的

结果。事实上,交通法规是用一场场血与泪的教训总结出的行

车规范,是用来保护摩托车驾驶员以及正常行走路人的生命健

康,而不是一群人根据自己的喜好而制定出来的,它的目的是

保护大家的生命安全。

随着信息技术的不断发展,游戏产业也成为互联网产业市

场中增长速度最快的热点,并已在计算机、移动设备等多个平

[1]

台得到普及。而Unity3D因其自带的功能包含游戏制作、美

术绘画、3D建模、影视特效等功能,成为一款最流行的开发引

擎。本游戏也是基于其强大的特性,采用Unity3D技术,开发

出的一款模拟摩托车安全驾驶的游戏,呼吁人们在骑摩托车时

应当依照规定佩戴头盔,恪守交通法规,保护自己的生命安全。

2国内安全现状

当代社会,代步工具种类繁多,摩托车以其体积较小、极具

灵活性的特点风靡全国。然而,许多的安全隐患也伴随而来。

从交通部门获悉,在最近一年的交通安全事故报告中,关于摩

托车的死亡的人数就多达上万人,他们当中极大一部分人都是

由于头部受到重伤而亡。因人体头部结构比较特殊,轻微的撞

击就易造成脑震荡,而对于交通事故,剧烈的撞击必不可少,头

部的保护也就成为安全驾驶的必修课,安全头盔成为必选的工

具。对于相当一部分人来说,他们缺乏对安全帽功能的了解,

当交通警察在对佩戴头盔的驾驶员进行检查时,都浅显的认为

该行为只是为了开罚单,而没有意识到安全的重要性。

一名按照规范佩戴安全帽的摩托车司机,因意外而发生交

通事故时,安全帽能很好保护好配戴者的头部,头盔内的缓冲

收稿日期:2020-10-18

基金项目:大学生创新创业项目国家等级GoHome(项目编号:2)

作者简介:万政(1999—),男,江西南昌人,本科在读,研究方向为人工智能;李娟(1980—),女,江西萍乡人,副教授,硕士,研究方向

为陶瓷产业信息化;罗宇飞(1999—),男,江西南昌人,本科在读,研究方向为游戏开发;张海旭(1998—),男,江西鹰潭人,

本科在读,研究方向为嵌入式系统开发;李一帆(1998—),山西运城人,本科在读,研究方向为Java。

74

软件设计开发

本栏目责任编辑:谢媛媛

第17卷第4期(2021年2月)

层和内衬层有效缓解在碰撞瞬间产生力,从而抵消一部分外力

对头颅的冲击。我们也发现,倘若我们去大力地宣传安全意

识,在各个路口挂上有关安全提示的标语,每时每刻告诉市民

安全行车的必要性,牢记把我们的生命安全放在第一的原则,

将有效地提升市民学会预防事故,不让悲剧在自己的家庭

上演。

综上所述,一款能够宣传安全意识的模拟驾驶游戏能够有

效地帮助人们提升自我安全意识。

3关键技术——Unity3D引擎技术

合的编辑器、

Unity是由丹麦

跨平台发布、

Unity公司开发的游戏开发工具,

地形编辑、着色器、脚本、网络、

因包含整

物理、

版本控制等一些特性

[2]

,一举成为当前国际开发引擎界的掌舵

者,同时可视化编辑器作为其新的特性,深受开发者喜爱,倘若

开发者有什么新颖的想法,可以立刻在引擎上实现,而这种实

时的编辑,测试,运行功能,能有效地提升制作者与游戏项目的

交流。它让开发者能够在一定学习的基础上通过简单的操作

制作出简易的小游戏,再加上其“免费+收费”相结合的运营模

式,使之逐渐成为国内的主流游戏引擎。

在具体功能方面,Unity3D不仅提供了2D与3D游戏制作

所需要的功能,还包括地形系统、物理系统、刚体、碰撞器、光

照、

AR

粒子系统在内的强大功能,这也是为什么它可以作为VR

员仅通过一款程序内完成游戏开发的大部分工作,

游戏开发的首选引擎。Unity3D集各功能于一体,

有效地降低

让开发人

程序的开发时长。

基于Unity3D的跨平台性和极其完善的深层技术结构,摩

托车安全驾驶游戏便逐渐建立起来。

4游戏总体设计

4.1总体思路

《GoHome》作为一款3D摩托车跑酷类游戏,游戏的主体为

下午五点,迎来了下班的高峰期,艾克斯也到了回家的时间,由

于回家路途较远,他需要驾驶自己的摩托车回家,为了自身的

生命不受到威胁,他需佩戴好安全头盔,恪守交通法规,最后平

安的回到家中,而期间会出现各种突发情况,倘若在途中发生

了交通事故,那么这个时候头盔将取到关键性作用,它能够有

效地保护角色降低伤害,甚至在关键时刻起到保护生命的

作用。

4.2游戏流程

一款游戏的可玩性是该游戏可以长期运行的基础。游戏

的可玩性指的是玩家与游戏世界或者游戏世界对玩家所做出

反应的方式

[3]

。该游戏以当前安全教育主题为大背景,游戏环

境是我们所熟悉的城市,高楼林立,交通四通八达,路上车辆来

来往往,过往的行人来来往往。玩家扮演一名下班后需要安全

回家的角色,摩托车作为其代步工具,他得驾驶着自己的摩托

车在不违反道路交通安全法的前提下,穿过一条条车水马龙的

街道,安全回家。在回家途中,他可能经过红绿灯,可能碰见行

人过斑马线,或者道路上的路障,如此种种,他需要安全的规

避,以达到安全回家的目的。除此之外,游戏当中还增设了大

量的游戏道具,比如金币、血包等,而金币的收益可以在商城为

角色购买道具,像更好的摩托车,更高级的头盔等等。

本栏目责任编辑:谢媛媛

ComputerKnowledgeandTechnology

电脑知识

与技术

5游戏设计

5.1游戏场景搭建

场景是Unity3D程序的基本组成单位,任何一个Unity3D

程序都是由若干场景组合而成,程序通过脚本在这些场景之间

转换

[4]

。作为一款教育类游戏,其场景的搭建是整个游戏环节

首要部分,Unity3D以其完美的开发性能,极好的实现了游戏场

景搭建。随着该软件的更新,从Unity3D5.0开始,项目开发所

需要的资源便不再是软件自带,而需要国内的开发者到其官网

或者软件自带的商店下载

Project

StandardAssets,下载完成后,找到

age

载好后的资源包导入到

面板下的

面板下的

CustomPackage

Assets组件的面板位置,

unity

组件所在后点击该组件即可将下

然后找到ImportPack⁃

中。导入时需要注意的是,资源

包所含有的2D、Cameras、Characters等12个文件需全部导入,

如果只导入项目所需文件可能会导一系列报错,带来不必要的

麻烦。

创建一个Unity3D项目,将其命名为Firstscence,场景会自

动创建一个主相机(MainCamera)和方向灯(DirectionalLight)。

前者用来记录Game界面,对于后者,我们可以通过对其位置、

角度、范围大小的调整,来调整对游戏场景的渲染程度,从而使

场景更加自然,

Object

需Inspector

中的3D

面板当中的各类相关参数以达到所需效果,

Object

虚拟现实的效果更加高效化。点击菜单

中的Plane,多次操作后,继续通过调整所

Game

该游戏

的场景便简单搭建实现。如图1场景搭建。

图1场景搭建

5.2游戏设计

1

由于该游戏是作为一个摩托车安全驾驶游戏软件的示例,

)游戏障碍物的设计

因此游戏中涉及一小部分的学习内容,学习内容包括法律知识

和基本的道德准则,

Unity

为实现以上内容,

能,开发者可以通过该引擎进行建模,

3D以其能集各性能于一体的优秀性,

需建构相关的模型。

为了方便操作,

3D建模是其基本功

可在网上

下载相关的模型,但通过导入的模型通常情况下都是不适配

的。为此,

Rig

配场景,

、Animation

对于导入的模型,需对其Inspector面板中的Model、

模型的形状和大小需要进行一定的调整,

、Materials中的相关参数进行调配,同时为了适

获得最佳效

果。汽车模型如图2所示,为了给模型增设重力系统以获得更

好的逼真成果,需对其添加刚体组件,若多个对象添加,还可因

为两对象发生碰撞而产生位移,然后再给物体添加物理材质,

从而达到两个对象发生碰撞后所需的摩擦力和反弹效果。

软件设计开发

75

ComputerKnowledgeandTechnology

电脑知识

与技术

2

图2汽车模型

虚拟现实最重要的是为了体现真实物体的物理特性还需

)碰撞检验

要在触觉上进行设计,而触觉上的设计需要虚拟世界中的物体

对象可以相互接触并存在着碰撞反应

[5]

。碰撞检测是实现该效

果的主要方法,从概念上来讲,当一个实体与另一个实体接触

时,

Unity

二者所产生的形状、

的函数,

3D

其主要功能为实现游戏中碰撞的侦测,

所含有的函数种类繁多,

位移等的变化都可以称作碰撞。在

碰撞检测在其中就有相对应

实现过程如下,

对于两个或多个将在某时刻需实现碰撞的实体,在其中一方添

加Rigidbody,而碰撞产生时的双方添加Colider,碰撞检测函数

如图3所示,当发生碰撞时,便会瞬间实现碰撞检测函数内的

代码,如销毁物体,播放音乐,实现粒子效果等。

图3碰撞检测函数

对于摩托车驾驶游戏,通过调取OnCollisionEnter()的方法

来解决相关的碰撞检测,当摩托车碰撞到汽车模型时便会被摧

毁,游戏结束,资源中的相关动画特效也在这一刻实现,游戏当

中的道具拾取等功能也需通过触发器实现。

5.3摩托车玩家设计

摩托车在行驶过程中,为给玩家带来驾驶摩托车的虚拟真

实效果,开发者给玩家设置了两个视角——两个摄像机。在一

个场景中,相机虽然能够有多个共存,但玩家在游戏界面的视

角仅能由一个摄像机提供。由于在游戏搭建部分已经创建了

一个视角,但需将其位置调至摩托车后方,镜头视角为摩托车

方向,同时还需在摩托车的驾驶位放置一个摄像机,两个摄像

机的镜头的切换可以用C#语言达到效果。在驾驶方面,通过

键盘上的四个按键WASD来实现摩托车的前后左右的行驶,摩

托车的加速功能通过按键e来实现,但其速度设置了一个上限,

当达到该上限时速度便不再变化。摩托车驾驶展示如图4

所示。

76

软件设计开发

第17卷第4期(2021年2月)

图4摩托车驾驶

5.4调试与完善

一款优秀的游戏,需对其不断地进行测试,发现其中漏洞

和不足。游戏测试有多种方式,有第一阶段的单元测试、第二

阶段的集成测试、采用黑盒法的系统测试、以及最后的验收测

试,每一阶段都会产生相对应的测试报告,开发者再依据其相

干数据对游戏进行改善,不断地测试,不断地修改,以达到最佳

游戏效果。

6结束语

本项目基于Unity3D所具备的完善性能,以及C#语言的脚

本的完美配合,成功地设计出一款教育玩家在摩托车驾驶时,

需安全佩戴头盔并且守法的游戏。本游戏在给玩家带来娱乐

的同时,也能够帮助玩家提高安全意识,规避在实际操作中的

低级错误,将佩戴头盔作为摩托驾驶的前提要求,为了自己也

为了家人,安全上路,最终起到寓教于乐的作用。虽然本项目

通过Unity3D实现了摩托车虚拟驾驶的基础性功能,但由于笔

者在Unity3D引擎的研究时间和目前自身的研究水平有限,在

虚拟驾驶的实现方面还有很多的不足,随着对其研究的深入和

特性的挖掘和自身的学习,相信这都将会得到改善,游戏中的

虚拟化场景将更加丰富和更具趣味性,人机交互系统也会大幅

度的提升。

参考文献:

[1]李莉,曾晓燕,李锴,等.基于unity3d的模拟驾驶游戏[J].计算

[2]

机产品与流通,2020(9):117-118.

[3]

的开发

徐敏,童强.一种基于Unity3D+Vuforia的增强现实交互App

吴志达

[J].

.一个基于

现代计算机(专业版),2016(12):71-75.

[4]

[D].

[5]

朱柱

广州:中山大学

Unity3d

,2012.

游戏引擎的体感游戏研究与实现

:华中师范大学

.基于Unity3D的虚拟实验系统设计与应用研究[D].武

长沙

曾林森

:中南大学

.基于Unity3D

,2012.

,2013

的跨平台虚拟驾驶视景仿真研究[D].

【通联编辑:谢媛媛】

本栏目责任编辑:谢媛媛


本文标签: 游戏 驾驶 头盔 实现 碰撞