Я пытался изменить несколько вещей, таких как добавление переменной вращения и тому подобное, но я не могу заставить эту вещь работать (не два отдельных сценария, должно быть, пояснены).Помогите?
using UnityEngine;
public class camfollow : MonoBehaviour
{
public float mouseSensitivity = 10;
public Transform target;
public float distFromTarg = 2f;
private Vector2 pitchminmax = new Vector2(-21.7f, 88.2f);
float yaw;
float pitch;
public float rotationSmoothTime = 0.12f;
Vector3 velocity;
Vector3 rotation;
// Update is called once per frame
public void Update()
{
yaw += Input.GetAxis("Mouse X") * mouseSensitivity;
pitch -= Input.GetAxis("Mouse Y") * mouseSensitivity;
pitch = Mathf.Clamp(pitch, pitchminmax.x, pitchminmax.y);
rotation = Vector3.SmoothDamp(rotation, new Vector3(pitch, yaw), ref
velocity, rotationSmoothTime);
Vector3 targetrotation = new Vector3(pitch, yaw);
transform.eulerAngles = targetrotation;
transform.position = target.position - transform.forward *
distFromTarg;
Lookie();
}
Weird indent here when I posted it, ignore please
public void Lookie()
{
Vector3 mousePos = new Vector3(Input.mousePosition.x,
Input.mousePosition.z, 10) + rotation;
Vector3 lookPos = Camera.main.ScreenToWorldPoint(mousePos) +
rotation;
lookPos = lookPos - transform.position + rotation;
float angle = Mathf.Atan2(lookPos.z, lookPos.x) * Mathf.Rad2Deg +
pitch
+ yaw;
transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
}
}
}
Я бы хотел, чтобы игрок мог поворачиваться в зависимости от того, куда моя мышь перемещает камеру, которая уже следует за игроком.Прямо сейчас он не вращается - просто следует за игроком.
РЕДАКТИРОВАТЬ: я попытался сделать первый ответ, и я получил ссылку на объект не установлен на экземпляр ошибки объекта в строке 40:
Vector3 lookPos = Camera.main.ScreenToWorldPoint(mousePos) + rotation;