Как добавить задержку, когда игрок внезапно включит Unity3D - PullRequest
0 голосов
/ 02 апреля 2020

Я создал контроллер от третьего лица в единстве. За проигрывателем следует камера. Вот мой сценарий камеры,

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Camera : MonoBehaviour
{
    public float RotationSpeed = 1;
    public Transform Target, Player;
    float mouseX, mouseY;
    // Start is called before the first frame update
    void Start()
    {
        Cursor.visible = false;
        Cursor.lockState = CursorLockMode.Locked;
    }
    void LateUpdate() 
    {
        CamControll();
    }
    void CamControll()
    {
        mouseX += Input.GetAxis("Mouse X") * RotationSpeed;
        mouseY -= Input.GetAxis("Mouse Y") * RotationSpeed;
        mouseY = Mathf.Clamp(mouseY, -35, 60);
        transform.LookAt(Target);
        if (Input.GetKey(KeyCode.W))
        {
            Target.rotation = Quaternion.Euler(mouseY, mouseX, 0);
            Player.rotation = Quaternion.Euler(0, mouseX, 0);
        }
        else
        {
            Target.rotation = Quaternion.Euler(mouseY, mouseX, 0);
        }
    }

    // Update is called once per frame
    void Update()
    {

    }
}

Цель - это пустой объект внутри проигрывателя. Когда я нажимаю W и перемещайте мышь, вращая камеру и плеер. Без нажатия кнопки W вращайте только камеру. но когда я вращаюсь без камеры, а затем нажимаю W, проигрыватель неожиданно поворачивает сторону, где я сменил камеру. Нет задержки или анимации. Как добавить вращение в скрипт игрока? это мой скрипт игрока,

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour
{
    public float Speed;

    // Update is called once per frame
    void Update()
    {
        PlayerMovement();
    }
    void PlayerMovement()
    {
        float hor = Input.GetAxis("Horizontal");
        float ver = Input.GetAxis("Vertical");
        Vector3 playerMovement = new Vector3(hor, 0f, ver) * Speed * Time.deltaTime;
        transform.Translate(playerMovement, Space.Self);
    }
}

Помогите мне повернуть игрока с задержкой. Игра - только капсула. Нет анимации

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