Skip to content

Unity3D Project - Subject two driving test simulation(Unity3D项目,科目二驾考模拟游戏)

License

Notifications You must be signed in to change notification settings

SummerRainCity/Unity3D-DrivingTestSimulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

项目说明

该项目为开源项目,主要用于初学者学习,目前最新版本v1.6,加入了公共聊天室(用于测试)。
最终的apk | exe文件仅用于展示浏览,其中不乏包含一些BUG,作者并未在任何平台发布该游戏!

DrivingTestSimulation

Unity3D Project, subject two, simulated driving test

【Introduction】

  1. Project Name: Simulated Driving 2 v1.6
  2. Start time: ‎October 26, 2020
  3. Author: Alan21 | XiaYuCheng(夏雨程)
  4. Operating platform: Mobile terminal | PC
  5. Running equipment(DrivSim_v1.6.Apk):
    • HUAWEI Nova4e(Android)-ok
    • HUAWEI P50 PRO(Android)-ok
    • HUAWEI Mate30 PRO(Android)-ok
    • Galaxy S7(Android)-ok
  6. Unity3D version: Unity 2019.4.13f1c1 (64-bit)
  7. Libraries used: iTween
  8. Auxiliary tools: FFmpeg(Using FFMPEG on audio clips only, you don't need to download it)
  9. Demo address: Video
  10. Explain: The beginner’s project may not be perfect, but I hope this project will help you a bit.

【APK演示文件】

游戏Apk文件:
链接:https://pan.baidu.com/s/1H6xX-S5G5dGVMrs4wVgFdA?pwd=alan
提取码:alan

GitHub上的二进制Apk测试文件下载
https://github.com/SummerRainCity/Unity3D-DrivingTestSimulation/releases/tag/ApkFile

【更新信息】

  1. 更新时间-2021-1-17

    • 解决了方向盘不同机型转动轴心偏离
  2. 更新时间-2021-2-18

    • 加入了手刹系统
  3. 待更新-2021-6-19(工作太忙少有时间更新,先指出问题)

    • 解决了在REC回放下偶然出现的物体回放错位BUG(每一个挂ReplayEntity.cs的脚本都将被记录状态,且被记录的物体若为子物体那么应当记录的是localPosition,若所有的父子物体都记录世界坐标,在回放时可能将出现一些怪异的现象。
    • 关于移动端滑动时视觉出现“闪移”的问题,滑动移动视觉的代码在TPD.cs与FED.cs中,其中有代码if(results[k].gameObject.tag == "camera_panel"),标签camera_panel是UI组件的标签,你应当限制这个组件只接收首次触摸点,其中camera_panel面板应当按照比例缩小,把锚点与自己的四个实心蓝点重合即可。
    • 在回放时,应当取消掉被回放的物体上有可能控制物体变换组件的所有脚本。
    • 单项练习的玩家生成点与项目位置似乎没有对接好,可手动调整生成点到合适的位置(场景:Exam Mode.unity)

【设置项目】

  1. 倒车入库(3步骤+时间限制210s+压线检测+中途停车检测)
  2. 侧方停车(2步骤+时间限制90s+压线检测+中途停车检测)  
  3. 半坡起步(1步骤+时间限制30s+压线检测+中途停车检测)
  4. 直角转弯(2步骤+时间限制30s+压线检测+中途停车检测)
  5. 曲线行驶(1步骤+中途停车检测)

【功能设定】

  1. Home [主页]
  • 考试模式(可回放)
  • 自由练习
  • 教程
  • 退出游戏
  1. Choose [单项练习]
  • 倒车入库(可回放)
  • 侧方停车(可回放)
  • 半坡起步(可回放)
  • 直角转弯(可回放)
  • 曲线行驶(可回放)

【未完善】

  1. 某些项目没有设置边界空气墙,玩家可以绕过项目到达终点:

    • 若假设玩家遵守规则,那么这条可以忽略
  2. “曲线行驶”没有设定压线检测

    • 解决方案1:建两个S模型,在Unity里加碰撞器即可。
  3. UI以及触屏视觉操作方面,建议使用第三方库,Unity商城

【关键代码】

说明:主要用于检测停车是否到位,你可以用此代码加入你自己的项目。 距离检测功能关键代码如下:

/*
   参数p:检测轴基点(空物体)
   参数axis:相对目标朝向轴,三个参数(Vector3.forward,Vector3.up,Vector3.right)
   参数target:目标点(汽车)
   返回值:返回距离差
*/
public float GetAxisDisValue(Transform p, Vector3 axis, Transform target)
{
   //X轴度数基准向量
   Vector3 a = p.TransformPoint(axis);
   //库点朝向指定轴
   Vector3 vecA = a - p.position;
   //库点指向车辆
   Vector3 vecC= target.position - p.position;
   //反余弦函数得到度数
   float angle = Mathf.Acos(Vector3.Dot(vecA.normalized, vecC.normalized));
   //车与库点距离
   float dis = Vector3.Distance(target.position, p.position);
   //p与目标点在指定轴的投影距离
   float proDis = Mathf.Cos(angle) * dis;
   return proDis;
}

基于此项目(DTS)开发的《DES : Heavy Make》

Tip:
In order to avoid some trouble.
DES:HeavyMake project is not open source.
Thanks for your attention.(。・ω・。)ノ♡


—————END——————

About

Unity3D Project - Subject two driving test simulation(Unity3D项目,科目二驾考模拟游戏)

Resources

License

Stars

Watchers

Forks

Packages

No packages published