यूनिटी में ट्रैफ़िक लाइट कैसे बनाएं

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

आवश्यक शर्तें

  • Unity इंटरफ़ेस का मूल ज्ञान
  • C# प्रोग्रामिंग की बुनियादी समझ
  • Unity आपके कंप्यूटर पर स्थापित (कोई भी नवीनतम संस्करण)

चरण 1: दृश्य सेट करना

सबसे पहले, हमें ट्रैफिक लाइट सिस्टम का अनुकरण करने के लिए तीन लाइटों (लाल, पीली और हरी) के साथ Unity में दृश्य सेट करना होगा।

  1. Unity खोलें और एक नया प्रोजेक्ट बनाएं।
  2. Hierarchy विंडो में, ट्रैफ़िक लाइट का प्रतिनिधित्व करने वाले तीन 3D ऑब्जेक्ट बनाएँ। आप प्रत्येक लाइट के लिए Spheres का उपयोग कर सकते हैं। उनका नाम बदलकर RedLight, YellowLight और GreenLight कर दें।
  3. Scene दृश्य में उन्हें एक दूसरे के ऊपर रखें ताकि एक ऊर्ध्वाधर ट्रैफ़िक लाइट का अनुकरण किया जा सके। आवश्यकतानुसार उनकी स्थिति और स्केल को समायोजित करें।
  4. To make them look like real traffic lights, assign different colors to each sphere:
    • RedLight का चयन करें और इसके सामग्री का रंग लाल में बदलें।
    • YellowLight का चयन करें और इसके मटेरियल का रंग पीला में बदलें।
    • GreenLight का चयन करें और इसके मटेरियल का रंग हरा में बदलें।

चरण 2: ट्रैफ़िक लाइट स्क्रिप्ट बनाना

अब, हम ट्रैफ़िक लाइट के व्यवहार को नियंत्रित करने के लिए एक स्क्रिप्ट लिखेंगे। यह स्क्रिप्ट नियमित अंतराल पर लाल, पीली और हरी लाइटों के बीच चक्र करेगी।

  1. Assets फ़ोल्डर में, राइट-क्लिक करें और Create > C# Script चुनें। इसे TrafficLightController नाम दें।
  2. स्क्रिप्ट को अपने पसंदीदा कोड संपादक में खोलें और निम्नलिखित कोड लिखें:
using System.Collections;
using UnityEngine;

public class TrafficLightController : MonoBehaviour
{
    public GameObject redLight;
    public GameObject yellowLight;
    public GameObject greenLight;
    
    public float redLightDuration = 5f;
    public float yellowLightDuration = 2f;
    public float greenLightDuration = 5f;
    
    private void Start()
    {
        StartCoroutine(TrafficLightCycle());
    }
    
    IEnumerator TrafficLightCycle()
    {
        while (true)
        {
            // Red light on
            redLight.SetActive(true);
            yellowLight.SetActive(false);
            greenLight.SetActive(false);
            yield return new WaitForSeconds(redLightDuration);
            
            // Green light on
            redLight.SetActive(false);
            yellowLight.SetActive(false);
            greenLight.SetActive(true);
            yield return new WaitForSeconds(greenLightDuration);
            
            // Yellow light on
            redLight.SetActive(false);
            yellowLight.SetActive(true);
            greenLight.SetActive(false);
            yield return new WaitForSeconds(yellowLightDuration);
        }
    }
}

यह स्क्रिप्ट एक सरल चक्र को परिभाषित करती है जहां लाल, हरी और पीली बत्तियां क्रम से चालू और बंद होती हैं।

चरण 3: स्क्रिप्ट को लाइट्स असाइन करना

अब जब स्क्रिप्ट तैयार हो गई है, तो हमें प्रकाश वस्तुओं को स्क्रिप्ट से जोड़ना होगा ताकि यह पता चल सके कि किन प्रकाशों को नियंत्रित करना है।

  1. स्क्रिप्ट को होल्ड करने के लिए Main Camera चुनें या सीन में एक खाली GameObject बनाएँ। इसे TrafficLightController नाम दें।
  2. Inspector में, Add Component पर क्लिक करें और TrafficLightController स्क्रिप्ट संलग्न करें।
  3. Assign the traffic light spheres to the script:
    • स्क्रिप्ट में RedLight ऑब्जेक्ट को redLight फ़ील्ड में खींचें।
    • YellowLight ऑब्जेक्ट को yellowLight फ़ील्ड में खींचें.
    • GreenLight ऑब्जेक्ट को greenLight फ़ील्ड में खींचें.

चरण 4: ट्रैफ़िक लाइट सिस्टम का परीक्षण

अब, ट्रैफिक लाइट प्रणाली का परीक्षण करने और यह देखने का समय आ गया है कि क्या सब कुछ अपेक्षा के अनुरूप काम कर रहा है।

  1. Unity एडिटर के शीर्ष पर Play बटन दबाएँ।
  2. ट्रैफिक लाइट सिस्टम को काम करते हुए देखें। लाल, हरी और पीली लाइटें स्क्रिप्ट में आपके द्वारा निर्धारित समय अंतराल के आधार पर चक्रित होनी चाहिए।

यदि सब कुछ ठीक से काम कर रहा है, तो आपको 5 सेकंड के लिए लाल बत्ती जलती हुई दिखाई देगी, उसके बाद 5 सेकंड के लिए हरी बत्ती जलेगी, और फिर 2 सेकंड के लिए पीली बत्ती जलेगी, और यह क्रम एक लूप में दोहराया जाएगा।

चरण 5: ट्रैफ़िक लाइट को अनुकूलित करना

आप प्रत्येक लाइट के लिए समय अंतराल बदलकर ट्रैफ़िक लाइट सिस्टम को आसानी से कस्टमाइज़ कर सकते हैं। Inspector विंडो में, redLightDuration, yellowLightDuration, और greenLightDuration फ़ील्ड को संशोधित करें ताकि यह बदला जा सके कि प्रत्येक लाइट कितनी देर तक जलती रहे।

उदाहरण के लिए, आप किसी व्यस्त चौराहे का अनुकरण करने के लिए लाल बत्ती को अधिक देर तक जलाए रख सकते हैं, या शीघ्रता से आगे बढ़ने के लिए पीली बत्ती की अवधि को समायोजित कर सकते हैं।

निष्कर्ष

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