यूनिटी में वीडियो निगरानी जोड़ना
Unity में वीडियो निगरानी प्रणाली बनाना आपके गेम या सिमुलेशन में गहराई की एक रोमांचक परत जोड़ सकता है। चाहे आप कोई स्टील्थ गेम, हॉरर एक्सपीरियंस या सुरक्षा सिमुलेशन विकसित कर रहे हों, वीडियो निगरानी प्रणाली गेमप्ले और इमर्सिवनेस को बढ़ा सकती है। यह ट्यूटोरियल आपको कैमरे, रेंडर टेक्सचर और UI तत्वों का उपयोग करके Unity में एक कार्यात्मक वीडियो निगरानी प्रणाली स्थापित करने के चरणों के माध्यम से मार्गदर्शन करेगा।
चरण 1: दृश्य सेट करना
वीडियो निगरानी प्रणाली शुरू करने से पहले, हमें एक बुनियादी वातावरण बनाने की ज़रूरत है जहाँ निगरानी कैमरे लगाए जा सकें। यदि आपके पास पहले से ही कोई दृश्य है, तो आप इस चरण को छोड़ सकते हैं।
फ़ाइल > नया दृश्य
पर जाकर Unity में एक नया 3D दृश्य बनाएँ।- दीवारों और फर्श के रूप में उपयोग करने के लिए एक भूभाग या कुछ क्यूब्स जोड़ें।
- दृश्य को दृष्टिगत रूप से रोचक बनाने के लिए उसके चारों ओर कुछ 3D ऑब्जेक्ट रखें तथा कैमरों से निगरानी के लिए क्षेत्र उपलब्ध कराएं।
- सीन में Player GameObject जोड़ें। आप मानक Unity एसेट या अपने खुद के कस्टम कैरेक्टर कंट्रोलर का उपयोग कर सकते हैं।
चरण 2: निगरानी कैमरे जोड़ना
वीडियो निगरानी प्रणाली का मूल कैमरा है जो दृश्य को कैप्चर करता है। हम कई निगरानी कैमरे बनाएंगे और उन्हें अलग-अलग क्षेत्रों की निगरानी के लिए सेट करेंगे।
- दृश्य में नया कैमरा जोड़ने के लिए Hierarchy में राइट-क्लिक करें और
Create > Camera
का चयन करें। - कैमरे को उस स्थान पर रखें जहाँ आप उसे मॉनिटर करना चाहते हैं। आप वांछित कोण प्राप्त करने के लिए दृश्य दृश्य में कैमरे को घुमा और घुमा सकते हैं।
- कैमरे का नाम कुछ वर्णनात्मक रखें, जैसे "SurveillanceCamera1".
- अपने दृश्य के विभिन्न क्षेत्रों को कवर करने वाले अनेक कैमरे बनाने के लिए उपरोक्त चरणों को दोहराएं।
- अधिक या कम क्षेत्र को कवर करने के लिए आवश्यकतानुसार प्रत्येक कैमरे के दृश्य क्षेत्र और क्लिपिंग प्लेन गुणों को समायोजित करें।
चरण 3: कैमरों के लिए रेंडर टेक्सचर बनाना
कैमरों से निगरानी फ़ीड प्रदर्शित करने के लिए, हमें रेंडर टेक्सचर का उपयोग करना होगा। रेंडर टेक्सचर विशेष टेक्सचर होते हैं, जिन पर Unity कैमरे के आउटपुट को रेंडर कर सकता है, जिससे हम गेम में स्क्रीन पर कैमरा फ़ीड प्रदर्शित कर सकते हैं।
- Project विंडो में Assets फ़ोल्डर में राइट-क्लिक करें और
Create > Render Texture
चुनें। - नए रेंडर टेक्सचर का नाम बदलकर "SurveillanceFeed1" करें।
- रेंडर टेक्सचर चुनें और ज़रूरत पड़ने पर उसका रिज़ॉल्यूशन एडजस्ट करें। ज़्यादा रिज़ॉल्यूशन का मतलब है बेहतर क्वालिटी, लेकिन इससे परफ़ॉर्मेंस पर असर पड़ सकता है।
- "SurveillanceCamera1" की Target Texture प्रॉपर्टी को "SurveillanceFeed1" पर असाइन करें। इससे कैमरा रेंडर टेक्सचर के लिए अपना दृश्य रेंडर कर देगा।
- प्रत्येक निगरानी कैमरे के लिए रेंडर टेक्सचर बनाने के लिए प्रक्रिया को दोहराएं।
चरण 4: स्क्रीन पर कैमरा फ़ीड प्रदर्शित करना
अब चूंकि कैमरे टेक्सचर प्रस्तुत कर रहे हैं, हम इन टेक्सचर को इन-गेम स्क्रीन या यूआई तत्वों पर प्रदर्शित कर सकते हैं, ताकि वास्तविक निगरानी प्रणाली की नकल की जा सके।
इन-गेम स्क्रीन का उपयोग करना
- अपने दृश्य में Quad या Plane का उपयोग करके एक 3D स्क्रीन बनाएं जो टीवी या मॉनिटर स्क्रीन के रूप में काम करे।
- Hierarchy में राइट-क्लिक करें और
Create > 3D Object > Quad
चुनें। - क्वाड को उस स्थान पर रखें जहां आप स्क्रीन रखना चाहते हैं।
- Assets फ़ोल्डर में राइट-क्लिक करके और
Create > Material
चुनकर एक नई सामग्री बनाएँ। इसे "SurveillanceScreen1" नाम दें। - मटेरियल के Shader को Unlit/Texture पर सेट करें। यह शेडर बिना किसी लाइटिंग इफ़ेक्ट के टेक्सचर को प्रदर्शित करेगा।
- सामग्री के मुख्य बनावट गुण को "SurveillanceFeed1" असाइन करें।
- इसे लागू करने के लिए "SurveillanceScreen1" सामग्री को क्वाड पर खींचें।
- प्रत्येक कैमरा फीड के लिए चरणों को दोहराएं, आवश्यकतानुसार विभिन्न स्थानों पर अनेक स्क्रीन बनाएं।
UI तत्वों का उपयोग करना
- Hierarchy में राइट-क्लिक करके और
Create > UI > Canvas
का चयन करके Canvas बनाएं। - कैनवास के अंदर, कैनवास पर राइट-क्लिक करके और
Create > UI > Raw Image
का चयन करके Raw Image बनाएं। - कच्ची छवि का आकार और स्थिति अपने इच्छित स्क्रीन आकार में समायोजित करें।
- कच्ची छवि के लिए बनावट के रूप में "SurveillanceFeed1" निर्दिष्ट करें।
- एकाधिक रॉ छवियां बनाने के लिए इन चरणों को दोहराएं, जिनमें से प्रत्येक एक अलग कैमरा फ़ीड प्रदर्शित करेगी।
चरण 5: कैमरा फीड के बीच स्विच करना
अधिक गतिशील निगरानी प्रणाली के लिए, आप खिलाड़ियों को अलग-अलग कैमरा फ़ीड के बीच स्विच करने की अनुमति देना चाह सकते हैं। यह एक सरल स्क्रिप्ट का उपयोग करके किया जा सकता है।
कैमरा स्विचर स्क्रिप्ट बनाएं
using UnityEngine;
using UnityEngine.UI;
public class CameraSwitcher : MonoBehaviour
{
public RenderTexture[] cameraFeeds; // Assign RenderTextures in the Inspector
public RawImage displayImage; // Assign the UI Raw Image in the Inspector
private int currentFeedIndex = 0;
void Start()
{
if (cameraFeeds.Length > 0)
{
displayImage.texture = cameraFeeds[currentFeedIndex];
}
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space)) // Use Space to switch feeds
{
currentFeedIndex = (currentFeedIndex + 1) % cameraFeeds.Length;
displayImage.texture = cameraFeeds[currentFeedIndex];
}
}
}
- CameraSwitcher नामक एक नई C# स्क्रिप्ट बनाएं और उपरोक्त कोड जोड़ें।
- स्क्रिप्ट को अपने दृश्य में खाली गेमऑब्जेक्ट से जोड़ें।
- इंस्पेक्टर में RenderTexture संपत्तियां और Raw Image घटक असाइन करें।
- कैमरा फीड के बीच स्विच करने के लिए Play दबाएं और
Space
कुंजी का उपयोग करें।
चरण 6: अतिरिक्त प्रभाव जोड़ना
अपनी निगरानी प्रणाली को अधिक यथार्थवादी और आकर्षक बनाने के लिए, आप हस्तक्षेप का अनुकरण करने या विसर्जन को बढ़ाने के लिए स्थैतिक, शोर या ओवरले जैसे प्रभाव जोड़ सकते हैं।
स्थैतिक प्रभाव जोड़ना
स्टैटिक नॉइस इफ़ेक्ट जोड़ने के लिए Unity Asset Store से शेडर बनाएँ या शेडर एसेट का इस्तेमाल करें। पोस्ट-प्रोसेसिंग इफ़ेक्ट का इस्तेमाल करके इसे सर्विलांस स्क्रीन मटीरियल पर या सीधे कैमरा फीड पर लागू करें।
कैमरा मूवमेंट का अनुकरण
निगरानी प्रणाली को और अधिक गतिशील बनाने के लिए आप कुछ मामूली हलचल या यादृच्छिक कैमरा झुकाव भी जोड़ सकते हैं। ऐसा करने के लिए प्रत्येक कैमरे के साथ एक स्क्रिप्ट संलग्न करें।
public class CameraSway : MonoBehaviour
{
public float swayAmount = 0.5f;
public float swaySpeed = 0.5f;
private Vector3 initialPosition;
void Start()
{
initialPosition = transform.position;
}
void Update()
{
float sway = Mathf.Sin(Time.time * swaySpeed) * swayAmount;
transform.position = initialPosition + new Vector3(0, sway, 0);
}
}
निष्कर्ष
इन चरणों का पालन करके, आप Unity में एक मजबूत वीडियो निगरानी प्रणाली बना सकते हैं, जिसमें कई कैमरा फीड, गतिशील स्क्रीन स्विचिंग और यथार्थवादी प्रभाव शामिल हैं। यह प्रणाली विभिन्न शैलियों में गेमप्ले मैकेनिक्स को बहुत बढ़ा सकती है, स्टील्थ गेम से लेकर हॉरर एडवेंचर तक। अपने गेम की अनूठी आवश्यकताओं के अनुरूप निगरानी प्रणाली को तैयार करने के लिए विभिन्न सेटिंग्स और स्क्रिप्ट के साथ प्रयोग करें।