एकता के लिए माउस लुक स्क्रिप्ट

नीचे दी गई स्क्रिप्ट एक्स-अक्ष, वाई-अक्ष या दोनों को समवर्ती रूप से नियंत्रित करने के विकल्पों के साथ माउस-संचालित रोटेशन आंदोलन को सक्षम करती है। Unity प्रोजेक्ट में इमर्सिव कैरेक्टर कंट्रोल या डायनामिक कैमरा परिप्रेक्ष्य बनाने के लिए आदर्श। अनुभव को अपनी विशिष्ट आवश्यकताओं के अनुरूप बनाने के लिए संवेदनशीलता और रोटेशन बाधाओं को अनुकूलित करें।

कदम

  • एक नई स्क्रिप्ट बनाएं, इसे 'SC_MouseLook' नाम दें, फिर नीचे दिए गए कोड को इसके अंदर पेस्ट करें।

'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;
    }
}
  • Unity में अपने गेमऑब्जेक्ट या कैमरे में 'SC_MouseLook' स्क्रिप्ट संलग्न करें।
  • इंस्पेक्टर में रोटेशन अक्ष ("MouseXAndY", "MouseX", या "MouseY") चुनें।
  • "sensitivityX" और "sensitivityY" पैरामीटर्स के साथ माउस संवेदनशीलता को फाइन-ट्यून करें।
  • वैकल्पिक रूप से, "minimumX", "maximumX", "minimumY", और "maximumY" का उपयोग करके रोटेशन बाधाएं सेट करें।
  • अपनी परियोजना आवश्यकताओं के आधार पर अन्य मापदंडों को अनुकूलित करें।
  • माउस-चालित कैमरे की गति का परीक्षण और निरीक्षण करने के लिए Play मोड दर्ज करें।
  • वांछित व्यवहार के लिए संवेदनशीलता और रोटेशन बाधाओं को समायोजित करें।
  • गेमऑब्जेक्ट को 'SC_MouseLook' के साथ अपने बड़े Unity प्रोजेक्ट में एकीकृत करें।
सुझाए गए लेख
एकता के लिए आरटीएस-शैली इकाई चयन
एकता में कर्सर ट्रेल प्रभाव बनाने के लिए C# स्क्रिप्ट
एकता के लिए इन-गेम टेरेन हाइटमैप संपादक
एकता के लिए द्वार स्क्रिप्ट
एकता में गति के लिए जॉयस्टिक नियंत्रक कैसे स्थापित करें
एकता के लिए 2डी हाथापाई हमला ट्यूटोरियल
एकता के लिए काउंटडाउन टाइमर ट्यूटोरियल