簡體   English   中英

在Unity3d中將3d剛體移動到其面向的方向

[英]Move a 3d rigidbody to its facing direction in Unity3d

我有以下場景:

在此處輸入圖片說明

我希望機器人朝各個方向移動,所以我嘗試:

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

機器人像跳躍一樣向上移動。

我試過了:

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

但是機器人摔倒了

在此處輸入圖片說明

知道我該如何解決嗎?

他最有可能摔倒,因為他因物理原因而摔倒。

您可以給他的剛體旋轉約束以凍結他在X軸和Z軸上的旋轉-這樣他仍然可以轉向面對一個方向,但是他不能跌倒。 使用您的“轉發”代碼移動他。

這些約束也可以從代碼中訪問,因此,例如,如果他被殺死,則可以將其關閉,因此他跌倒了:

rigidbody.constraints = RigidbodyConstraints.None;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM