Как реализовать перекат/рывок персонажа Unity 2D в изометрической игре с видом сверху?
Короче говоря, создаю игрушку шутер с видом сверху. Реализовал движение и поворот персонажа в сторону курсора. Подскажите как сделать быстрый рывок в сторону курсора на пробел. И желательно попроще, я новенький...
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float speed;
private Vector2 direction;
private Rigidbody2D rb;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
direction.x = Input.GetAxisRaw("Horizontal");
direction.y = Input.GetAxisRaw("Vertical");
Vector3 diference = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
float rotateZ = Mathf.Atan2(diference.y, diference.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(0f, 0f, rotateZ);
}
void FixedUpdate()
{
rb.MovePosition(rb.position + direction * speed * Time.fixedDeltaTime);
}
}
Источник: Stack Overflow на русском