दृश्य स्क्रिप्टिंग ट्यूटोरियल (लॉजिक ब्रिक्स)
एक संग्रहणीय आइटम बनाना
Lesson 5 of 10 • 10 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
इस पाठ में, हम उस वस्तु को तैयार करेंगे जिसे खेल में एक संग्रहणीय वस्तु के रूप में उपयोग किया जाएगा।
हम इसके विजुअल मेष को कॉन्फ़िगर करेंगे, एक सामग्री और बनावट लागू करेंगे, खिलाड़ी के साथ इंटरैक्शन के लिए आवश्यक टकराव जोड़ेंगे, एक पहचान टैग निर्धारित करेंगे, और उस वस्तु को दृश्य के अंदर अधिक दिखाई देने और आकर्षक बनाने के लिए सरल गति लॉजिक बनाएंगे।
संग्रहणीय वस्तुएं खेलों में बहुत सामान्य होती हैं। वे सिक्के, चाबियाँ, स्वास्थ्य उठाने वाली वस्तुएं, गोला-बारूद, शक्ति-अप, क्वेस्ट वस्तुएं, या कुछ भी हो सकती हैं जिसे खिलाड़ी छूकर संग्रहित कर सकता है। इस पाठ में, हम वस्तु को तैयार करने पर ध्यान केंद्रित करेंगे। बाद में, खिलाड़ी की लॉजिक इस वस्तु का पता लगा सकेगी और इसे संग्रहित कर सकेगी।
1. वस्तु बनाना
Content पैनल के अंदर, Entity Template प्रकार के एक नए Asset को बनाएं।
यह Entity Template हमारी संग्रहणीय वस्तु के लिए आधार के रूप में उपयोग किया जाएगा। चूँकि संग्रहणीय वस्तुएं अक्सर एक स्तर में कई बार पुन: उपयोग की जाती हैं, इसे एक Entity Template के रूप में बनाना सही तरीका है। इस प्रकार, आप दृश्य में एक ही वस्तु के कई उदाहरण रख सकते हैं, और यदि आप बाद में टेम्प्लेट को बदलते हैं, तो सभी उदाहरण एक ही स्रोत से अपडेट किए जा सकते हैं।

Entity Template को खोलें ताकि हम इसे संपादित कर सकें।
फिर Entity का नाम Item रखें और एक नया Mesh बनाएं, जो वस्तु के दृश्य प्रतिनिधित्व के लिए जिम्मेदार होगा।
Components अनुभाग में, एक Transform कॉम्पोनेंट जोड़ें। Transform को Entity को स्थिति, घूर्णन, और पैमाना गुणों तक पहुँच देता है, जो वस्तु को 3D दुनिया में रखने और मान манिपुलेट करने के लिए आवश्यक हैं।
इसके बाद, एक Rigid Body कॉम्पोनेंट भी जोड़ें। यह कॉम्पोनेंट दृश्य में वस्तु के भौतिकी और टकराव व्यवहार के लिए जिम्मेदार होगा।

Rigid Body कॉम्पोनेंट में, Ghost विकल्प को सक्षम करें।
इस विकल्प को सक्षम करने से, वस्तु टकराव और इंटरैक्शन का पता लगाने में सक्षम रहेगी, लेकिन यह चरित्र की गति को भौतिक रूप से अवरुद्ध नहीं करेगी।
यह ठीक वही है जो हम अक्सर संग्रहणीय वस्तुओं के लिए चाहते हैं। खिलाड़ी को वस्तु के माध्यम से चलने में सक्षम होना चाहिए, और खेल को उस संपर्क का पता लगाने की आवश्यकता है। यदि वस्तु का सामान्य ठोस टकराव होता, तो यह खिलाड़ी को अवरुद्ध कर सकती थी या आस-पास की वस्तुओं को धकेल सकती थी, जो आमतौर पर संग्रहणीय के लिए अपेक्षित व्यवहार नहीं है।

इस बिंदु पर, आप Cave में एक 3D मॉडल आयात कर सकते हैं और इसे अपनी वस्तु के Mesh के रूप में उपयोग कर सकते हैं।
इस उदाहरण में, हम केवल एक बनावट से निर्मित 2D आइकन का उपयोग करेंगे, इसलिए कस्टम मॉडल को आयात करना आवश्यक नहीं होगा। लेकिन अपने प्रोजेक्ट की आवश्यकताओं के अनुसार, वस्तु की दृश्य उपस्थिति को अनुकूलित करने के लिए स्वतंत्र महसूस करें।
उदाहरण के लिए, आप उपयोग कर सकते हैं:
- एक सिक्का मॉडल
- एक चाबी मॉडल
- एक औषधि की बोतल
- एक तैरते हुए क्रिस्टल
- एक शक्ति-अप आइकन
- एक साधारण बनावट वाला प्लेन
अब, ठीक उसी तरह जैसे हमने पहले Entity बनायीं थी, एक नया Material बनाएं Content पैनल के अंदर।
फिर इसे अपने खेल के लिए विजुअल शैली के अनुसार कॉन्फ़िगर करें, आवश्यक बनावट जोड़ें, जैसे Albedo, Normal Map, या कोई अन्य मैप जिसका आप उपयोग करना चाहते हैं।


सामग्री को कॉन्फ़िगर करने के बाद, इसे वस्तु के Mesh पर लागू करें ताकि यह निर्धारित हो सके कि दृश्य के अंदर यह कैसे दिखाई देगा।
Mesh उस आकार को परिभाषित करता है जिसे प्रदर्शित किया जाएगा, जबकि सामग्री यह निर्धारित करती है कि वह आकार दृश्य में कैसे दिखाई देगा, जिसमें इसका रंग, बनावट, खुरदुरापन, सामान्य जानकारी, और अन्य शेडर-संबंधित गुण शामिल हैं।


व्यवस्थित प्रवृत्तियों के लिए, Content पैनल आपको अपने प्रोजेक्ट के संपत्तियों को बेहतर ढंग से संरचना करने के लिए स्वतंत्र रूप से फ़ोल्डर बनाने की अनुमति देता है।
एक अच्छी प्रथा है एक फ़ोल्डर बनाना जिसे Item कहा जाता है और इस संग्रहणीय से संबंधित सभी फ़ाइलों को इसमें ले जाना, जैसे Entity Template, सामग्रियाँ, बनावट, और इस वस्तु द्वारा उपयोग किए जाने वाले कोई अन्य संसाधन।
अपने संपत्तियों को व्यवस्थित रखना परियोजना को नेविगेट करना आसान बनाता है, आपके कार्यप्रवाह में सुधार करता है, और जैसे-जैसे खेल बढ़ता है, रखरखाव को और सरल बनाता है।

अब चलिए हम अपनी वस्तु के लिए एक नया Logic Brick बनाते हैं।
यह Logic Brick वस्तु को निरंतर घूर्णन जोड़ने के लिए जिम्मेदार होगा, जिससे खिलाड़ी इसे दृश्य में अधिक आसानी से देख सके।
इस प्रकार की गति संग्रहणीय वस्तुओं में बहुत सामान्य होती है। एक पूरी तरह से स्थिर वस्तु देखना मुश्किल हो सकता है, विशेष रूप से एक व्यस्त वातावरण में। एक साधारण घूर्णन वस्तु को बाहर निकालने में मदद करता है और तुरंत संप्रेषित करता है कि यह कुछ विशेष या इंटरैक्टिव है।

इसके लिए, हम बस Entity को प्राप्त करेंगे और इसके Transform तक पहुँचेंगे।
फिर Rotate On Yaw नोड जोड़ें, जो वस्तु के Y अक्ष के चारों ओर घूर्णन लागू करने के लिए जिम्मेदार है।
Radians फ़ील्ड में, उस मान को निर्धारित करें जिसे आप घूर्णन गति के लिए उपयोग करना चाहते हैं। यह मान जितना अधिक होगा, वस्तु उतनी ही तेजी से घूमेगी।
अंत में, Transform को Rotate On Yaw से कनेक्ट करें और इस लॉजिक को On Update के माध्यम से निष्पादित करें, ताकि वस्तु खेल के दौरान निरंतर रूप से घूमती रहे।

अंत में, चलिए अपनी वस्तु को एक Tag जोड़ते हैं ताकि इसे बाद में Player संग्रहणीय लॉजिक द्वारा पहचाना जा सके।
Tags टैब का चयन करें, एक नया टैग बनाएं जिसे item कहा जाता है, और इसे संग्रहणीय Entity में लागू करें।
बाद में, हम इस टैग का उपयोग यह पता लगाने के लिए करेंगे कि खिलाड़ी वस्तु को छूता है। यह पहचानने के लिए यह आसान बनाता है कि कौन सी Entities संग्रहणीय वस्तुएं हैं, जिसका केवल नाम या दृश्य उपस्थिति पर निर्भर नहीं है।
एक टैग का उपयोग करना एक साफ और लचीला दृष्टिकोण है क्योंकि आपके प्रोजेक्ट में अंततः कई विभिन्न संग्रहणीय वस्तुएं हो सकती हैं। जब तक वे सभी item टैग रखती हैं, खिलाड़ी की लॉजिक उन्हें संग्रहणीय के रूप में पहचान सकती है।

इस बिंदु पर, संग्रहणीय वस्तु दृश्य में उपयोग के लिए तैयार है।
इसके पास एक दृश्य प्रतिनिधित्व, एक सामग्री, टकराव के लिए भूत टकराव, एक लॉजिक ब्रिक है जो इसे घुमाता है, और एक item टैग है जो बाद में खिलाड़ी को इसे पहचानने की अनुमति देगा।