基于SpringBoot+Vue驾校理论课模拟考试系统源码(自动化部署)

DrivingTestSimulation

Unity3D Project, subject two, simulated driving test

【更新信息】

  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》

你可能感兴趣的:(毕设源码,Java进阶,c++,spring,boot,vue.js,自动化)