统一:球员跳跃罚款,但下降速度极慢

问题描述 投票:0回答:4

我目前正在建设与能跳一个字一个小2D平台游戏。这是跳跃的外观(FixedUpdate):

    if (jump)
    {

        if (isGrounded)
        {
            isGrounded = false;

            rb.AddForce(Vector2.up * (jumpHeight * counterForJumpHeight) * Time.deltaTime, ForceMode2D.Impulse);
            jump = false;

            anim.SetBool("bool_anim_isJumping", true);
        }

        if (timer != null)
            timer.Stop();

        counterForJumpHeight = jumpMulitMin;

        jumpAlreadCharging = false;

    }

看上去很适合每一个跳起来,然后回落下来。

但是:当玩家只要下降(如悬崖奥德东西)不跳,它看起来像他有叶的质量。航行到地面extremley慢。没有加速的。刚刚落下的慢动作。当然可以了重心,但也影响了我的下跌后跳,并让他看起来像一块石头。仿佛下降时间是加快或东西。但是,这没有道理。他落下一个后跳和他刚脱落的东西应该是一样的吧?但它不。

这些都是我的RB值:

enter image description here

unity3d gravity
4个回答
1
投票

你可以在你人物的刚体质量,或增加编辑/ projectsettings /物理重力


1
投票

我不是100%肯定,但是这可能与碰撞检测做。请尝试更改设置来连续动态,而不是离散的。


1
投票

它可以与animator一个问题,如果动画包含更改Rigidbody,它怪异的东西,如果你已经设置的动画设为默认。


0
投票

这一切都是我的错,没有从您的角度来看猜测它的方式。一切玩家可以从被标记为“can_jump”跳。

void OnCollisionEnter2D(Collision2D col)
{
    if (col.gameObject.tag == "can_jump") // detect collision with ground game object 
    {
        isGrounded = true;
        deacceleratePerFrame = 1.5f;
        anim.SetBool("bool_anim_isJumping", false);
    }

}

这包括所有的边缘。删除此意味着我不能跳ATM了,然而,这引起了问题。我肯定另谋出路:-)谢谢大家

© www.soinside.com 2019 - 2024. All rights reserved.