Как замедлить скольжение игрока по времени - PullRequest
0 голосов
/ 22 апреля 2020

Я хочу сделать так, чтобы, если игрок приседал, его скорость со временем уменьшалась до тех пор, пока он не остановился.


using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    public float walkSpeed = 10f;
    public float jumpSpeed = 1f;
    public float grav = 10f;

    public float camFix;

    public GameObject player;

    public GameObject cam;

    public Transform orientation;

    public Rigidbody rb;

    public float counterMovement = 0.175f;

    private bool crouching;

    public float slideCounterMovement = 1000f;


    private Vector3 moveDirection = Vector3.zero;
    private CharacterController controller;

    void Awake()
    {
        rb = GetComponent<Rigidbody>();
    }


    public void counterMove()
    {

        if (crouching == true)
        {
            rb.AddForce(walkSpeed * Time.deltaTime * -rb.velocity.normalized * slideCounterMovement);
            return;
        }
    }

    void Start()
    {
        controller = GetComponent<CharacterController>();
    }




    void Update()
    {

       //////
       movement script is here
       //////


        if (Input.GetKeyDown("c"))
        {
            Crouching();


            crouching = true;
        }

        if (Input.GetKeyUp("c"))
        {
            NotCrouching();
            crouching = false;
        }
            moveDirection.y -= grav * Time.deltaTime;
        controller.Move(moveDirection * Time.deltaTime);
    }



    private void Crouching()
    {
        player.transform.localScale = new Vector3(0.5f, 0.4f, 0.5f);
    }


        private void NotCrouching()
    {
        player.transform.localScale = new Vector3(0.5f, 1.3f, 0.5f);
    }
}

Это то, что у меня сейчас. Это отлично работает, кроме того факта, что они могут go так быстро, как они хотят во время приседания. Я просмотрел много других сообщений, связанных с этим, и ни один из них не работал. Если они нажимают какую-либо клавишу, они соответственно будут двигаться в этом направлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...