unity2D移动到固定对象会导致失重

时间:2019-02-26 10:34:28

标签: unity3d

请查看photo。有两个对象。

left circle object = circle colider2D + rigidbody2D(freeze Rotation Z, script for move )

    Rigidbody2D rigid;
    float moveX;

    void Start()
    {
       rigid = gameObject.GetComponent<Rigidbody2D>();
    }


    void PlayerMove(){
        moveX = Input.GetAxisRaw("Horizontal");
        rigid.velocity = new Vector2(moveX * 5f, rigid.velocity.y);
    }

    void Update(){
        PlayerMove();
    }

right square object = square colider2D + rigidbody2D(freeze positionY, freeze positionX, freeze Rotation Z)

我可以将圆从一侧移到另一侧。 当我按下键盘并将圆圈推到右侧壁时,重力不起作用。

我不知道为什么。我希望即使圆圈撞到墙,重力也会起作用。

如何预防该问题?

1 个答案:

答案 0 :(得分:3)

看起来像应用于该刚体的物理材料具有太大的摩擦力,并且在拥抱墙壁时会减慢太多。尝试减少材料上的摩擦值(您可以从资源面板创建Physical2D材料)。

Rigidbody setup

Material setup