# UnityCar
本科毕设
赛车模型和场景都是网上资源
VR模式使用了谷歌的CardBoard SDK
运行效果图
![运行效果图](https://raw.githubusercontent.com/butyfrombupt/UnityCar/master/JPG/%E5%9B%BE%E7%89%871.png)
VR模式下实现分屏
![运行效果图2](https://raw.githubusercontent.com/butyfrombupt/UnityCar/master/JPG/%E5%9B%BE%E7%89%872.png)
### 系统功能分析
#### 竞速系统功能分析
竞速系统是本游戏的核心系统,竞速系统的核心在于赛车仿真模拟,赛车仿真模拟需要达到驾驶赛车的真实感受,游戏需遵循汽车的动力学原理(汽车的加速、转弯、涡轮增速、漂移、碰撞)和物理学原理(如空气阻力、自身重力、与赛道摩擦力)等。使用WheelCollider碰撞器实现汽车动力学原理:给予动力值motorTorque固定数值乘以操作方向,给breakTorque赋值以控制赛车刹车,为赛车和周围物体赋予BoxCollider来模拟真实的碰撞效果。使用物理引擎来实现汽车的物理学原理,比如:为赛车添加刚体,勾选使用重力这一选择项,并为赛车赋予1500千克的重量用来模拟真实的重力效果
#### VR系统功能分析
VR系统是本游戏的特色系统,VR系统的核心在于摄像机的分屏显示,通过左右分屏,在左右眼形成两个不同的角度和视野范围,已达到仿佛置身其中的效果。通过分析,要想达到这种沉浸式效果,主要通过以下三个方面:
1.通过凸透镜来放大人眼看到的即时图像范围,现在的VR眼镜大概会产生90-120度范围的图像视野,这样的视野大概和一个良好的三通道环幕投影系统产生的效果差不多,不过VR眼镜要更加贴近人眼一些,人眼被干扰的可能性大大降低。
2.通过头部的陀螺仪,当人转动头部时,陀螺仪能够及时的通知图像生成引擎,及时的更新画面,从而使人感觉到,自己是在看一个环绕的虚拟空间,从而产生360度的三维空间感。
3.左右眼每一时刻看到的图像是不一样的,并不是简单的分屏(左右两个画面效果相同),而是两幅区别左右眼位置的不同头像,从而产生很强烈的立体纵深感。
### 系统详细设计
#### 赛车相关功能设计
赛车的仿真设计是模拟驾驶赛车的关键,该模块的目的是当得到相应的赛车数据(动力值、车轮转向角度值等)后,该模块可以完全独立的完成赛车的行驶、提速、转弯、减速、漂移等操作的仿真。赛车为该模块包含了赛车的物理效果、光影效果以及赛车的行驶逻辑。游戏对象(GameObject)Car整合了赛车的所有功能,具有最复杂和最多的组件(Component)比如:赛车光影效果的封装在Shadow中,当赛车移动时,赛车的阴影(shadow)也一起移动。赛车车轮转动的相关功能使用WheelCollider组件,WheelCollider是Unity封装好的专门用来控制车轮转动、转向的游戏组件。创建了刹车痕迹(SkidMask)模拟刹车以及漂移过程中产生的刹车痕迹。添加了Unity自带的刚体(Rigidbody)实现赛车的物理引擎效果。还有一些小的细节诸如:为赛车添加刹车灯(PointLight),引擎发动时排气筒发出的尾气(粒子效果),各式各样的声音,例如刹车声、油门声、与其他碰撞体的撞击声音等等。下面挑出几个进行详细介绍。
1.赛车的物理效果:Unity官方的物理引擎是在Physix X物理引擎的基础上进行的二次封装,本游戏是以Unity提供的物理引擎框架的基础上完成的赛车的物理仿真。游戏的物理模型与真实的显示模型是高度分离的,即所有物理模型均是游戏中的虚拟体,他们只负责物理效果的计算,计算的结果将会显示到真实模型上。赛车的逻辑结构是树形结构,其上挂载着各种组件,包含上下两个车身碰撞体、悬挂在下面的车轮。由于赛车的形状是不规则的,往往会将赛车用一个立方体(Box Collider)来替代原有模型进行碰撞检测。赛车的车轮又分为前后轮两种碰撞体,由于选用的是前轮驱动和前轮转向,所以在编写脚本时赋予前轮的规则更多一些。除此之外,由于模型的不规则,重心过高,可以为赛车重新添加一个重心,紧紧的贴在赛车底盘处。
2.赛车的阴影效果可以提高赛车的真实度。游戏采用了Blob的投影技术。Blob投影是一种3D游戏的地面贴花技术,Blob投影需要两部分,一个摄像机的平截头体,一个物体投影的贴图。在绘制投影时首先使用摄像机的平截头体结构,将相机平截头体远端面投射在地面上,计算出投影的对应面的信息,然后将阴影贴图绘制到计算的投影平面上。
![赛车投影图](https://raw.githubusercontent.com/butyfrombupt/UnityCar/master/JPG/%E5%9B%BE%E7%89%873.png)
3.赛车的声音效果:音乐是提升游戏体验非常重要的元素,Unity提供了音频组件(AudioSource),首先在主摄像机上挂载背景音乐,选用的是《速度与激情7》主题曲《See you again》,除此之外还要给赛车挂载一些音频文件,比如刹车声(Car_skid)、与栏杆碰撞声(Car_crash)还有令人热血沸腾的汽车引擎的声音,使用脚本进行控制音频文件的Pitch值,速度越快Pitch值越高(即音调越高),这样就可以完美的模仿实际赛车加速时引擎声音越来越尖的效果了。
4.赛车在漂移与刹车时会产生与地面摩擦产生的烟雾,增强了玩家的视觉体验,更加真实。游戏中的烟雾采用了粒子系统,粒子效果通过调整一些固定的参数和渲染完成.
![烟雾效果图](https://raw.githubusercontent.com/butyfrombupt/UnityCar/master/JPG/%E5%9B%BE%E7%89%874.png)
#### 视角跟随功能设计
Unity中由摄像机(Camera)来掌控游戏的视角,分为三种视角:第一人称视角、第三人称视角、VR视角,其中第一人称视角和VR视角都是将摄像机绑定在赛车上,感觉像是坐在车里开始一样。赛车游戏还是第三人称的较多,主要介绍下第三人称视角下的跟随功能,编写了SmoothFollow.cs脚本进行控制,这样做的好处在于视角不是一成不变的(跟在汽车后面),当赛车进行转弯的时候,能够视角进行缓慢移动,能看到赛车的侧面,最后再将视角移至赛车后方,更加真实,体验感更好。左图为正常驾驶时视角已经移动到赛车后方,右图为赛车转弯时没有立刻跟随,而是缓慢跟随。
![赛车视角跟随图](https://raw.githubusercontent.com/butyfrombupt/UnityCar/master/JPG/%E5%9B%BE%E7%89%876.png)
#### 天空盒功能设计
在游戏开发中使用天空盒用于表现游戏中的天空或者环境。天空盒就是一个包含场景所有元素的长方体盒子,创建天空盒时就是为该盒子的六个面附有环境贴图,所有游戏行为均是在盒子中进行,在盒子内看来,附有贴图的盒子既是整体天空环境。这六张图片分别对应了一个立方体中的六个面。由于这个立方体是轴对齐的,因此每个面可以用坐标系中的六个轴方向来惟一的表示:正X面,负X面,正Y面,负Y面,正Z面,负Z面。把对应这六个面的六张纹理图具体原理图和本款游戏所使用的六张天空盒贴图,
![天空盒贴图](https://raw.githubusercontent.com/butyfrombupt/UnityCar/master/JPG/%E5%9B%BE%E7%89%875.png)
没有合适的资源?快使用搜索试试~ 我知道了~
毕业设计-基于Unity3D引擎的赛车游戏的设计与开发
共2000个文件
meta:958个
cs:254个
bin:118个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 186 浏览量
2024-05-12
15:09:49
上传
评论
收藏 269.77MB ZIP 举报
温馨提示
基于Unity3D引擎的赛车游戏的设计与开发 基于Unity3D引擎的赛车游戏设计与开发是一个涉及游戏设计、3D建模、动画、编程和游戏测试的综合项目。以下是一个基于Unity3D引擎的赛车游戏设计与开发的基本步骤和考虑因素: ### 1. 需求分析 - **游戏玩法**:确定游戏的基本玩法,如竞速、漂移、道具使用等。 - **角色与车辆**:设计玩家角色和赛车,包括外观、性能参数等。 - **场景与地图**:设计游戏场景和赛道,包括环境、障碍物等。 - **音效与音乐**:确定游戏中的音效和背景音乐。 ### 2. 技术选型 - **编程语言**:使用C#作为Unity3D的开发语言。 - **3D建模工具**:使用Maya、3ds Max等工具进行3D建模和动画制作。 - **音效与音乐制作**:使用Audacity、FL Studio等工具进行音效和音乐制作。 ### 3. 系统设计 - **游戏架构**:设计游戏的整体架构,包括场景管理、角色控制、碰撞检测等。 - **用户界面设计**:设计用户友好的界面,包括菜单、得分板等。 ### 4. 实现 - **3D建模与动画**:使用
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计-基于Unity3D引擎的赛车游戏的设计与开发 (2000个子文件)
libiongfx.a 1.99MB
libionfreetype2.a 1.09MB
libProtocolBuffers.a 1.06MB
libionopenctm.a 902KB
libiontext.a 877KB
libionbase.a 827KB
libiongfxutils.a 725KB
libQuantumCore.a 643KB
libNimbusModels.a 586KB
libvr.a 524KB
libcardboard.a 508KB
libprotobuf.a 462KB
libplatform.a 387KB
libGoogleKitCore.a 365KB
libNimbusCore.a 324KB
libionwebp.a 316KB
libGoogleKitHUD.a 297KB
libionprofile.a 280KB
libNimbusAttributedLabel.a 264KB
libionjsoncpp.a 251KB
liblogging_protos.a 245KB
libgflags.a 242KB
libionimage.a 222KB
libionanalytics.a 216KB
libsensors.a 202KB
libionzlib.a 153KB
libionimagecompression.a 152KB
libionmongoose.a 144KB
libionstblib.a 125KB
libcomposite.a 116KB
librecorder.a 80KB
libionmath.a 79KB
libionport.a 68KB
libionportgfx.a 63KB
libionlodepnglib.a 51KB
libvrunity.a 44KB
libcardboard_protos.a 43KB
libbase.a 42KB
liblogging.a 36KB
libsoftware.a 36KB
libport.a 35KB
libevent_internal.a 34KB
libtype.a 28KB
libionremote.a 24KB
libprotos_lib.a 17KB
libremote_assets.a 17KB
libdevice_internal.a 15KB
libdatatypes.a 2KB
libevent.a 2KB
libdevice.a 2KB
libapi.a 2KB
Logo.anim 13KB
Window - Back.anim 7KB
Window - Forward.anim 6KB
Button.anim 4KB
Checkmark.anim 3KB
DefaultWsdlHelpGenerator.aspx 59KB
DefaultWsdlHelpGenerator.aspx 57KB
new terrain.asset 6.89MB
ProjectSettings.asset 39KB
InputManager.asset 5KB
QualitySettings.asset 5KB
GraphicsSettings.asset 4KB
NavMeshAreas.asset 4KB
Physics2DSettings.asset 4KB
EditorUserBuildSettings.asset 4KB
TagManager.asset 4KB
DynamicsManager.asset 4KB
UnityConnectSettings.asset 4KB
EditorBuildSettings.asset 4KB
EditorSettings.asset 4KB
AudioManager.asset 4KB
TimeManager.asset 4KB
NetworkManager.asset 4KB
ClusterInputManager.asset 4KB
sharedassets1.assets 8.65MB
resources.assets 148KB
sharedassets0.assets 45KB
globalgamemanagers.assets 37KB
sharedassets2.assets 7KB
d8f10c535207c3119bcc6da76f893ae0.bin 9KB
dfc323f768363dcb83d7a283de2de7b4.bin 6KB
d37c32e6d20b6bff468f8cf8b0c052f6.bin 5KB
d6b32a485871a45de25b62a8b6df7b39.bin 5KB
dd42a366120dc2182f84e38a28e3c7a9.bin 5KB
dca3101fc5754f3f775bd5058c67e5ed.bin 5KB
dc1c1d63066c7c607bc396ee6d1d5f00.bin 5KB
d84a05cd775c4246170af9085faf934e.bin 4KB
d72c469fd5b8f17fabe231104d55a699.bin 4KB
d811bcde89b46e4f7d92a73efb8081f3.bin 4KB
da442d1dd85118d07f6c59cadc58c483.bin 4KB
db9f877726c1d59e6f94a011a0edefb9.bin 4KB
d7d69aec2304f7a2088ef9b72ad2cd8b.bin 4KB
d6051419286c309b88b3cc87f79e8775.bin 4KB
d3ec3c999628cccbb838280e90f5da13.bin 4KB
d9d7e4fdfaa313dc653622fd7a9504f0.bin 4KB
da9156cc5c2847036ceb0275f1094d56.bin 4KB
d43396afaf6fcbbf76a13543612010f3.bin 4KB
d903acb9a3005102daefa6b81721d7a4.bin 4KB
d020be4ede46b83a9cc10d8ecee972ed.bin 4KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
- kefuxiaohui22024-05-22资源值得借鉴的内容很多,那就浅学一下吧,值得下载!
人工智能教学实践
- 粉丝: 531
- 资源: 253
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功