यूनिटी में ऑब्जेक्ट टच पर टेक्स्ट प्रदर्शित करें

इस Unity ट्यूटोरियल में आपका स्वागत है, जहां आप सीखेंगे कि अपने गेम में किसी ऑब्जेक्ट को छूने पर टेक्स्ट को कैसे प्रदर्शित किया जाए। यह सरल इंटरैक्शन आपके प्रोजेक्ट में एक व्यापक तत्व जोड़ सकता है। यह ट्यूटोरियल मोबाइल और डेस्कटॉप दोनों पर काम करेगा।

चरण 1: एक Unity प्रोजेक्ट बनाएं

यदि आपने अभी तक नहीं किया है, तो Unity खोलकर नया 3D प्रोजेक्ट बनाकर शुरुआत करें. सुनिश्चित करें कि आपके पास अपने पसंदीदा विकास परिवेश के लिए आवश्यक संपत्तियाँ स्थापित हैं।

चरण 2: 3डी ऑब्जेक्ट आयात करें

अपने दृश्य में एक 3D ऑब्जेक्ट आयात करें जो उस आइटम का प्रतिनिधित्व करता है जिसके साथ खिलाड़ी इंटरैक्ट करेंगे। यह एक घन, गोला या आपके खेल के लिए उपयुक्त कोई अन्य वस्तु हो सकती है।

चरण 3: कोलाइडर जोड़ें

अपने 3D ऑब्जेक्ट में एक कोलाइडर घटक संलग्न करें । इससे यह पता लगाने में मदद मिलेगी कि अन्य वस्तुएं इसके साथ कब इंटरैक्ट करती हैं। आपकी वस्तु के आकार के आधार पर सामान्य कोलाइडर प्रकारों में बॉक्स कोलाइडर, स्फीयर कोलाइडर, या मेश कोलाइडर शामिल हैं।

चरण 4: कैनवास और टेक्स्ट बनाएं

दृश्य पदानुक्रम में राइट-क्लिक करके, UI और फिर कैनवास का चयन करके एक UI कैनवास बनाएं । कैनवास के अंदर, एक टेक्स्ट घटक जोड़ें जो आपका संदेश प्रदर्शित करेगा।

चरण 5: कैनवास को विश्व अंतरिक्ष पर सेट करें

कैनवास घटक के रेंडर मोड को बदलें 'World Space'। यह कैनवास को आपके गेम के 3D स्थान में मौजूद रहने की अनुमति देता है।

चरण 6: कैनवास की स्थिति

कैनवास की स्थिति को समायोजित करें ताकि यह आपके 3D ऑब्जेक्ट के साथ संरेखित हो जाए। यह सुनिश्चित करता है कि ट्रिगर होने पर टेक्स्ट ऑब्जेक्ट के पास दिखाई दे।

चरण 7: स्क्रिप्ट लिखें

एक लिखें स्क्रिप्ट जो यह पता लगाएगा कि प्लेयर ऑब्जेक्ट के साथ कब इंटरैक्ट करता है। जब इंटरेक्शन होता है, तो कैनवास सक्रिय करें और टेक्स्ट घटक की सामग्री सेट करें। नीचे दी गई उदाहरण स्क्रिप्ट की जाँच करें:

'ObjectInteraction.cs'

using UnityEngine;
using UnityEngine.UI;

public class ObjectInteraction : MonoBehaviour
{
    public GameObject canvas;
    public Text displayText;

    private void Start()
    {
        canvas.SetActive(false);
    }

    private void Update()
    {
        // Use inline conditional to determine input position based on platform
        Vector3 inputPosition = (Input.touchCount > 0) ? Input.GetTouch(0).position : (Vector3)Input.mousePosition;

        // Raycast to determine if the touch or click hits the object
        Ray ray = Camera.main.ScreenPointToRay(inputPosition);

        RaycastHit hit;
        if (Physics.Raycast(ray, out hit) && hit.collider.gameObject == gameObject)
        {
            // Activate the canvas and set the text
            canvas.SetActive(true);
            displayText.text = "Your message here!";
        }
    }
}

चरण 8: ऑब्जेक्ट में स्क्रिप्ट जोड़ें

संलग्न करें अपने 3D ऑब्जेक्ट में एक C# स्क्रिप्ट, जो इंटरेक्शन लॉजिक को संभालेगी और सभी आवश्यक वेरिएबल असाइन करेगी।

चरण 9: अपने गेम का परीक्षण करें

चलाएं अपना गेम और इंटरेक्शन का परीक्षण करें। जब आप निर्दिष्ट ऑब्जेक्ट पर क्लिक करते हैं या उसे छूते हैं तो टेक्स्ट दिखाई देना चाहिए।

लिंक
Unity 6