跳向角色的方向

Jumping towards the character’ s orientation

我正在制作一个 2d 游戏,其中角色落在斜坡上并旋转,同时以固定的旋转旋转。接触地面时,角色会以相对于斜坡的角度跳跃。我希望它始终跳向自己的方向,即跳向他的头部,无论它在用腿接触地面时的方向如何。我附上一张图片以使自己更容易理解,到目前为止我的代码。我是团结的新手,我希望你能帮助我解决这个问题。非常感谢!

private void FixedUpdate() 
{
    IsTouchingGround = Physics2D.OverlapCircle(groundCheckPoint.position, groundCheckRadius, GroundLayer);
    if (IsTouchingGround)
    {
        rigidBody.velocity = new Vector2(rigidBody.velocity.x, JumpPower);
    }

假设它是 Rigibody2D 我会做例如

rigidBody.velocity = Quaternion.Euler(0, 0, rigidbody.rotation) * Vector2.up * JumpPower;

或者基本上这等于使用

rigidBody.velocity = transform.up * JumpPower;

因此不需要/使用保持 X 速度并按当前旋转旋转结果矢量。