【发布时间】:2016-11-23 23:39:56
【问题描述】:
所以问题是:我有一个传感器可以使刚体旋转,问题是我无法计算它旋转的速度(如果传感器移动得很快,物体也会快速移动,但是当它与另一个游戏对象发生碰撞,它不会应用与它一起旋转的速度/力) 有什么方法可以计算它最近旋转的速度/力,以便在碰撞时将速度/力应用于另一个物体?
注意:我不完全确定我需要的是速度还是力量
float rot = float.Parse (sp.ReadLine());
transform.eulerAngles = new Vector3 (0, 90, rot);
注意:由于对象的设计方式,默认情况下它必须旋转 90 度。基本上我所做的是从陀螺仪接收信息并将其放入对象旋转中。
传感器以浮点的形式给出从 -90 到 90 的值,当它向左旋转时,它给出从 -90 到 0 的值,当它向右旋转时,它给出从 0 到 90 的值。这个值应该用于以图形方式旋转对象,并应用它与另一个游戏对象碰撞时的旋转速度(例如,如果它从 -90 快速移动到 -20,它应该比从 - 缓慢移动时施加更大的力90到-50到-20)
【问题讨论】:
-
如果您想要精确的物理交互,您不应该直接设置旋转 - 您应该考虑使用物理系统并向对象施加扭矩,其大小取决于传感器移动的速度/速度.
-
我不完全确定我是否理解你,你能给我一个你所说的代码示例吗?
-
我需要您展示您当前的方法,以便我和其他成员更好地了解您从传感器获取的数据以及您如何使用它。请编辑您的问题以包含相关代码,我们将看看它是否可以根据您的需要进行调整。
-
那里是我编辑的,如果您需要更多信息,请告诉我,谢谢您的帮助:)
-
好的 - 如果我提供的答案有任何不清楚之处,请告诉我,在这种情况下它是否充分满足您的需求。