Skrip Tampilan Mouse untuk Persatuan

Skrip di bawah ini memungkinkan gerakan rotasi yang digerakkan oleh mouse dengan opsi untuk mengontrol sumbu X, sumbu Y, atau keduanya secara bersamaan. Ideal untuk menciptakan kontrol karakter yang imersif atau perspektif kamera yang dinamis dalam proyek Unity. Sesuaikan sensitivitas dan batasan rotasi untuk menyesuaikan pengalaman dengan kebutuhan spesifik Anda.

Langkah

  • Buat skrip baru, beri nama 'SC_MouseLook', lalu tempel kode di bawah ini di dalamnya.

'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;
    }
}
  • Lampirkan skrip 'SC_MouseLook' ke GameObject atau Kamera Anda di Unity.
  • Pilih sumbu rotasi ("MouseXAndY", "MouseX", atau "MouseY") di Inspector.
  • Sempurnakan sensitivitas mouse dengan parameter "sensitivityX" dan "sensitivityY".
  • Secara opsional, tetapkan batasan rotasi menggunakan "minimumX", "maximumX", "minimumY", dan "maximumY".
  • Sesuaikan parameter lain berdasarkan kebutuhan proyek Anda.
  • Masuk ke mode Play untuk menguji dan mengamati pergerakan kamera yang digerakkan mouse.
  • Sesuaikan sensitivitas dan batasan rotasi untuk perilaku yang diinginkan.
  • Integrasikan GameObject dengan 'SC_MouseLook' ke dalam proyek Unity Anda yang lebih besar.
Artikel yang Disarankan
Pemilihan Unit Bergaya RTS untuk Persatuan
Skrip Pintu untuk Persatuan
Tutorial Penghitung Waktu Mundur untuk Unity
Unity Cara Memunculkan Objek di Klik Mouse
Indikator Sasaran dalam Persatuan
Editor Peta Ketinggian Medan dalam game untuk Unity
FPC Swimmer - Aset Persatuan Komprehensif untuk Lingkungan Perairan yang Mendalam