इस गाइड में, एक खास गेम डेवलपमेंट साइकल के बारे में बताया गया है. इसे पढ़ने के बाद करें, तो आपको रेफ़रंस के तौर पर इस्तेमाल करने से मदद मिल सकती है.
Unity के साथ काम करने पर, डेवलपमेंट लाइफ़साइकल के तीन चरण होते हैं फ़ेज़:
- प्लान और डिज़ाइन
- डेवलप करना और जांच करना
- पब्लिश करना और बनाए रखना
प्लान और डिज़ाइन
प्लान और डिज़ाइन चरण में, आपको यह तय करना होता है कि अपना गेम कैसे बनाना है. आपने लोगों तक पहुंचाया मुफ़्त में तय करना होगा कि मोबाइल के लिए डेवलप करने में आने वाली चुनौतियों से कैसे निपटना है और डेवलपमेंट में इस्तेमाल होने वाले टूल और प्रक्रियाओं के बारे में बताना.
टीम के सभी सदस्यों से इनपुट पाएं
अपनी कला, इंजीनियरिंग, डिज़ाइन, ऑडियो, और प्रोडक्शन टीम की मदद से, लागू किए जाने वाले टास्क की पहचान और उनका रिकॉर्ड रखा जा सकता है. उदाहरण के लिए:
- आर्ट टीमें किरदारों के लिए ऐसेट टेक्सचर और मेश बजट बना सकती हैं और एनवायरमेंट.
- इंजीनियरिंग, डिवाइस की मेमोरी और परफ़ॉर्मेंस चेकपॉइंट तय कर सकती है हर प्लैटफ़ॉर्म के हिसाब से प्रोफ़ाइल बनाना.
- डिज़ाइन, गेम को बेहतर बनाने के लिए कुछ तरीके तय कर सकता है.
- ऑडियो विशेषज्ञ, इन शर्तों के बीच में आवाज़ को लगातार इस्तेमाल करने से जुड़ी ज़रूरी शर्तों की समीक्षा कर सकते हैं यूज़र इंटरफ़ेस (यूआई), 2D, और 3D स्पेशल साउंड.
- प्रोडक्शन, लॉन्च से जुड़ी ज़रूरी शर्तों के बारे में बता सकता है और टीम गठित और ऑन-ट्रैक.
मोबाइल के लिए डिज़ाइन
मोबाइल प्लैटफ़ॉर्म के लिए ऐप्लिकेशन डेवलपमेंट में कुछ खास बातें शामिल होती हैं. जैसे:
- अलग-अलग स्क्रीन के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात)
- ऊर्जा की खपत
- थर्मल और प्रोसेसर थ्रॉटलिंग
- टच इनपुट
- क्रॉस-प्लैटफ़ॉर्म डेवलपमेंट
- ग्राफ़िक एपीआई (Vulkan या OpenGL ES)
मोबाइल के लिए डिज़ाइन करते समय किन बातों का ध्यान रखना चाहिए, यह जानने के लिए देखें Unity में Android डेवलपमेंट Unity और Google Play Academy.
डेवलप करना और जांच करना
गेम डेवलप करने और उसकी जांच करने के चरण में, आपको अपना गेम बनाना होगा और उसकी जांच करनी होगी और प्री-लॉन्च तैयारी करना. आप कुछ सीमित इंटरनल Google Play पर टेस्टिंग की सुविधा ताकि आपको इस कार्यक्रम के लॉन्च से जुड़ी ज़रूरी शर्तों को पूरा करने के लिए तैयार किया जा सके. आप अपनी डिप्लॉयमेंट की रणनीति बनाने और Unity में ऐसेट व्यवस्थित करने के लिए, Play ऐसेट डिलीवरी और Unity पते सिस्टम.
नीचे दिए गए सेक्शन में, Unity टूल और तकनीकों के बारे में बताया गया है जिन्हें डिज़ाइन किया गया है को डेवलप करने में आपकी मदद करेगा.
रेंडर करें
रेंडरिंग, आपके Unity सीन से 3D और 2D ऐसेट बनाने की प्रोसेस है स्क्रीन पर. जब Unity इंजन, रेंडरिंग को मैनेज करता है, Android प्लैटफ़ॉर्म के लिए कुछ चीज़ों को ध्यान में रखना बेहद ज़रूरी होता है.
टेक्सचर
तय करें कि आपको अपने टारगेट के आधार पर, सबसे बड़े बनावट आकार की ज़रूरत है या नहीं डिवाइस. प्रोफ़ाइल बनाने पर मेमोरी का बंटवारा, टारगेट में बदलाव करने से होने वाली संभावित बचत की समीक्षा करें बनावट का आकार.
फ़्रेम टाइम
Android डिवाइसों को ज़्यादा गर्म होने से बचाने के लिए, फ़्रेम टाइम को टारगेट करें औसतन 21 मिलीसेकंड से कम वैल्यू होती हैं. कभी-कभी, जैसे कि वीडियो का लोडिंग या छोटा सिनेमैटिक अनुभव, आपके फ़्रेम टाइम 21 मिलीसेकंड से ज़्यादा हो सकता है, लेकिन आपको 21 से कम रहना चाहिए मुख्य गेम के अनुभव के लिए मिलीसेकंड का थ्रेशोल्ड.
मोबाइल प्लैटफ़ॉर्म पर, फ़ोर्स किए गए VSync टूल, फ़्रेम रेट को कम कर देते हैं. ऐसा नहीं होने पर ऐसा किया जाता है कम से कम टारगेट को पूरा कर लें. उदाहरण के लिए, 60 हर्ट्ज़ की स्क्रीन पर, 60 एफ़पीएस (फ़्रेम प्रति सेकंड), आपके गेम को 30 तक थ्रॉटल किया गया है; अगर आपका स्कोर 30 नहीं होता है, तो आपको 15.
कई Android डिवाइस 60 हर्ट्ज़ और 120 हर्ट्ज़ की डिसप्ले रीफ़्रेश दरों के साथ शिप किए जाते हैं. बहुत कम फ़्रेम टाइम को टारगेट करने के फ़ायदों का आकलन करें (इसके लिए 10 मि॰से॰ का टारगेट थर्मल थ्रॉटलिंग के जोखिम के बिना और 120 हर्ट्ज़ के लिए 5 मि॰से॰ तक अपडेट करें) और बेहतर रेंडरिंग रेट के लिए बैटरी का तेज़ी से खर्च होना.
Unity में अपने गेम में खास फ़्रेम रेट सेट करने के लिए, इसका इस्तेमाल करें Application.targetFrameRate.
Android फ़्रेम पेसिंग लाइब्रेरी की मदद से, जब आपके ऐप्लिकेशन को अगला फ़्रेम प्रज़ेंट करने में ज़्यादा समय लगता है, तब उस दौरान आसानी से रीफ़्रेश दर के मुकाबले ज़्यादा बिकते हैं. Unity वर्शन 2021 और इसके बाद के वर्शन के लिए, Android फ़्रेम पेसिंग को सक्षम करने से, डिसप्ले रीफ़्रेश दर सबसे बढ़िया मैच होता है. इससे यह पक्का होता है कि गेम ग़ैर-ज़रूरी डिसप्ले अपडेट से बैटरी खराब होती है.
लाइब्रेरी चालू करने के लिए, प्रोजेक्ट सेटिंग में जाकर > प्लेयर, इससे कम Android के लिए सेटिंग, ऑप्टिमाइज़ किए गए फ़्रेम पेसिंग के चेकबॉक्स को चुनें.
![प्रोजेक्ट सेटिंग दिखाने वाला डायलॉग बॉक्स > प्लेयर सेटिंग > प्रशंसकों के लिए ऑप्टिमाइज़ की गई रफ़्तार](/static/images/games/engines/unity/unity-projectsettings-player.png)
Vulkan एपीआई
Vulkan एक क्रॉस-प्लैटफ़ॉर्म और बेहतर परफ़ॉर्मेंस वाला 3D मॉडल है ग्राफ़िक्स API, जिसमें OpenGL ES के मुकाबले कम ओवरहेड होता है. Unity, Vulkan का इस्तेमाल कर सकता है अलग-अलग तरीकों से होता है.
ऑटो ग्राफ़िक्स एपीआई
Vulkan के साथ Auto Graphics API का इस्तेमाल किया जा सकता है. हालांकि, ऐसा करने से अलग आपके इंस्टॉल किए गए Unity वर्शन के मुताबिक व्यवहार. आपके पास इन्हें चुनने का विकल्प है इसके लिए, प्रोजेक्ट सेटिंग > खिलाड़ी > रेंडर हो रहा है.
Unity के लिए कौनसा वर्शन चुनना है, तो इन बातों का ध्यान रखें इस्तेमाल करें:
- Unity 2021.1 और इससे पुराने वर्शन, Auto के साथ Vulkan के साथ काम नहीं करते ग्राफ़िक्स एपीआई. Unity OpenGL ES 3.2 का इस्तेमाल करने की कोशिश करता है. अगर डिवाइस काम नहीं करता है, तो OpenGL ES 3.2 के तहत, Unity OpenGL ES 3.1, 3.0 या 2.0 पर वापस चला जाता है.
- Unity 2021.2 और इसके बाद के वर्शन में, सबसे पहले Vulkan का इस्तेमाल किया जाता है. अगर डिवाइस Vulkan के साथ काम नहीं करने पर, Unity OpenGL ES 3.2, 3.1, 3.0 या 2.0 वर्शन पर वापस चला जाता है.
![प्रोजेक्ट की सेटिंग > प्लेयर सेटिंग > रेंडरिंग > ऑटो ग्राफ़िक्स एपीआई](/static/images/games/engines/unity/unity-auto-graphics-api.png)
मैन्युअल ग्राफ़िक्स एपीआई
इसके अलावा, Auto Graphics API को बंद करके, Vulkan को मैन्युअल तरीके से चालू किया जा सकता है. अगर Unity 2021.1 या इससे पहले के वर्शन का इस्तेमाल किया जा रहा है, तो वल्कन.
अगर इस सूची में Vulkan को OpenGL ES से ज़्यादा रखने के क्रम में रखा गया है, तो Unity पहले वल्कन. अगर डिवाइस, Vulkan के साथ काम नहीं करता है, तो Unity OpenGL ES के साथ काम करता है. Android पर Vulkan के बारे में ज़्यादा जानकारी के लिए, Vulkan का इस्तेमाल शुरू करना लेख पढ़ें. जैसे, मॉडर्न ग्राफ़िक एपीआई इस्तेमाल करने और गेम की परफ़ॉर्मेंस को ऑप्टिमाइज़ करने का तरीका जानें.
![प्रोजेक्ट की सेटिंग > प्लेयर सेटिंग > रेंडरिंग > ग्राफ़िक्स एपीआई](/static/images/games/engines/unity/unity-graphics-apis.png)
कॉल ड्रॉ करें
स्क्रीन पर दिखने वाली हर चीज़, एक या उससे ज़्यादा ड्रॉ कॉल से जुड़ी होती है. चालू है की संख्या कम करनी चाहिए, तो आपको को ग्राफ़िक्स प्रोसेसिंग यूनिट (जीपीयू) को भेजा जाता है.
ड्रॉ कॉल को ट्रैफ़िक लाइट पर लाइन में खड़ी कारों की तरह समझें. इसके बाद लाइट का रंग हरा हो जाता है, तब लाइट से पहले एक तय संख्या में कारें गुज़र सकती हैं बदलाव. जब लाइट का रंग पीला हो जाए, तो इसका मतलब है कि आप टारगेट फ़्रेम पर पहुंच गए हैं समय (21 मिलीसेकंड), और जब लाइट लाल हो जाती है, तो आपने 33 मिलीसेकंड में फ़्रेम की समयसीमा. पिछले रेंडर फ़्रेम पर असर डालने वाली पिछली कोई भी चीज़, इसलिए, नतीजे के तौर पर मिलने वाला फ़्रेम रेट, टारगेट किए गए 30 FPS (फ़्रेम प्रति सेकंड) से कम है.
अपने गेम में ड्रॉ कॉल की परफ़ॉर्मेंस को बेहतर बनाने के बारे में जानकारी के लिए, देखें बैचिंग Unity Support का लेख.
Shadows
शैडो कास्टिंग ड्रॉ कॉल में जीपीयू से ज़्यादा बिजली खर्च होती है यहां तक कि आसान वातावरण के लिए भी जीपीयू टाइम. शैडो कास्ट करने की लागत कम करने के लिए कॉल ड्रॉ करने के लिए किया जा सकता है. साथ ही, सॉफ़्ट शैडो के बजाय हार्ड शैडो का इस्तेमाल करके एक्सपेरिमेंट किया जा सकता है. अगर आपने जीपीयू पर कम कीमत वाले डिवाइसों का इस्तेमाल करना अब भी काफ़ी महंगा है. इसलिए, गहरे शैडो के बजाय ब्लॉब शैडो का इस्तेमाल किया जाता है.
टेक्स्चर
सुझाई गई बनावट Android पर RGB और RGBA टेक्सचर के लिए कंप्रेशन फ़ॉर्मैट ASTC है. Unity में, कम से कम टेक्सचर कंप्रेस करने का विकल्प, जिसका इस्तेमाल आपको Android पर करना चाहिए ETC2 है. आपके पास ETC2 पर वापस जाने का विकल्प होता है. Unity Build Settings के तहत ASTC से बैकअप लें.
यहां Unity के दस्तावेज़ में, प्लैटफ़ॉर्म के हिसाब से काम करने वाले फ़ॉर्मैट की पूरी सूची देखी जा सकती है मैन्युअल: प्लैटफ़ॉर्म के हिसाब से सुझाए गए, डिफ़ॉल्ट, और इस्तेमाल किए जा सकने वाले टेक्सचर फ़ॉर्मैट.
यूज़र इंटरफ़ेस और आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात)
Unity का इस्तेमाल डिवाइस सिम्युलेटर टूल की मदद से अलग-अलग तरह के डिवाइस के स्क्रीन रिज़ॉल्यूशन, स्क्रीन की दिशा, और Unity एडिटर में सीधे तौर पर आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) की सुविधा का इस्तेमाल किया जा सकता है. गेम व्यू के बीच टॉगल किया जा सकता है डिवाइस सिम्युलेटर व्यू दिखेगा.
यहां पर टूल की झलक देखें Unity में डिवाइस सिम्युलेटर की मदद से, अपने गेम को सिम्युलेट करें!.
![](https://developer.android.com/static/images/games/engines/unity/unity-trivialkart-scene.png?authuser=0&hl=hi)
आपको ट्रिविएल कार्ट का सोर्स कोड इसमें मिल सकता है: गेम के सैंपल GitHub पर सेव किया गया है.
इसमें यूज़र इंटरफ़ेस (यूआई) कैनवस के एलिमेंट के लेआउट और उनके सही होने की तुरंत पुष्टि की जा सकती है ड्रॉप-डाउन में डिवाइस के विकल्पों को चुनकर डिवाइस सिम्युलेटर व्यू मेनू:
![प्रोजेक्ट की सेटिंग > प्लेयर सेटिंग > ऑप्टिमाइज़ की गई फ़्रेम पेसिंग](/static/images/games/engines/unity/unity-multiple-device-test.png)
![प्रोजेक्ट की सेटिंग > प्लेयर सेटिंग > प्रशंसकों के लिए ऑप्टिमाइज़ की गई रफ़्तार](/static/images/games/engines/unity/unity-package-manager.png)
Unity के लिए यूज़र इंटरफ़ेस (यूआई) को ऑप्टिमाइज़ करने की ज़्यादा तकनीकों के बारे में जानने के लिए, यहां दिया गया ट्यूटोरियल देखें Unity: Unity के यूज़र इंटरफ़ेस (यूआई) को ऑप्टिमाइज़ करना.
भौतिक विज्ञान
Nvidia PHysX इंजन, Unity में मौजूद होता है. डिफ़ॉल्ट सेटिंग मोबाइल पर महंगा हो सकता है, इसलिए इन बातों का ध्यान रखें:
- फ़्रेम रेंडर होने की अपनी टारगेट दर को ध्यान में रखें और उसके हिसाब से, एक तय समयसीमा सेट करें. डिफ़ॉल्ट समय 0.02 मि॰से॰ या 50 हर्ट्ज़ पर सेट है. इसे 0.03 तक बढ़ाया जा सकता है या 30 एफ़पीएस (फ़्रेम प्रति सेकंड) के टारगेट के लिए ज़्यादा हो.
- मेश कोलाइडर को आसान बनाने और लेयर कोलिज़न को कम करने के बारे में सोचें किसी लेयर वाले गेम ऑब्जेक्ट के बीच इंटरैक्शन का पता लगाने वाला मैट्रिक्स प्रकार.
इसके बारे में जानकारी के लिए फ़िज़िक्स की सेटिंग और ऑप्टिमाइज़ेशन के लिए, अपने मोबाइल गेम की ई-बुक ऑप्टिमाइज़ करें Unity से मिला.
प्रोफ़ाइल
ऐप्लिकेशन डेवलपर अक्सर तब तक प्रोफ़ाइलिंग को अनदेखा या अनदेखा करते हैं, जब तक ऐप्लिकेशन एक अहम फ़ेलियर पॉइंट तक पहुंच जाता है. अपने चैनल के लिए, अपनी प्रोसेस में समय की पुष्टि करें और इन सबसे सही तरीकों का इस्तेमाल करें:
- डेवलपमेंट के दौरान अहम बातों का पता लगाएं, जब आपको प्रोफ़ाइल बनाने का विकल्प तय करना हो ज़रूरत है.
- प्रोफ़ाइल के स्नैपशॉट को, Unity प्रोफ़ाइल ऐनालाइज़र.
- टारगेट किए गए डिवाइसों पर अपने गेम की प्रोफ़ाइल बनाएं, ताकि आपको इस बारे में सटीक जानकारी मिल सके कि आपका गेम डेवलपमेंट के मौजूदा चरण में परफ़ॉर्म कर रहा है.
- अपने गेम के अलग-अलग हिस्सों की प्रोफ़ाइल बनाएं.
- अपने खिलाड़ियों के गेम खेलने के तरीके की प्रोफ़ाइल बनाएं. (सिर्फ़ अपने गेम की प्रोफ़ाइल न बनाएं जब वह निष्क्रिय स्थिति में या रोकें स्क्रीन पर हो.)
- गेम के लंबे समय तक चलने के बाद, प्रोफ़ाइल को ईको-फ़्रेंडली मोड में रखा जाना थ्रॉटलिंग की समस्याओं का पता लगाने के लिए किया जा सकता है, जिनका सामना आपको मोबाइल ब्राउज़र डिवाइस गर्म हैं.
नीचे दिए गए प्रोफ़ाइलिंग टूल को अलग से या कॉम्बिनेशन में इस्तेमाल किया जा सकता है.
Unity Profiler Unity प्रोफ़ाइलर, पूरी तरह से इंटिग्रेट की गई परफ़ॉर्मेंस है विश्लेषण टूल जो Unity Editor में आपके कोड के साथ चल सकता है और डेवलपमेंट-मोड बिल्ड वाले अपने स्टैंडअलोन Android डिवाइस से कनेक्ट करें.
Android जीपीयू इंस्पेक्टर की मदद से, Android जीपीयू इंस्पेक्टर (एजीआई) से फ़्रेम-लेवल की डीबग की प्रोसेस की जा सकती है. एजीआई ने भी यह सिस्टम की सेवाओं का विश्लेषण करती है. इनमें जीपीयू, सीपीयू, मेमोरी, बैटरी, और जीपीयू शामिल हैं सेट करें.
Unity में अपने गेम की प्रोफ़ाइल बनाने के बारे में जानकारी पाने के लिए, यह वीडियो देखें Unity में प्रोफ़ाइल बनाने के बारे में जानकारी या Unity गेम की प्रोफ़ाइल बनाने से जुड़ी बेहतरीन गाइड, Unity से मिले.
मेमोरी मैनेज करना
Android प्रोसेस, टारगेट डिवाइस पर उपलब्ध मेमोरी को शेयर करती हैं. आपको ऐसा करना चाहिए प्रोफ़ाइल की मेमोरी का इस्तेमाल, जब टारगेट टेस्टिंग डिवाइस में ज़रूरत के मुताबिक मेमोरी हो संसाधन. लगातार मेमोरी की जांच करना पॉइंट सेट अप कर सकते हैं, ताकि आप सेशन और मेमोरी के इस्तेमाल के रुझानों की तुलना कर सकें सही तरीके से काम करना चाहिए.
C# में लिखी गई स्क्रिप्ट में काम करते समय, स्ट्रिंग का इस्तेमाल करते समय सावधानी बरतें. स्ट्रिंग की तुलना और स्ट्रिंग से जुड़े ऑब्जेक्ट (जैसे कि JSON) का बंटवारा फ़ाइलें शामिल हैं). इससे, बार-बार मेमोरी असाइन होती है. साथ ही, फ़्रैगमेंटेशन में मदद कर सकते हैं.
इसके लिए,
Stringबिल्डर
स्ट्रिंग हेर-फेर के बड़े सीक्वेंस के लिए क्लास, इसके इन-प्लेस कंटेंसनेशन के ऊपर
स्ट्रिंग (जैसे, "this" + "is" + "a" + "bad" + "idea" बनाम
StringBuilder.Concat()
फ़ंक्शन कॉल).
स्ट्रिंग के बारे में ज़्यादा जानकारी के लिए देखें स्ट्रिंग और टेक्स्ट Unity दस्तावेज़ में उपलब्ध है.
पसंदीदा सेटिंग के मुकाबले TextAsset और JSON टेक्स्ट रिसॉर्स का आकलन करें
ScriptableObject
टाइप. ScriptableObjects
, क्रॉस-सीन डेटा स्टोरेज को मैनेज करता है
ये टूल सही तरीके से काम करते हैं और एडिटर-टू-प्ले के लिए समय में बदलाव करते हैं.
डिफ़ॉल्ट के विकल्पों के इस्तेमाल पर चर्चा करने के लिए मोबाइल ऑप्टिमाइज़ेशन के लिए JSON हैंडल, लेख पढ़ें नेटवर्क गेम में छिपा हुआ ऑप्टिमाइज़ेशन हच पर.
इसका इस्तेमाल करें मेमोरी एडवाइस एपीआई का इस्तेमाल करें. एपीआई ज़्यादा, सामान्य, और कम मेमोरी इस्तेमाल के लिए, स्टॉपलाइट इंडिकेटर दिखाता है. आपने लोगों तक पहुंचाया मुफ़्त में इंंडिकेटर की सदस्यता लेकर अपडेट देख सकते हैं या सीधे तौर पर पोल कर सकते हैं वर्तमान के लिए स्थिति. रेड सिग्नल मिलने पर, अपने गेम ऑब्जेक्ट को कम करें पूल या कैश मेमोरी में सेव करें. लाइव स्ट्रीम के दौरान, अपने गेम के टेलीमेट्री में इस संदर्भ को शामिल करें ऑपरेशन और लॉन्च के बाद परफ़ॉर्मेंस मेट्रिक की समीक्षा.
Android डिवाइसों में मेमोरी को मैनेज करने और Unity के बारे में ज़्यादा जानने के लिए इससे काम करता है, देखें Android की मेमोरी के इस्तेमाल के बारे में जानकारी (Google I/O '18 से). वीडियो में मेमोरी से जुड़ी समस्याओं के बारे में बताया गया है. साथ ही, मेमोरी कम होने पर भी बताया गया है किलर ट्रिगर हो जाता है.
कचरा इकट्ठा करना
मैनेज किए जा रहे मेमोरी एनवायरमेंट में कचरा इकट्ठा करने से, इस्तेमाल न होने वाली मेमोरी को खाली किया जाता है ऐसे फ़्रैगमेंट जिन्हें किसी ऐप्लिकेशन में रीसाइकल किया जा सकता है. फ़ॉलो करें कचरा इकट्ठा करने के सबसे सही तरीके इससे आपको मेमोरी में संसाधनों के गै़र-ज़रूरी बंटवारे से बचा जा सकता है.
उदाहरण के लिए, मांग पर उपलब्ध सुविधा के बजाय गेम ऑब्जेक्ट का पूल बनाएं
आवंटन (GameObject.Instantiate
). बड़े पूल के लिए,
एक से ज़्यादा फ़्रेम असाइन करके, गेम के
कम सुविधाओं वाले Android डिवाइस पर काम नहीं करता है.
यहां दिए गए कोड स्निपेट से, एक सामान्य कोरूटीन शुरू करें. इसकी मदद से, मोनोव्यवहार की शुरुआत:
// Option 1: Bad for memory management - causes allocation each iteration
IEnumerator UpdateEnemyTarget() {
while (enabled) {
yield return new WaitForSeconds(1.0f);
// Some intermittent function check
}
}
// Option 2: Better for memory management - allocation of yield instruction once, reused each iteration
private YieldInstruction waitForSecond = new WaitForSeconds(1.0f);
IEnumerator BetterUpdateEnemyTarget() {
while (enabled) {
yield return waitForSecond;
// Some other intermittent function
}
}
आप
बदलाव करें
MonoBehaviour टेंप्लेट फ़ाइल का इस्तेमाल करके, डिफ़ॉल्ट Start()
और
Update()
स्टब फ़ंक्शन, ताकि आप अनजाने में खाली न रह जाएं
फ़ंक्शन को बेहतर बनाने में मदद करता है.
MonoBehaviour इवेंट के क्रम की खास जानकारी के लिए, यहां देखें इवेंट फ़ंक्शन को एक्ज़ीक्यूट करने का क्रम Unity दस्तावेज़ में उपलब्ध है. मेमोरी मैनेज करने के बारे में ज़्यादा जानने के लिए, कोर्स Unity में मेमोरी मैनेजमेंट.
मोबाइल गेम की परफ़ॉर्मेंस को बेहतर बनाने से जुड़ी सलाह के लिए, यह देखें अपने मोबाइल गेम की परफ़ॉर्मेंस को ऑप्टिमाइज़ करें: Unity के टॉप इंजीनियर से प्रोफ़ाइलिंग, मेमोरी, और कोड आर्किटेक्चर से जुड़ी सलाह पाएं.
प्रीफ़ैब पूलिंग
सीपीयू के फ़्रेम टाइम में बढ़ोतरी, करीब-करीब पूरी तरह से गेमप्ले. प्रोजेक्टाइल के लिए, पहले से गर्म ऑब्जेक्ट पूल बनाने पर ध्यान दें. दुश्मनों को बचाने और विज़ुअल इफ़ेक्ट डालने की सुविधा से, आने वाले सीपीयू की गड़बड़ियों को ठीक करने में मदद करता है. कन्वर्ज़न बढ़ाने के लिए, "शुरुआती फ़्रेम" पर लोड होने के दौरान या आपके सीन में शुरुआती जानकारी देने वाले क्रम.
Unity ऐसेट में आपको तीसरे पक्ष की कई पूलिंग ऐसेट दिख सकती हैं स्टोर जो गेम ऑब्जेक्ट पूलिंग मैनेजमेंट से जुड़ी हों. अपना खुद का इंटरैक्शन भी बनाया जा सकता है. यहां जाएं: Unity Learn पर ऑब्जेक्ट पूलिंग के बारे में जानकारी.
ऐसेट डिलीवरी
पहली बार आवेदन करने पर, आपका ऐप्लिकेशन कितना बड़ा हो सकता है, इसकी कुछ सीमाएं हैं Google Play पर डिप्लॉय किया गया. अपने गेम के साइज़ और प्रकृति के आधार पर, आपको गेम के कुछ या सभी संसाधनों की ज़रूरत पड़ सकती है. जैसे, कैरेक्टर मॉडल, एनवायरमेंट, यूज़र इंटरफ़ेस (यूआई) एलिमेंट वगैरह शामिल हैं.
Google आपके यूआरएल पैरामीटर को कैसे इस्तेमाल करेगा, यह तय करने के लिए Play ऐसेट डिलीवरी (PAD) सेवा, जो उन ऐसेट को मैनेज करती है जिनकी ज़रूरत आपके गेम को इंस्टॉल के समय होती है, या मांग पर देखें. Unity ऐसेट बंडल, Google के पीएडी कहते हैं और इस टूल का इस्तेमाल करके यह तय किया जा सकता है कि कौनसे एलिमेंट डिलीवर किए जाएं.
पते से जुड़ी जानकारी
प्रीफ़ैब, टेक्सचर, और साउंड जैसे डाइनैमिक संसाधनों को सेट अप करना फ़ाइलें – रनटाइम के दौरान काम करना आसान नहीं होता है. और पते जोड़ने के सिस्टम की समीक्षा करें. पता योग्य ऐसेट, कॉन्टेंट को व्यवस्थित करने और उसे बनाने और लोड करने के तरीके को डिकोड करती हैं को ध्यान में रखें. Addressables सिस्टम ने संसाधन फ़ोल्डर और ऐसेट को बदल दिया है ऐसेट का रेफ़रंस देने और रनटाइम के दौरान उन्हें लोड करने के तरीके को आसान बनाने के लिए बंडल.
उदाहरण के लिए, देखें कि Addressables पैकेज का इस्तेमाल करने वाला डेमो प्रोजेक्ट GitHub पर. Addressables के डेवलपमेंट के बारे में जानकारी के लिए यह देखें Unity ब्लॉग पर पते वाले ऐसेट सिस्टम की जानकारी.
अड्रेसेबल ऐसेट लेआउट का इस्तेमाल करने के अपने फ़ायदे और नुकसान हैं बहुत कम या एक जैसे बंडल में बहुत ज़्यादा एसेट हों. की मदद से कॉन्टेंट मैनेजमेंट के बारे में ज़्यादा जानने के लिए पते, देखें Addressables की मदद से अपने कॉन्टेंट मैनेजमेंट को आसान बनाएं.
आप सेट कर सकते हैं
अलग-अलग डेमो आज़माएं और अलग-अलग तरह के ऐक्सेस के साथ एक्सपेरिमेंट करें
और पते वाले सिस्टम के साथ काम करते हैं. ओपन सोर्स प्रोजेक्ट को
Unity 2019.3 और इसके बाद के वर्शन के लिए, BuildLayout Explorer,
साथ ही, buildlayout.txt
से जनरेट हुई रिपोर्ट की जांच करेगा
पते.
चॉप चॉप, Unity ओपन प्रोजेक्ट की एसेट को अड्रेसेबल सिस्टम, जिसे सभी तरह के लोड और अनलोड करने के लिए इस्तेमाल किया जाता है. यहां जाएं: अड्रेसेबल ऐसेट का इस्तेमाल करके कॉन्टेंट की पैकेजिंग करना | प्रोजेक्ट डेवलॉग खोलें इसके लिए, सिलसिलेवार तरीके से निर्देश हासिल किए जा सकते हैं. बंडल.
चॉप चॉप प्रोजेक्ट में, डिफ़ॉल्ट रूप से लोड होने वाला एकमात्र सीन, शुरुआती प्रोसेस
सीन को, इसमें ऐसेट के डायरेक्ट लिंक के बजाय, AssetReferences
का इस्तेमाल करने के लिए कॉन्फ़िगर किया गया था
प्रोजेक्ट (सीन, प्रीफ़ैब वगैरह).
इसके लिए सोर्स कोड Unity Open Project: चॉप चॉप GitHub पर उपलब्ध है. हालांकि प्रोजेक्ट पर अब काम नहीं चल रहा है, लेकिन git repo और दस्तावेज़ अब भी उपलब्ध हैं.
तीसरे पक्ष के प्लगिन
अगर तीसरे पक्ष के प्लगिन का इस्तेमाल किया जाता है, जैसे कि Unity ऐसेट में मौजूद प्लगिन सेव करें, पक्का करें कि आपने फ़ोल्डर देख लिए हैं और ग़ैर-ज़रूरी ऐसेट हटा दी हैं संसाधन फ़ोल्डर. बिल्ड प्रोसेस के दौरान, Unity सभी इकट्ठा करता है ऐसी ऐसेट जो संसाधन फ़ोल्डर में शामिल होती हैं और उन्हें एक ही फ़ोल्डर में पैकेज करती हैं बंडल जो रनटाइम के दौरान ऐक्सेस किया जा सकता है. इससे आखिरी पैकेज ख़राब हो सकता है, और अक्सर इसकी ज़रूरत नहीं होती.
सभी संसाधन फ़ोल्डर का तुरंत पता लगाने के लिए, इसमें संसाधन खोजें प्रोजेक्ट पैनल. इसके बाद, हर एक सुझाव को चुनकर यह पता लगाया जा सकता है कि उसमें क्या शामिल है और क्या वह आपके गेम के लिए ज़रूरी है.
![](https://developer.android.com/static/images/games/engines/unity/unity-search-resources.png?authuser=0&hl=hi)
पब्लिश करना और बनाए रखना
जब आप अपना मोबाइल गेम लॉन्च करने के लिए तैयार हों, तब तय करें कि आपको किसे टारगेट करना है रिलीज़ करने के लिए, ऐल्फ़ा और बीटा टेस्टिंग करने का तरीका, और निगरानी और ट्रैक करने का तरीका परफ़ॉर्मेंस.
किसी सीमित रिलीज़ से मिले सुझावों का विश्लेषण करें
सीमित और टारगेट ऑडियंस के लिए लॉन्च किया जा सकता है. साथ ही, बड़े स्तर पर बीटा वर्शन आज़माया जा सकता है टेस्ट करें या सभी देशों में पूरी उपलब्धता के लिए, अपने गेम को चालू करें. एक सीमित रिलीज़ है, तो आप अपने ऐप्लिकेशन के प्रदर्शन को लाइव ऑडियंस और डिवाइसों का कलेक्शन.
उदाहरण के लिए, Unity के लिए Android Performance Tuner और Unity के लिए Google Analytics ऐप्लिकेशन की परफ़ॉर्मेंस और खिलाड़ियों के ट्रेंड के बारे में इनसाइट पाने के लिए, जिसे आपकी डेवलपमेंट टीम ट्यून करके अपडेट भेज सकती है. Google आपके यूआरएल Analytics डेटा की अगली कड़ियां या मिलती-जुलती शैली वाले मिलते-जुलते गेम हों.
ऐल्फ़ा और बीटा टेस्ट
इसमें अपनी ऐप्लिकेशन प्रोफ़ाइल सेट अप करने के बाद Google Play Console में सेव किया गया है, तो आपके पास ऐप्लिकेशन इस्तेमाल करने के लिए ऐल्फ़ा और बीटा टेस्ट तैयार करके, उन्हें प्री-लॉन्च समीक्षा. इन्होंने बदलाव किया है सीमित दर्शकों के लिए लॉन्च किया है, तो किसी भी फ़ाइनल समस्या को हल करने के लिए, साथ ही, अलग-अलग तरह के डिवाइसों का ग्रुप बनाकर उनसे शुरुआती सुझाव या राय लें, ताकि ग्लोबल रिलीज़ का हिस्सा हैं.
आपके Unity बिल्ड को Android ऐप्लिकेशन बंडल की मदद से डिस्ट्रिब्यूट किया गया है. जानकारी के लिए, देखें मैन्युअल: Google Play पर डिलीवर करना Unity से मिला है, जो APK फ़ाइलों में हुए AAB में होने वाले बदलावों के बारे में भी बताता है फ़ॉर्मैट.
निगरानी और ट्रैक करें
अपने गेम को लाइव बनाने और उसे उपलब्ध कराने की प्रोसेस के दौरान, Android ट्रैक करने में मदद करने के लिए, ज़रूरी जानकारी की वजह से उन डिवाइसों पर परफ़ॉर्मेंस की समस्याओं को कम किया जा सकता है जिनका ऐक्सेस शायद आपको डेवलपमेंट और टेस्टिंग के लिए बनाया गया. ज़्यादा जानकारी के लिए, यह देखें पहुंच, डिवाइस, और 'Android की ज़रूरी जानकारी' में गेम के लिए नया क्या है.
अक्सर बड़ी डेवलपमेंट टीमों के पास खास और ज़रूरत के मुताबिक, गेम की टेलीमेट्री पाइपलाइन होती हैं जो डिवाइस की परफ़ॉर्मेंस से जुड़ी मेट्रिक उपलब्ध कराती हैं. फ़ायदा लेना न भूलें का तरीका Android परफ़ॉर्मेंस ट्यूनर (एपीटी) और इनसे जुड़े Unity प्लगिन का इस्तेमाल, फ़्रेम रेट से जुड़ी डायल-इन मेट्रिक के लिए किया जा सकता है. ग्राफ़िक की क्वालिटी, कॉन्टेंट लोड होने में लगने वाला समय, और सेशन बीच में छोड़ने वाले उपयोगकर्ताओं की संख्या. फ़ॉलो करें में सिलसिलेवार निर्देश Android Performance Tuner को अपने Unity गेम के साथ इंटिग्रेट करना.
आपके लाइव होने के बाद भी गेम की लाइफ़साइकल खत्म नहीं होती. परफ़ॉर्मेंस की निगरानी करना, उसे बनाए रखना, और उसके मुताबिक कार्रवाई करना ज़रूरी है इससे उपयोगकर्ताओं को खुश करने, अच्छी समीक्षाएं पाने, और पूरी तरह से आपके गेम को अपनाने का मौका मिलता है सभी बाज़ारों के लिए.