शुभ दोपहर
आप निम्न लिंक पर पिछले पाठ पा सकते हैं:
पाठ B01-B03पाठ B04-B08मूल पाठ 09 - सामग्री जोड़ना
पाठ बताता है कि सामग्री का उपयोग करके किसी वस्तु में बनावट कैसे जोड़ें।जब आप यूनिटी 3 डी में गेम ऑब्जेक्ट के साथ काम करते हैं, तो आपको सामग्रियों का उपयोग करने की भी आवश्यकता होगी। उदाहरण के लिए, हम एक घन में बनावट के साथ सामग्री जोड़ना चाहते हैं।
 डाउनलोड बनावट (* .png, 256px x 256px, 98.4KB)।
डाउनलोड बनावट (* .png, 256px x 256px, 98.4KB)।सबसे पहले, 
एसेट्स फ़ोल्डर (प्रोजेक्ट के रूट फ़ोल्डर में) में हमारी बनावट को सहेजें।
सामग्री निर्देशिका को जोड़ें (हमें याद है कि परियोजना में "पदानुक्रमित क्रम" बनाए रखना हमेशा सुविधाजनक होता है) और हमारी फ़ाइल 
बल्ब बनावट (एक्सटेंशन * .Png (मूल पाठ में * .psd), नोट देखें) का नाम दें।

Unity3d पर वापस जाएं, सुनिश्चित करें कि हमारी बनावट वाली 
सामग्री फ़ोल्डर 
प्रोजेक्ट दृश्य में दिखाई देती है।

एक घन बनाएँ। आप क्यूब पर 
प्रोजेक्ट व्यू से बस खींचकर हमारी बनावट जोड़ सकते हैं (सामग्री स्वचालित रूप से बनाई जाएगी)। लेकिन शायद आप इसे पहले से कॉन्फ़िगर करना चाहते हैं, फिर 
Create-> सामग्री चुनें।
इसे 
बल्ब कहें और 
सामग्री फ़ोल्डर में डालें 
। बल्ब
बल्ब चुनें और 
प्रोजेक्ट व्यू से हमारी बनावट को 
इंस्पेक्टर व्यू में खाली ग्रे वर्ग में स्थानांतरित करें ( 
कोई नहीं (बनावट 2 डी) ), या एक ही वर्ग में सभी का चयन करके और दिखाई देने वाली सूची से चयन करके।

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

पुनश्च: हम अलग से shaders के बारे में बात करेंगे, लेकिन बहुत बाद में।
साथ ही, सामग्री को 
टाइलिंग (मोज़ेक बनावट) से कॉन्फ़िगर किया जा सकता है। Xth या yth पर टाइलिंग मान जितना अधिक होगा, उतनी बार इसे संबंधित पक्ष पर दोहराया जाता है। यह समझने के लिए कि यह कैसे काम करता है, x और y मानों को 10 पर सेट करें (जब मूल्य बदलता है, तो घन पर बनावट वास्तविक रूप में अपडेट की जाएगी)।
 ऑफसेट
ऑफसेट पैरामीटर बनावट को "एक सर्कल में" स्थानांतरित करने के लिए जिम्मेदार है। यह समझने के लिए कि यह कैसे काम करता है, इसके साथ प्रयोग करें।
टिप्पणीPSD के अलावा , यूनिटी 3 डी भी निम्न प्रारूपों के आयात का समर्थन करता है:
TIFF, JPG, TGA, PNG, GIF, BMP, IFF, PICT।
किसी भी बनावट के मानचित्रण के रूप में, यह सबसे प्रभावी होगा (प्रदर्शन के लिए) यदि बनावट के किनारे दो (128, 256, 512, आदि) की शक्ति हैं। लेकिन यह आवश्यक नहीं है कि बनावट दोगुनी हो (उदाहरण के लिए, 256x512 स्वीकार्य बनावट आकार है)।
 मूल पाठ 10 - ऑडियो मूल बातें
पाठ का वर्णन है कि ऑडियो स्रोत घटक (ऑडियो संसाधन) कैसे खेलें और स्क्रिप्टिंग का उपयोग करके ध्वनि क्लिप कॉल करें।यूनिटी 3 डी में ध्वनि के साथ काम करने के लिए, आपको दो घटकों की आवश्यकता है:
- ऑडियोलिस्ट (ऑडियो रिसीवर)
- ऑडियो स्रोत (ऑडियो संसाधन)
आमतौर पर, एक 
AudioListener कैमरे का एक घटक है। हम एक कैमरा का चयन करेंगे और 
इंस्पेक्टर व्यू में देखकर इसे देखेंगे 
।
ध्वनियों को सुनने के लिए आपको प्रत्येक दृश्य में कम से कम एक 
AudioListener होना चाहिए।
एक खाली 
GameObject जोड़ें और इसमें 
ऑडियो स्रोत घटक जोड़ें 
।
आप 
इंस्पेक्टर व्यू के माध्यम से या स्क्रिप्ट का उपयोग करके एक ऑडियो क्लिप जोड़ सकते हैं।
हमारी परियोजना में दो ऑडियो फाइलें हैं - मोनो और स्टीरियो।

मोनो का उपयोग आमतौर पर ध्वनि प्रभावों के लिए किया जाता है। केवल इसके लिए, आप क्षीणन या अन्य 3 डी प्रभाव का उपयोग कर सकते हैं।
स्टीरियो, क्रमशः, संगीत के लिए, क्योंकि स्टीरियो साउंड अप के रूप में है।
पूर्वावलोकन विंडो में, आप चयनित फ़ाइल चला सकते हैं।

हमारे क्लिप ( 
GreenadeLaunch ) को 
ऑडियो क्लिप फ़ील्ड में जोड़ें 
। यदि 
प्ले ऑन अवेक विकल्प 
चालू है, तो दृश्य शुरू होने के तुरंत बाद ध्वनि बज जाएगी।

यदि हम चाहते हैं कि ऑडियो क्लिप हमारे लिए सही समय पर ध्वनि करे, तो हमें एक स्क्रिप्ट लिखने की आवश्यकता है। 
ऑडियो स्रोत के 
ऑडियो क्लिप फ़ील्ड को खाली छोड़ दें और इसे 
PlaySounds नाम देते 
हुए , एक # स्क्रिप्ट जोड़ें 
। स्क्रिप्ट में निम्न कोड जोड़ें:
स्क्रिप्ट को खाली 
गेमऑब्जेक्ट में जोड़ें 
, और स्क्रिप्ट में साउंड फ़ाइल ( 
ग्रीनडेलांच ) के साथ 
myClip वैरिएबल के मान को इनिशियलाइज़ करें। अब 
play पर क्लिक करके आप फिर से साउंड सुनें।
आप 
ऑडियो स्रोत का उपयोग किए बिना ऑडियो चला सकते हैं। चलिए हमारे 
GameObject से 
ऑडियो सोर्स कंपोनेंट को 
हटाते हैं, और 
स्टार्ट () विधि के कोड को निम्नलिखित के साथ बदल देते हैं:
  AudioSource.PlayClipAtPoint(myClip, transform.position); 
यहाँ, 
PlayClipAtPoint ऑडियो स्रोत वर्ग का एक स्थिर कार्य है जो संबंधित 
ऑडियो स्रोत (हमारे मामले में यह 
myClip है ) के साथ एक नया 
GameObject बनाता है और ऑडियो क्लिप को चलाने के बाद यह 
GameObject को हटा देता है 
।स्क्रिप्ट को सहेजें और सुनिश्चित करें कि हमारे 
GameObject के पास यह है, और 
myClip का मूल्य 
GreenadeLaunch है 
। प्ले पर
प्ले पर क्लिक करें और दृश्य लोड करने के तुरंत बाद, यह सुनिश्चित करने के लिए 
पॉज़ पर क्लिक करें कि 
वन शॉट ऑडियो नाम के साथ एक नया गेम ऑब्जेक्ट दृश्य पर दिखाई दिया है 
।
मूल पाठ 11 - कनेक्शन मूल बातें
सबक बताता है कि "इमारतों के विनाश के लिए गेंद" पर एक श्रृंखला बनाने के लिए फिक्स्ड संयुक्त (फिक्स्ड संयुक्त) और हिंज संयुक्त (कुंडा संयुक्त) का उपयोग कैसे करें।यूनिटी 3 डी में दिलचस्प भौतिकी बनाने के लिए हम 
"जोड़ों" का उपयोग करेंगे 
। और इसे समझने के लिए, हम इमारतों के विनाश के लिए एक गेंद का एक मॉडल बनाएंगे।
मूल दृश्य में एक समतलता 
(तल) , एक कैमरा 
(मुख्य कैमरा) और प्रकाश का एक बिंदु स्रोत 
(प्वाइंट लाइट) शामिल हैं।सबसे पहले, एक गोला बनाएं, इसमें 
रिगिडोबो घटक जोड़ें और इसे 
बॉल कहें।
दृश्य में एक 
Rigidbody जोड़कर एक सिलेंडर जोड़ें। सिलेंडर और गोले के आकार और स्थिति को नीचे दिए गए आंकड़े में दिखाया गया है। एक सिलेंडर के लिए, 
स्केल क्रमशः x, y और z के लिए 0.15, 0.25 और 0.15 होता है। सिलेंडर को गेंद के "किनारे" (किनारों को काटना) के लिए "ऊपर" रोल किया जाएगा।

गोले और सिलेंडर को जोड़ने के लिए, गोले 
(बॉल) का चयन करें और इसमें 
फिक्स्ड जॉइंट कंपोनेंट जोड़ें 
। हम 
Cylinder.rigidbody मूल्य के साथ 
कनेक्टेड बॉडी वैरिएबल को इनिशियलाइज़ करते हैं 
। आपको याद दिला दूं कि इसके लिए 
सिलिंडर को 
हियरार्की व्यू से 
इंस्पेक्टर व्यू तक 
कनेक्टेड बॉडी के सामने वाले मैदान पर खींचने के लिए पर्याप्त है।

गेंद को बन्धन के लिए अधिक उपयुक्त नाम का नाम सिलेंडर रखें, उदाहरण के लिए, 
बॉलस्टेम । 
कनेक्टेड बॉडी वैरिएबल का मान अपने आप बदल जाता है।

प्रेस 
प्ले और आप देखेंगे कि गेंद सिलेंडर से कैसे जुड़ी है।

अब श्रृंखला के चलते हुए खंड बनाना शुरू करते हैं।
एक कैप्सूल बनाएं (इसे 
चेन 1 कहते हैं), जबकि इसके आयाम 
बॉलस्टेम के समान 
होंगे, और यह इसके ठीक ऊपर स्थित होगा ताकि वस्तुओं के चरम किनारों को काट दें। 
Chain1 भी 
rigidbody घटक के साथ होगा 
।
और 
बॉलस्टेम में 
हिंगन जोड़ घटक को जोड़ते हैं, जो
कनेक्टेड बॉडी हम 
Chain1.rigidbody को इनिशियलाइज़ 
करते हैं ।
फिक्सिंग स्थान नारंगी तीर द्वारा इंगित किया गया है।

हमें श्रृंखला का एक और खंड चाहिए। 
चैन 1 चुनें और इसे डुप्लिकेट करें ( 
ctrl + D या 
cmd + D )। इसे 
चेन 2 का नाम 
दें, इसे भी 
चेन 1 के शीर्ष पर ले 
जाएं । 
Chain1 में , 
Hinge Joint को , के साथ जोड़ें
कनेक्टेड बॉडी टू 
चैन2.rigidbody। चैन 3 को भी
चैन 3 को भी इसी 
तरह से मिलाएं।अंत में, हम 
HingeJoint को 
Chain3 में जोड़ 
देंगे , और हम 
कनेक्टेड बॉडी का मान सेट नहीं करेंगे 
। इस मामले में, ऑब्जेक्ट "खुद को" संलग्न किया जाएगा (अधिक सटीक रूप से, दृश्य में एक खाली जगह पर)।
 बॉल, बॉलस्टेम, चैन 1, चैन 2, चैन 3 का
बॉल, बॉलस्टेम, चैन 1, चैन 2, चैन 3 का चयन करें और उन्हें झुकाएं।
 प्ले पर
प्ले पर क्लिक करें और देखें कि चेन के साथ हमारी गेंद कैसे चलती है।
बेसिक लेसन 12 - वर्चुअल एक्सिस का उपयोग करके प्रवेश करना
पाठ का वर्णन है कि "कुल्हाड़ियों" (कुल्हाड़ियों) का उपयोग करके बाएँ और दाएँ स्थानांतरित करने के लिए तीर (तीर कुंजी) का उपयोग कैसे करेंइस बार मंच पर हमारे पास एक विमान 
(फर्श) , एक कैमरा 
(मुख्य कैमरा) , एक प्रकाश स्रोत 
(प्वाइंट लाइट) और एक खाली 
गेमऑउट है।एक अन्य इनपुट विकल्प 
"कुल्हाड़ियों" (एक्सिस) का उपयोग है।इनपुट प्रबंधक खोलें 
(संपादित करें-> परियोजना सेटिंग्स-> इनपुट) । 
एक्सिस और फिर 
क्षैतिज का विस्तार करें 
।
आइए कुछ डिफ़ॉल्ट मापदंडों को देखें:
| पैरामीटर | मूल्य | टिप्पणी | 
| नकारात्मक बटन | बाएं | नकारात्मक दिशा में आगे बढ़ने की कुंजी | 
| सकारात्मक बटन | सही | सकारात्मक दिशा में आगे बढ़ने की कुंजी | 
| ऑल्ट निगेटिव बटन | एक | नकारात्मक दिशा में जाने के लिए वैकल्पिक कुंजी | 
| Alt पॉसिटिव बटन | घ | सकारात्मक दिशा में आगे बढ़ने के लिए वैकल्पिक कुंजी | 
| टाइप | कुंजी या माउस बटन | दिए गए अक्ष के साथ बढ़ने के लिए इनपुट प्रकार (हमारे मामले में X) | 
| एक्सिस | एक्स अक्ष | वस्तु की धुरी जिसके साथ हम चलेंगे | 
इस आंदोलन 
(क्षैतिज) का उपयोग करने के लिए 
, हमें 
इनपुट क्लास के 
गेटएक्सिस () विधि की आवश्यकता है 
।छोटी टिप्पणीइसके अलावा, हर बार यह इंगित करने के लिए कि विधि स्थिर नहीं है, निम्नलिखित परंपराएँ पेश की गई हैं:
- यदि "क्लास मेथड" लिखा जाता है, तो इसे स्थिर माना जाता है ।
- यदि "ऑब्जेक्ट मेथड" लिखा जाता है, तो वह विधि एक विशिष्ट ऑब्जेक्ट से संबंधित है।
 C # स्क्रिप्ट जोड़ें, इसे 
GetAxis.cs पर कॉल करें और लिखें:
  private float horiz; void Update () { horiz = Input.GetAxis("Horizontal"); Debug.Log(horiz); } 
किसी खाली 
गेम में स्क्रिप्ट जोड़ें 
, और 
प्ले पर क्लिक करें 
। यदि आप 
स्थिति बार में बाएँ / दाएँ तीर (या / d) को रखते हैं, तो आप देखेंगे कि 
क्षितिज चर का मान कैसे 
बदलता है :

इस चर का मान -1 से 1 तक (कुंजी दबाए जाने के आधार पर) भिन्न हो सकता है। जैसे ही आप कुंजी जारी करते हैं, 
क्षितिज फिर से 0 हो जाएगा।
अद्यतन करने के लिए कोड की एक और पंक्ति जोड़ें 
(), तुरंत 
Debug.Log () के बाद 
:  transform.Translate(new Vector3(horiz, 0.0f, 0.0f)); 
दृश्य को चलाएं और तीर पर क्लिक करें - आप देखेंगे कि हमारा 
गेमऑबजेक्ट एक्स अक्ष के साथ कैसे 
चलना शुरू करता है।
