Unity için Fare Görünümü Komut Dosyası

Aşağıdaki komut dosyası, X eksenini, Y eksenini veya her ikisini aynı anda kontrol etme seçenekleriyle fareyle yönlendirilen dönüş hareketini etkinleştirir. Unity projelerinde etkileyici karakter kontrolleri veya dinamik kamera perspektifleri oluşturmak için idealdir. Deneyimi özel ihtiyaçlarınıza göre uyarlamak için hassasiyet ve rotasyon kısıtlamalarını özelleştirin.

Adımlar

  • yeni bir komut dosyası oluşturun, onu 'SC_MouseLook' olarak adlandırın, ardından aşağıdaki kodu içine yapıştırın.

'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;
    }
}
  • 'SC_MouseLook' betiğini Unity içindeki GameObject'inize veya Kameranıza ekleyin.
  • Inspector'te dönüş eksenlerini ("MouseXAndY", "MouseX" veya "MouseY") seçin.
  • "sensitivityX" ve "sensitivityY" parametreleriyle fare duyarlılığına ince ayar yapın.
  • İsteğe bağlı olarak, "minimumX", "maximumX", "minimumY" ve "maximumY"'yı kullanarak dönüş kısıtlamalarını ayarlayın.
  • Diğer parametreleri proje gereksinimlerinize göre özelleştirin.
  • Fareyle yürütülen kamera hareketini test etmek ve gözlemlemek için Oynatma moduna girin.
  • İstenilen davranışa göre hassasiyet ve dönüş kısıtlamalarını ayarlayın.
  • GameObject'i 'SC_MouseLook' ile daha büyük Unity projenize entegre edin.