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.
Bài viết được đề xuất
Tập lệnh cửa cho sự thống nhất
Tập lệnh tạo công tắc đèn trong Unity
Hướng dẫn tấn công cận chiến 2D cho Unity
Hướng dẫn về đồng hồ đếm ngược cho Unity
Lựa chọn đơn vị kiểu RTS cho sự thống nhất
Tập lệnh C# để tạo hiệu ứng dấu con trỏ trong Unity
Trình chỉnh sửa bản đồ chiều cao địa hình trong trò chơi cho Unity