Tập lệnh nhìn chuột cho Unity

Tập lệnh bên dưới cho phép chuyển động xoay bằng chuột với các tùy chọn để điều khiển đồng thời trục X, trục Y hoặc cả hai. Lý tưởng để tạo điều khiển nhân vật sống động hoặc phối cảnh camera động trong các dự án Unity. Tùy chỉnh các hạn chế về độ nhạy và xoay để điều chỉnh trải nghiệm theo nhu cầu cụ thể của bạn.

bước

  • Tạo một tập lệnh mới, đặt tên là 'SC_MouseLook', sau đó dán mã bên dưới vào trong tập lệnh đó.

'SC_MouseLook.cs'

using UnityEngine;

public class SC_MouseLook : MonoBehaviour
{
    public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 }
    public RotationAxes axes = RotationAxes.MouseXAndY;
    public float sensitivityX = 15F;
    public float sensitivityY = 15F;

    public float minimumX = -360F;
    public float maximumX = 360F;

    public float minimumY = -60F;
    public float maximumY = 60F;

    float rotationY = 0F;

    void Update()
    {
        if (axes == RotationAxes.MouseXAndY)
        {
            float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;

            rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
            rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);

            transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
        }
        else if (axes == RotationAxes.MouseX)
        {
            transform.Rotate(0, Input.GetAxis("Mouse X") * sensitivityX, 0);
        }
        else
        {
            rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
            rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);

            transform.localEulerAngles = new Vector3(-rotationY, transform.localEulerAngles.y, 0);
        }
    }

    void Start()
    {
        // Make the rigid body not change rotation
        if (GetComponent<Rigidbody>())
            GetComponent<Rigidbody>().freezeRotation = true;
    }
}
  • Đính kèm tập lệnh 'SC_MouseLook' vào GameObject hoặc Camera của bạn trong Unity.
  • Chọn trục xoay ("MouseXAndY", "MouseX" hoặc "MouseY") trong Inspector.
  • Tinh chỉnh độ nhạy của chuột với thông số "sensitivityX" và "sensitivityY".
  • Tùy ý, đặt các giới hạn xoay bằng cách sử dụng "minimumX", "maximumX", "minimumY" và "maximumY".
  • Tùy chỉnh các thông số khác dựa trên yêu cầu dự án của bạn.
  • Vào chế độ Play để kiểm tra và quan sát chuyển động của camera được điều khiển bằng chuột.
  • Điều chỉnh các hạn chế về độ nhạy và xoay để có hành vi mong muốn.
  • Tích hợp GameObject với 'SC_MouseLook' vào dự án Unity lớn hơn của bạn.