簡體   English   中英

向角色的剛體 (rigidbody.AddForce) 添加力時,屬性“BoxCollider”不會移動

[英]Property 'BoxCollider' does not move when force is added to character's rigidbody (rigidbody.AddForce)

I was trying to add a jump function into the game by having the character have a jumping animation and use the 'rigidbody.AddForce' function to actually make it jump.For the character to return back to its idle position, it would need to collide有任何東西可以將'isJumping'布爾值變為假,使角色再次空閑。 但是,我注意到在着陸時角色的行走動畫會循環出現這種故障。 后來我看到 BoxCollider 沒有隨着角色向上移動,因此使得每個基於碰撞的事件都無法觸發。

我最初嘗試將 BoxCollider 與.AddForce (Player.BoxCollider.AddForce()) 綁定,但無濟於事。 我還嘗試關閉 BoxCollider 並重新打開它,但該方法也不起作用。

這是跳躍命令的代碼:

    if (Input.GetKeyDown(KeyCode.Space) && isJumping == false)
    {
        isJumping = true;
        thePlayer.GetComponent<Animator>().Play("Jump");
        rb.AddForce(new Vector3(0, 4, 0), ForceMode.Impulse);
        rb.AddForce(new Vector3(0, -4, 0), ForceMode.Impulse);
    }

這是任何類型的碰撞的代碼:

   void OnCollisionEnter(Collision col)
{
    isJumping = false;
}

我希望 isJumping 觸發器被認為是錯誤的。

你的播放器最終會掉下來,因為它附有剛體組件,你不需要加力讓它掉下來

暫無
暫無

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

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