班级设计:汽车与道路

时间:2012-03-22 14:20:00

标签: class object unity3d

我正在努力找出为我正在制作的游戏设计设计Car and Road物品的最佳方法。

AI Cars(以及玩家控制的汽车)的想法是识别他们何时穿越道路上的虚线或直线。 我希望能够使用适当的标志和子对象为Unity3D构建一个可变通道,以便汽车识别它们的位置以及它们何时以及如何遍历或轮流等“等等”

例如,道路可以有单向或两个方向。 对于每个方向,可以有许多车道。车道允许汽车相互超车(意味着车道之间的虚线)。 如果它是双向道路,那么在两个车道之间有一条线 - 可选地,理想情况下,如果在任何方向上有多个车道,那么分隔方向车道的线是直的。 默认情况下,应该有一个标志根据isOvertakingAllowed布尔标志绘制线条。

最重要的部分是Car对象需要知道它们在哪条车道上或者它们是否在车道分离线上,以及这种分离的类型(允许或不允许超车)。 这对我来说很难。

感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

我建议你实施一个Lane,它有一个旅行方向。然后实现一个Road,它包含一组点,一个定义它的形状和距离的路径,以及一个遵循该路径的Lane个对象的集合。道路是单向还是双向成为一个问题,以及它们有多少车道。

在这种情况下,Car沿着它所在的车道沿着给定方向在Road上行驶。它只能切换到具有相同行驶方向的其他车道(即除非汽车转过来,否则朝向与汽车相同的方向。

您可能在名为Road的{​​{1}}中有一个特殊点,它是多个Intersection的连接点,并以某种方式指定Lanes个{{1}可以转换到Lanes时的转换。

这是一个粗略的轮廓,但我认为这些是你提出的对象之间的基本关系,应该让你开始。

答案 1 :(得分:1)

gamasutra上有一个article,其中描述了用于开放城市的模型,以及不同的代理商(标准汽车,赛车,行人......)如何使用它。它可能会给你一些指示或想法。