使用方向向量沿某个方向移动对象

Move an object in a direction using a directional vector

好的,我有一个物体漂浮在空中的游戏。我想通过将漂浮物体推向与风相同的方向来模拟风。

我一直在互联网上查找,但没有找到有关如何通过(方向)矢量移动对象而不是将其移向 space 中的某个点的信息。

Vector.lerp、翻译等都使用参考点,因为我想使用从对象中心到所需方向的长度(理想情况下为 1)的方向向量。这可以通过内置的前向矢量实现,但我想即使对象在自身旋转时也能这样做。

有人有想法或方向吗?

PS:所有物体的方向向量应该是平行的。到目前为止我唯一的想法是通过风向量设置一个点并根据每个对象调整它。但是对于这样一个愚蠢的任务来说,这样做似乎有点复杂和麻烦。

谢谢!

这只是将矢量添加到对象的位置(或者速度,如果你想要更真实的话)

transform.position += wind * Time.deltaTime

rigidbody.velocity += wind * Time.deltaTime

第二个选项需要GameObject有一个Rigidbody组件

我认为 Transform 有一个名为 Translate 的成员,它将翻译作为一个方向来处理:

myobject.transform.Translate(2,0,0);

这会将对象向右移动 2 个单位。

编辑:这里是 http://docs.unity3d.com/ScriptReference/Transform.Translate.html