在Unity3d中将3d刚体移动到其朝向的方向

时间:2014-03-31 18:04:55

标签: unity3d

我有以下场景:

enter image description here

我希望机器人移动到每个朝向的方向,所以我尝试了:

rigidbody.AddForce(rigidbody.transform.TransformDirection(Vector3.up* speed));

机器人像跳跃一样向上移动。

我试过了:

rigidbody.AddForce(rigidbody.transform.TransformDirection(Vector3.forward* speed));

但机器人正在倒塌

enter image description here

我知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

他很可能因为物理原因而摔倒而摔倒。

你可以给他的Rigidbody旋转约束来冻结他在X和Z轴上的旋转 - 所以他仍然可以转向面向一个方向,但他不能摔倒。使用你的"转发"移动他的代码。

这些约束也可以从代码中访问,所以你可以举例说明如果他被杀了就关掉它们,所以他就会失败:

rigidbody.constraints = RigidbodyConstraints.None;