跳向角色的方向
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
速度并按当前旋转旋转结果矢量。
我正在制作一个 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
速度并按当前旋转旋转结果矢量。