[英]Unity character goes flying
因此,我目前正在着手進行角色的跳躍,但我已經按照自己的意願進行了跳躍工作,只是它不會檢查地面。 我可以輕松地創建一個與標記為地面的對象碰撞時真假的布爾,但是我想使用“字符控制器”組件來實現,因為我想將其用於其他功能。
但是,當我添加角色控制器時,第二秒鍾我移動了玩家,他以大約100000 km / h的速度飛行...
如何避免這種情況? 有人可以修復我的腳本,並解釋為什么它發生的思考過程嗎?
跳轉我腳本的一部分:
void update () {
if (rb.velocity.y < 0) {
rb.velocity += Vector3.up * Physics.gravity.y * (fallMultiplier - 1) * Time.deltaTime;
} else if (rb.velocity.y > 0 && !Input.GetButton ("Jump")) {
rb.velocity += Vector3.up * Physics.gravity.y * (lowJumpMultiplier - 1) * Time.deltaTime;
}
//Hoppe funktionen
if (Input.GetButtonDown("Jump")) {
GetComponent<Rigidbody> ().velocity = Vector3.up * jumpForce;
//Debug til hop
//Debug.Log("Surface is jumpable");
}
}
我也很想知道我的角色是否能保持空中力量,所以我在空中出生時不能像往常那樣輕易地轉身,而是繼續朝着我跳躍的方向前進。
根據您所說的,我假設您正在顯示的代碼是有效的代碼,而添加的Character Controller腳本是什么錯誤呢?
“飛行”錯誤很常見,可能有很多情況。 檢查以下內容:
我可以輕松地創建一個與標記為地面的對象碰撞時真假的布爾,但是我想使用“字符控制器”組件來實現,因為我想將其用於其他功能。
為什么不只是在角色控制器本身中這樣做呢?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.