1. **Создайте скрипт CameraController**:
- Добавьте новый скрипт на камеру, который будет управлять её поворотом и синхронизировать его с персонажем:
using UnityEngine;
public class CameraController : MonoBehaviour
{
public Transform player; // Переменная для ссылки на игрока
public float sensitivity = 5.0f; // Чувствительность мыши
private float rotationY = 0.0f; // Хранит текущий угол поворота по оси Y
void Update()
{
// Получаем ввод от мыши
float rotationX = Input.GetAxis("Mouse X") * sensitivity;
rotationY += Input.GetAxis("Mouse Y") * sensitivity;
// Ограничиваем вертикальный угол поворота
rotationY = Mathf.Clamp(rotationY, -60, 60);
// Поворачиваем камеру
transform.localEulerAngles = new Vector3(-rotationY, 0, 0);
// Поворачиваем игрока по горизонтали
player.Rotate(0, rotationX, 0);
}
}
2. **Настройте сцену**:
- Переместите камеру в нужное положение относительно игрока.
- Присоедините скрипт `CameraController` к камере.
- В поле `Player` в инспекторе привяжите объект игрока.
3. **Проверьте настройки**:
- Убедитесь, что у вашего игрока отсутствуют конфликты скриптов, влияющих на поворот.
- Проверьте, что чувствительность мыши настроена комфортно для игрока.
Этот скрипт позволяет камере вращаться вокруг игрока, а также синхронизирует горизонтальный поворот игрока с движением мыши. Таким образом, когда вы поворачиваете камеру, игрок будет поворачиваться в ту же сторону по горизонтали, что и камера.