Почему мое движение мыши по оси Y блокируется, когда я реализую движение мыши по оси X - PullRequest
0 голосов
/ 18 января 2020

Я впервые делаю игру в единстве, и я искал учебники и следил за ними, надеясь получить больше знаний. До сих пор я мог осуществлять горизонтальное перемещение мыши по вертикали, но не одновременно. Я попробовал следовать руководству по созданию контроллера fps от Brackeys, и я сделал все, что он сделал, но мое горизонтальное движение блокируется, когда я реализую вертикальное движение.

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

public class MouseLook : MonoBehaviour
{

    public float mouseSensitivity = 100f;

    public Transform playerBody;

    float xRotation = 0f;

    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        float mouseX = Input.GetAxis("Mouse X") * mouseSensitivity * Time.deltaTime;
        float mouseY = Input.GetAxis("Mouse Y") * mouseSensitivity * Time.deltaTime;

        xRotation -= mouseY;
        xRotation = Mathf.Clamp(xRotation, -90f, 90f);

        transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f);
        playerBody.Rotate(Vector3.up * mouseX);
    }
}

Это код, который я сейчас имею Я использую Character Controller в Unity. Любая помощь или советы будут оценены.

Видео вертикального движения - https://youtu.be/Scjjctz0NGA.

Редактировать: удалось исправить, я вместо этого подключил камеру к камере привязки тела игрока к камере

...