Я создал контроллер от третьего лица в единстве. За проигрывателем следует камера. Вот мой сценарий камеры,
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);
}
}
Помогите мне повернуть игрока с задержкой. Игра - только капсула. Нет анимации