Как реализовать перекат/рывок персонажа Unity 2D в изометрической игре с видом сверху?

Рейтинг: 2Ответов: 0Опубликовано: 18.07.2023

Короче говоря, создаю игрушку шутер с видом сверху. Реализовал движение и поворот персонажа в сторону курсора. Подскажите как сделать быстрый рывок в сторону курсора на пробел. И желательно попроще, я новенький...

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);
    }
}

Ответы

Ответов пока нет.