Как заставить игрока вращаться с видом камеры (с кодом) - PullRequest
0 голосов
/ 27 января 2019

Я пытался изменить несколько вещей, таких как добавление переменной вращения и тому подобное, но я не могу заставить эту вещь работать (не два отдельных сценария, должно быть, пояснены).Помогите?

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...