【问题标题】:2 Wheeled Vehicles (Physics in Unity3D)2 轮车辆(Unity3D 中的物理)
【发布时间】:2015-09-29 09:38:11
【问题描述】:

我正在尝试在 Unity3D 中创建一个两轮车辆,其中的轮子并排放置(想想轮椅或 braitenberg 车辆)。目的是如果我驱动一个轮子而不是另一个轮子,则车辆应该转弯。我还应该能够将一个车轮向前转动,另一个车轮向后转动,车辆应该会打滑。

但是,车辆通常只是向前移动(可能在我想要转弯的方向上有轻微的偏差......但只是轻微的)。我有一种感觉我应该改变阻力/摩擦设置,但我已经玩过这些并没有什么效果。任何人都可以指出我应该做些什么来让它正常工作的方向。

关于信息,我正在使用 Unity 3D 中内置的物理轮式碰撞器。我需要用物理学来做到这一点,所以运动系统不适合。

谢谢

【问题讨论】:

  • 轮椅往往是四轮的 :) 另请注意,您通常不会只转动一个轮子 - 您要么将另一个轮子固定到位(例如,防止它旋转),要么您向相反方向旋转。当然,否则它往往会转向非常糟糕 - 即使是坦克在一个点转弯时也只是反向运行其中一条轨道。
  • 当一个轮子被强制旋转时,有两种可能的结果——一个,另一个轮子也以相同的速度旋转并且椅子移动,或者两个,另一个轮子保持静止并且椅子旋转它。一般来说,物理学会遵循最简单的路径,所以让“错误”的路径变得困难(锁定另一个轮子)。

标签: c# unity3d game-physics unityscript physics-engine


【解决方案1】:

好的,我将在此处添加一个答案(尽管这是我自己的问题),因为我已经看到一些帖子询问类似的问题。即使您正在创建具有 2 个主要轮子的车辆(例如小型机器人或 Britenberg 车辆),您仍然应该在前部或后部添加小轮子以保持稳定性(将它们视为脚轮)。在这些脚轮上,将前向和侧向摩擦的刚度系数降低到 0。在主驱动轮上,将侧向摩擦刚度系数降低到 0.5

这允许车辆打滑转向。

【讨论】:

  • 或者你可以在你的车体上添加一个 BoxCollider 以及一个零摩擦和零反弹的物理垫。它会提供支撑,不会让您的车辆摔倒。当您尝试使用已添加的轮子移动它时。因此,您可以创建只有 2 个轮子的车辆 :)
猜你喜欢
  • 2016-08-18
  • 2023-03-18
  • 1970-01-01
  • 2022-08-19
  • 2018-10-13
  • 2020-11-11
  • 1970-01-01
  • 2018-05-06
  • 1970-01-01
相关资源
最近更新 更多