Questions tagged «car»

7
汽车游戏中的变速箱实现
我正在尝试通过手动换档创建一个简单的汽车游戏。但是,我在实施换档时遇到了一些麻烦。 这是我当前的“汽车”代码: int gear = 1; // Current gear, initially the 1st int gearCount = 5; // Total no. of gears int speed = 0; // Speed (km/h), initially 0 int[] maxSpeedsPerGear = new int[] { 40, // First gear max. speed at max. RPM 70, // Second gear max. …
23 simulations  car 

3
实际汽车的典型最大转向角
我正在Unity3D中构建汽车模拟。我正在尝试将汽车的属性设置为尽可能逼真的。我似乎无法在Google上得到直接的答案,所以我想到了在这里提问。 普通乘用车的典型最大转向角是多少?

2
我正在寻找使用向量创建逼真的汽车运动
我已经仔细检查了如何执行此操作,并找到了此http://www.helixsoft.nl/articles/circle/sincos.htm我已经尝试了一下,但是显示的大多数功能都无法正常工作,我只是出错了因为它们不存在。我看过cos和sin函数,但不了解如何使用它们或如何使用矢量使汽车运动正常工作。我没有代码,因为我不确定该怎么办。 任何帮助表示赞赏。 编辑: 我有一些限制,必须在我的游戏中使用TL引擎,不允许添加任何形式的物理引擎。必须使用c ++编程。这是我尝试遵循我提供的链接中所做的操作后得到的示例。 if(myEngine->KeyHeld(Key_W)) { length += carSpeedIncrement; } if(myEngine->KeyHeld(Key_S)) { length -= carSpeedIncrement; } if(myEngine->KeyHeld(Key_A)) { angle -= carSpeedIncrement; } if(myEngine->KeyHeld(Key_D)) { angle += carSpeedIncrement; } carVolocityX = cos(angle); carVolocityZ = cos(angle); car->MoveX(carVolocityX * frameTime); car->MoveZ(carVolocityZ * frameTime);

1
根据前轮方向和速度计算自行车方向
我有一个简单的自上而下的自行车游戏,我正在尝试增加转向功能。我想知道如何使用前轮的方向来确定自行车的方向和速度。 void Update () { //Get input from user Vertical: 0 to 1, Horizontal -1 to 1 float forwardInput = Input.GetAxis("Vertical"); float sidewaysInput = Input.GetAxis("Horizontal") * m_steeringAmount; // Turn front wheel m_frontWheelTransform.localEulerAngles = new Vector3(0, sidewaysInput, 90); // get speed and drag float speed = m_velocity.magnitude; Vector3 forwardDrag = -m_forwardDragConstant …
10 physics  car 

4
如何使寻路算法适应受限运动?
想象一下类似汽车的运动,其中实体无法打开一角钱。为了便于讨论,请说在高速行驶时它们可以每秒旋转90度。在许多情况下,这将更改最佳路径,并因此更改寻路。它甚至可能使“常规”路径完全无法遍历。 是否有任何寻路算法或运动计划算法可以牢记这一点,或者是否有简单的方法来适应流行的算法?
10 path-finding  car 

2
在非常简单的3D赛车游戏中,如何处理碰撞?
我想知道在一些简单的3d赛车游戏中是如何发生碰撞的(尤其是在Outrun 2 / Motoracer之类的游戏中)。 在具有复杂环境(开放世界)的经典赛车游戏中,我想这是通过一个基本的盒子(用于汽车)与飞机相撞(用于轨道,建筑其他东西)来完成的。整个过程将使用一些边界框进行优化(这是许多游戏中完成碰撞的方式)。 在《 Outrun 2 / Motoracer》这样的游戏中,游戏玩法是如此简单,以至于开发人员可能并不需要它,并且一切都可以简化很多。对于那些从未玩过的人,这里是这么具体: 汽车/自行车总是粘在道路上。 道路总是相同的大小,并且形状非常简单。 唯一的可能性是沿着这条路行驶,这不可能离开这条路,或者与其他东西发生碰撞(其他汽车/自行车除外,但我们不在乎)。 当您与道路相撞时,会发生非常基本的街机碰撞(只需将汽车从道路上推开) 这是我认为碰撞(可能)已经完成的方式: 整个轨迹可被视为3d贝塞尔曲线的巨型曲线。从该曲线可以生成道路多边形(使用从曲线生成的前,左和上向量)。其他元素(如房屋,树木等)也可以使用此方法放置和对齐。 然后,处理碰撞(并绘制汽车): 1)从当前汽车3d位置找到3d曲线上的最近位置。换句话说,将3d汽车位置转换为贝塞尔曲线位置。道路上的每个3d位置都可以视为沿着3d曲线(t)+横向位移(d)的位移。检查下面的图像是否不清楚(这是2d示例,但这很容易应用于3d)。 当t = 0轿厢在轨道段的起点时,当t = 1轿厢在终点处。当d = -1或1辆汽车在轨道边界时,当d = 0汽车在道路中间时 2)使用t和将汽车与道路对齐d(非常简单:对于t和,d我可以得到3d位置+上/前/左向量)。这辆车现在粘在路上了 3)检查d轿厢的横向位移。如果价值太大(d > 1)或太低,则(d < -1)汽车偏离轨道。只需将其夹在正确的位置即可。 这也使3d剔除非常简单,只需将轨道从当前汽车t位置绘制到即可t + some_big_enough_value_to_avoid_visible_clipping。 也许我完全错了:仅检查汽车(边界框)和代表轨道(没有建筑物等)的一组非常简化的多边形的碰撞会更快,更简单。3d世界(以及由此产生的colision模型)以前只是使用某些3rd party工具(运行游戏时不再有3d曲线,只是一堆多边形)生成的。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.