四 使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 之道路监测点

一.综述
对于赛车游戏来说 , 最关键的就是对赛车的实时监测 , 从而进行实时排名、比赛完成判断、行进方向判断 。只有有了实时监测 , 才能实现游戏的可控性、实现对赛车游戏的管理 , 才算得上是一款赛车游戏 。
今天我主要记录的就是我的赛车游戏制作道路监测点的过程 。
二.什么是道路监测点
道路监测点 , 就是道路赛车碰撞检测点 , 监测点会密布在整条赛道上 , 尽量的均匀散开 。用来实时记录赛车当前位置、计算排名、检测赛车行进是否正常等 。
三.道路监测点的制作 1.制作长方体碰撞对象 1)长方体要足够长足够扁足够高的长方体
足够长:能够检测到道路上所有车辆的过往
足够扁:能够检测到车辆就够了 , 没必要宽
足够高:太低可能会碰不到车辆的碰撞体
2)模型要够简单
我觉得可能我用的Cube模型都有些复杂
3)我的游戏实例
下图中的灰色长板就是一个 道路监测点 , 在使用时需要将Mesh 钩去掉 , 达到只能检测不能看见的目的 , 其中重要的就是Box 组件了 , 用来检测碰撞 , 同时勾选Is 选项 。那么勾选和不勾选有什么区别呢?不勾选这就是一个含有物理碰撞的碰撞体 , 不勾选这就是一个只能检测出碰撞却不能实际发挥物理作用的检测体 。

四  使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 之道路监测点

文章插图
图中就是道路上的一串检测体 , 基本均匀分布在道路上 , 并且所有的碰撞体都是Z轴朝向汽车前进方向 , 作用就是方便到时对汽车行进方向进行检测及对自动运行车辆进行方向导航
四  使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 之道路监测点

文章插图
下图中绿色的横线就是游戏所有道路上的所有碰撞体
四  使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 之道路监测点

文章插图
2.管理道路监测点 1)一般情况下 , 道路监测点统一放置在一个列表中即可 2)将起点终点的道路监测点使用Tag标记成如:、 3)每条路线都需要一个列表管理该路线所有道路监测点 4)我的实例 (1)道路监测点的管理
我一共有两条路线 , 不过两条路线有重叠的一部分 , 于是我将所有道路划分成了四段
(包含一组道路监测点)(包含一组道路监测点)(包含一组道路监测点)
(包含一组道路监测点)
与道路监测点对应的就是四段道路
四  使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 之道路监测点

文章插图
(包含一组道路网格)(包含一组道路网格)(包含一组道路网格)(包含一组道路网格)
我的路线一采用了(、、)
道路监测点也就是(、、)
一块儿构成了下图中的红色标注的一圈内围城市公路赛道 , 
四  使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 之道路监测点

文章插图
我的路线二采用了(、)
道路监测点也就是(、)
一块儿构成了下图中的蓝色标注的一圈外围景观草皮赛道
四  使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 之道路监测点

文章插图
每次进入游戏时 , 读配置文件 , 得知当前是哪条赛道 , 然后取出该赛道的若干组监测点 , 装载到当前赛道监测点数组中 , 供当前游戏使用
如我使用
【四使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 之道路监测点】//所有路段合集(部分子路段可组合成一个新的赛道 , 每个路段对象都含有一组道路监测点)public GameObject[] AllRoad = null;//当前赛道所有道路监测点集合public List RoadColliderGroup =