यूनिटी में माउस नियंत्रण

इस ट्यूटोरियल में, आप सीखेंगे कि Unity में बुनियादी माउस नियंत्रण कैसे लागू करें। हम माउस इनपुट डिटेक्शन, माउस क्लिक को हैंडल करना, माउस मूवमेंट और माउस का उपयोग करके गेम ऑब्जेक्ट्स के साथ इंटरैक्ट करना कवर करेंगे।

परियोजना की स्थापना

कोडिंग शुरू करने से पहले, आइए एक सरल Unity प्रोजेक्ट तैयार करें:

  1. एक नया Unity प्रोजेक्ट बनाएं.
  2. दृश्य में एक नया 3D या 2D ऑब्जेक्ट जोड़ें (उदाहरण के लिए, एक क्यूब या एक स्प्राइट)।
  3. MouseController नाम से एक नई C# स्क्रिप्ट बनाएं और इसे मुख्य कैमरा या किसी खाली गेमऑब्जेक्ट से जोड़ें।

माउस इनपुट का पता लगाना

Unity माउस इनपुट का पता लगाने के लिए अंतर्निहित विधियाँ प्रदान करता है। हम माउस बटन प्रेस का पता लगाने के लिए Input.GetMouseButtonDown विधि का उपयोग कर सकते हैं।

using UnityEngine;

public class MouseController : MonoBehaviour
{
    void Update()
    {
        if (Input.GetMouseButtonDown(0)) // Left mouse button
        {
            Debug.Log("Left mouse button pressed");
        }

        if (Input.GetMouseButtonDown(1)) // Right mouse button
        {
            Debug.Log("Right mouse button pressed");
        }
    }
}

माउस क्लिक को संभालना

ऑब्जेक्ट पर माउस क्लिक को संभालने के लिए, हमें रेकास्टिंग का उपयोग करने की आवश्यकता है। रेकास्टिंग हमें यह पता लगाने की अनुमति देता है कि क्या माउस क्लिक दृश्य में किसी गेम ऑब्जेक्ट के साथ प्रतिच्छेद करता है।

using UnityEngine;

public class MouseController : MonoBehaviour
{
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit))
            {
                Debug.Log("Hit: " + hit.transform.name);
                // Perform actions on the hit object here
            }
        }
    }
}

माउस मूवमेंट

Unity में माउस की हरकत का पता लगाने के लिए Input.GetAxis का इस्तेमाल किया जा सकता है। हम क्षैतिज और ऊर्ध्वाधर दिशाओं में माउस की हरकत जानने के लिए Mouse X और Mouse Y अक्षों का इस्तेमाल कर सकते हैं।

using UnityEngine;

public class MouseController : MonoBehaviour
{
    void Update()
    {
        float mouseX = Input.GetAxis("Mouse X");
        float mouseY = Input.GetAxis("Mouse Y");

        if (mouseX != 0 || mouseY != 0)
        {
            Debug.Log("Mouse moved. X: " + mouseX + " Y: " + mouseY);
        }
    }
}

गेम ऑब्जेक्ट्स के साथ इंटरैक्ट करना

आइए अपनी स्क्रिप्ट को गेम ऑब्जेक्ट्स के साथ इंटरैक्ट करने के लिए विस्तारित करें। जब किसी ऑब्जेक्ट पर क्लिक किया जाएगा तो हम उसका रंग बदल देंगे।

using UnityEngine;

public class MouseController : MonoBehaviour
{
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit))
            {
                Renderer renderer = hit.transform.GetComponent();
                if (renderer != null)
                {
                    renderer.material.color = Random.ColorHSV();
                }
            }
        }

        float mouseX = Input.GetAxis("Mouse X");
        float mouseY = Input.GetAxis("Mouse Y");

        if (mouseX != 0 || mouseY != 0)
        {
            Debug.Log("Mouse moved. X: " + mouseX + " Y: " + mouseY);
        }
    }
}

निष्कर्ष

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

लिंक
Unity 6