क्या आप अपने कस्टम मानचित्र के प्रदर्शन को तेज़ करना चाहते हैं, हिचकी प्रस्तुत करने और संकलन समय को कम करने में नहीं फंसना चाहते हैं? हैमर में किसी भी मानचित्र को अनुकूलित करने में आपकी सहायता के लिए यहां कुछ युक्तियां दी गई हैं।
कदम
चरण 1. कमरों को सील करें।
यह आवश्यक है। यदि मानचित्र में कोई लीक है, तो संकलक मानचित्र की सीमाओं को निर्धारित करने में सक्षम नहीं होगा, और मानचित्र के भीतर सब कुछ एक ही बार में प्रस्तुत करने का प्रयास करेगा। इससे भी बुरी बात यह है कि मानचित्र में कोई भी क्षेत्र पोर्टल, हिंट ब्रश और आच्छादक काम नहीं करेंगे, जिससे वे बेकार हो जाएंगे। साथ ही, नक्शे में कोई लीक होने पर पानी सही ढंग से प्रदर्शित नहीं होगा।
- अंजीर। 1 ए में, कमरा स्पष्ट रूप से सील नहीं है। यदि आप इस मानचित्र को उस रिसाव के साथ संकलित करते हैं, विवि (संकलन का वह भाग जो दृश्यता डेटा निर्धारित करता है) मानचित्र की सीमाओं को निर्धारित करने में सक्षम नहीं होगा, क्योंकि विस्लीव्स हमारे मानचित्र के बाहर काले शून्य में बस "रिसाव" करेंगे।
- अंजीर। 1 बी में, कमरे को सील कर दिया गया है और इसे सही ढंग से संकलित किया जाएगा।
- लीक की जांच करने के लिए, पहले सुनिश्चित करें कि नक्शे में कम से कम एक इकाई है (जैसे कि "info_player_start"), अन्यथा यह काम नहीं करेगा। F9 दबाकर या फाइल -> रन मैप पर जाकर बीएसपी को सेव और कंपाइल करें। के लिए "सामान्य" चुनें बसपा चलाएं, और दोनों के लिए "नहीं" चुनें विज़ चलाएँ तथा राड चलाएँ (यह भी जांचना सुनिश्चित करें "संकलन के बाद गेम न चलाएं" डिब्बा)। एक बार जब यह कंपाइल हो जाता है, तो कंपाइल लॉग को बंद कर दें और मैप -> लोड प्वाइंट फाइल पर जाएं। यदि कोई लीक है, तो यह आपको ऑपरेशन की पुष्टि करने के लिए कहेगा (उदा। "डिफ़ॉल्ट पॉइंटफाइल लोड करें? [सी: / प्रोग्राम फ़ाइलें / ----]) "हां" चुनें, और आपको एक लाल रेखा उभरी हुई दिखाई देगी निकटतम इकाई से* रिसाव के क्षेत्र के माध्यम से बाहर। (* यही कारण है कि आपको अपने मानचित्र में एक इकाई, या तो ब्रश या बिंदु की आवश्यकता है। यह दुनिया या विवरण ब्रश के साथ काम नहीं करता है।) रिसाव को सील करें, पुन: संकलित करें बसपा, और पॉइंटफाइल लोड करें। यदि सभी को सील कर दिया गया है, तो इसे बस एक खाली फ़ोल्डर में जाना चाहिए स्टीम\steamapps\GAMERTAG\GAME\mapsrc फ़ोल्डर। जनता के लिए नक्शा जारी करने से पहले हमेशा लीक की जांच करें।
चरण 2. "टूल्स/टूल्सनोड्रा" के साथ ब्रश बनाएं।
सुनिश्चित करें कि आप हमेशा ब्रश बनाते हैं टूल्स/टूल्सनोड्रा बनावट पहले और फिर बनावट केवल वही है जो खिलाड़ी खिलाड़ी के दृष्टिकोण से देख सकता है। यदि आप केवल एक दीवार के एक तरफ देखने जा रहे हैं, तो उस दृश्य पक्ष को ही बनावट दें।
चरण 3. ब्रश और चेहरे की संख्या कम करें।
जब भी संभव हो, एक हजार छोटे ब्रश के बजाय कुछ बड़े ब्रश के साथ ज्यामिति बनाने के लिए चिपके रहें। अधिक ब्रश अधिक चेहरों के बराबर होते हैं, और अधिक चेहरे धीमे प्रदर्शन और संकलन समय के बराबर होते हैं। निचली पंक्ति: यदि आप एक या दो ब्रश के साथ जटिल ज्यामिति बना सकते हैं, तो उससे अधिक का उपयोग क्यों करें?
अंजीर। 3a में, दो ब्रश हैं: बाईं ओर वाले को आर्क टूल का उपयोग करके बनाया गया था, जिसने 40 चेहरों वाला 8-पक्षीय ब्रश बनाया था, और दाईं ओर वाले को केवल 11 चेहरों वाले एकल क्लिप किए गए ब्रश से बनाया गया था। बाद वाले को क्लिपिंग टूल (Shift + X) का उपयोग करके प्राप्त किया गया था। उत्तरार्द्ध को प्राप्त करने के लिए, पहले संदर्भ के लिए पहले आर्क टूल से वांछित ज्यामितीय आकार बनाने की अनुशंसा की जाती है। फिर, संदर्भ आर्च के समान लंबाई, चौड़ाई और ऊंचाई वाला ब्रश बनाएं और इसे संदर्भ से थोड़ा ऊपर रखें। ब्रश का चयन करें और कोणों को क्लिप करें। (आपको ग्रिड का आकार बदलने की आवश्यकता हो सकती है ("-" घटने के लिए, "+" बढ़ाने के लिए) और/या मैन्युअल रूप से संदर्भ आर्क के कोने (Shift + V) को निकटतम ग्रिड बिंदु पर स्नैप करने के लिए स्थानांतरित करें।) अब आपके पास है एक ज्यामितीय रूप से समान ब्रश, लेकिन केवल कम चेहरों के साथ
चरण 4. विस्तार ब्रश का अच्छा उपयोग करें।
विश्व ब्रश दृश्यता को अवरुद्ध करते हैं, मानचित्र को सील करते हैं, और बसपा को "पत्तियों" में विभाजित करते हैं, जो मूल रूप से संकलक का यह निर्धारित करने का तरीका है कि किसी भी समय और स्थान पर क्या देखा जा सकता है और क्या नहीं। विस्तार ब्रश अनिवार्य रूप से संकलक के लिए "अदृश्य" होने के लिए डिज़ाइन किए गए थे। केवल ब्रश जो विश्व ब्रश होने चाहिए वे कमरे की दीवारें, फर्श और छत हैं। कमरे में बाकी सब कुछ जो एक कार्यशील इकाई नहीं है और खिलाड़ी की दृष्टि को महत्वपूर्ण रूप से अवरुद्ध नहीं करता है उसे func_detail ब्रश (Ctrl + T का उपयोग करके टाई) से जोड़ा जाना चाहिए। चूंकि विवरण ब्रश दृश्यता को अवरुद्ध नहीं करते हैं, इसलिए उन्हें इसमें संकलित नहीं किया जाएगा विवि गणना और मानचित्र को अधिक विस्लीव्स में विभाजित नहीं करेगा (जो कि ज्यादातर मामलों में अच्छा है)। हालांकि सावधान रहें कि यह मानचित्र को सील भी नहीं करेगा। बस यह सुनिश्चित करें कि सभी विश्व ब्रश मानचित्र को सील कर दें और कोई समस्या नहीं होनी चाहिए।
चरण 5. एरिया-पोर्टल्स और हिंट ब्रश का उचित उपयोग करें।
एरिया-पोर्टल और हिंट ब्रश दृश्यता को सीमित करने और सही तरीके से किए जाने पर प्रदर्शन बढ़ाने के शानदार तरीके हैं। हालांकि, आपको इन्हें हर गलियारे और खिड़की में नहीं रखना चाहिए, क्योंकि यह गणना करने के लिए कि क्या प्रस्तुत किया जाना चाहिए और कब बहुत अच्छी तरह से पूरे कमरे को एक ही बार में प्रस्तुत करने से अधिक हो सकता है। इसके बजाय, आपको केवल बहुत सारे विवरण वाले कमरे अलग करने चाहिए। यह आपके कंप्यूटर को कई अनावश्यक वस्तुओं को प्रस्तुत करने से बचाएगा, और दृश्यता गणना पर एक बड़ा दबाव डाले बिना प्रदर्शन बढ़ाने में मदद करेगा।
चरण 6. occluders (थोड़े से) का प्रयोग करें।
Occluders एक बंद क्षेत्र पोर्टल के समान हैं, क्योंकि यह प्रस्तुत नहीं करता है कि इसके पीछे क्या है। हालांकि, यह एक बंद क्षेत्र-पोर्टल से अलग है जिसमें इसे एक कमरे को सील करने की आवश्यकता नहीं है (यह फ्री-स्टैंडिंग हो सकता है और विश्व ब्रश को स्पर्श नहीं कर सकता) और यह केवल 3D मॉडल (उर्फ प्रॉप्स) को ब्लॉक करता है। स्मृति उपयोग के मामले में यह उपकरण बहुत महंगा है, इसलिए आपको केवल ओक्लुडर का उपयोग करना चाहिए जब एक फ्री-स्टैंडिंग दीवार के पीछे एक महंगा 3D मॉडल होता है जिसे एरियापोर्टल द्वारा सील नहीं किया जा सकता है।
चरण 7. 3D स्काई-बॉक्स जोड़ें।
पूरी तरह से आवश्यक नहीं है, लेकिन यह एफपीएस (फ्रेम प्रति सेकंड) को बहुत धीमा किए बिना मानचित्र को बहुत बड़ा दिखाने में मदद करेगा। 3D स्काईबॉक्स आमतौर पर "बड़े" बाहरी मानचित्रों के लिए बनाए जाते हैं, लेकिन इसे एक इनडोर मानचित्र के लिए बनाना संभव है यदि आप एक खिड़की या किसी चीज़ के माध्यम से बाहरी देख सकते हैं। 3D स्काईबॉक्स रेंडर करने के लिए बहुत सस्ते हैं और एक छोटा नक्शा 16x तक बड़ा दिखा सकते हैं क्योंकि 3D स्काईबॉक्सेस को हैमर में 1/16 स्केल पर सेट किया जाता है और फिर कंपाइल के दौरान बढ़ाया जाता है।
चरण 8. कोहरा जोड़ें।
बड़े बाहरी मानचित्रों पर, कोहरा प्रदान किए जा रहे विवरण की मात्रा को सीमित कर सकता है, और यह प्रक्रिया में आपके मानचित्र को अधिक यथार्थवादी बना सकता है। बस अपने मानचित्र में एक env_fog_controller निकाय जोड़ें। में "कोहरा सक्षम करें" विकल्प पर वस्तु गुण टैब, "हां" चुनें। अगला, संपादित करें सुदूर जेड क्लिप विमान आपकी पसंद के अनुसार, जो उस दूरी के बाद के सभी ब्रशों को हटा देगा, अनावश्यक वस्तुओं को प्रस्तुत करने वाले इंजन को समाप्त कर देगा (The सुदूर जेड क्लिप विमान मान से अधिक होना चाहिए कोहरा अंत मूल्य)।
चरण 9. लाइटमैप स्केल पर पागल मत बनो।
लाइटमैप स्केल अनिवार्य रूप से निर्धारित करता है कि ज्यामिति पर कितनी तेज या धुंधली छाया प्रदान की जाती है। बड़ी संख्याएँ छाया की गुणवत्ता को कम करती हैं, लेकिन प्रदर्शन को बढ़ा सकती हैं। इसके विपरीत, कम लाइटमैप स्केल छाया के दृश्यों को बढ़ाता है, लेकिन प्रदर्शन को गंभीर रूप से कम कर सकता है। या तो बहुत बड़ा या बहुत छोटा लाइटमैप स्केल एक अवास्तविक प्रकाश प्रभाव उत्पन्न कर सकता है जो या तो बहुत सुस्त या बहुत तेज है, क्रमशः। सभी ब्रशों के लिए डिफ़ॉल्ट लाइटमैप पैमाना 16 है, जो दृश्य और प्रदर्शन के बीच एक संतुलित क्षेत्र है।
चरण 10. यदि आपके मानचित्र में पानी है, तो मानचित्र में "water_lod_control" इकाई रखें।
यह इकाई निर्धारित करती है कि आपको "महंगे" पानी से "सस्ते" पानी में संक्रमण के लिए कितनी दूर होना चाहिए। महंगा पानी सस्ते पानी की तुलना में कहीं अधिक यथार्थवादी दिखता है, और इसलिए कंप्यूटर पर मेमोरी उपयोग और गणना के मामले में अधिक खर्च होता है। एक छोटी संक्रमणकालीन दूरी कम दूरी पर सस्ता पानी का उत्पादन करेगी, और इसलिए दूरी पर बहुत अधिक दृश्य गुणवत्ता खो देगी, लेकिन प्रदर्शन में भी वृद्धि करेगी।
टिप्स
- विस्थापन दृश्यता को अवरुद्ध नहीं करते हैं, इसलिए यह सुनिश्चित करने के लिए कि नक्शा सील है, एक विश्व ब्रश बनाएं टूल्स/टूल्सनोड्रा विस्थापन के नीचे बनावट और इसके साथ मानचित्र को सील करें (अर्थात उस ब्रश के कोने स्काईबॉक्स के कोनों को स्पर्श करें)। पहले चरण की तरह, हमेशा सुनिश्चित करें कि मानचित्र को सील कर दिया गया है, अन्यथा वस्तुतः हर अनुकूलन तकनीक जिसका उल्लेख किया गया था, खिड़की से बाहर और स्रोत इंजन के काले शून्य में फेंक दी गई है।
- एरियापोर्टल बनाते समय (इसके साथ बनावट वाला ब्रश बनाकर) उपकरण/उपकरणसारेपोर्टल और इसे func_areaportal से बांधना), यह बहुत महत्वपूर्ण है कि किसी एरियापोर्टल के किनारे जिन्हें देखा नहीं जा रहा है, वे विश्व ब्रश को छू रहे हैं। उदाहरण के लिए, यदि आप एक एरियापोर्टल को डोरवे में रखना चाहते हैं, लेकिन उस डोरवे में func_detail से बंधा हुआ एक फ्रेम है, तो आप नहीं एरियापोर्टल ब्रश दरवाजे के फ्रेम को छूता है क्योंकि यह func_detail है (और चूंकि func_detail ब्रश दृश्यता को प्रभावित नहीं करते हैं, संकलन लॉग एक रिसाव के साथ वापस आ जाएगा)। इसके बजाय, एरियापोर्टल ब्रश दरवाजे की दीवारों, छत और फर्श को छूना चाहिए (जो सभी विश्व ब्रश होना चाहिए), दरवाजे की चौखट को काटते हुए। चिंता न करें कि चौखट के चारों ओर "z-क्लिपिंग" हो सकती है; फ्रेम अभी भी खेल में सही ढंग से प्रस्तुत किया जा रहा है।.. संकलक के दौरान उपयोग करने के लिए यह बस हैमर संपादक में है विवि.
- यह लेख मानता है कि आपको हैमर एडिटर के इंटरफेस (ब्रश बनाना, इकाइयाँ रखना, इकाइयाँ बांधना आदि) का बुनियादी ज्ञान है।
- हिंट ब्रश बनाते समय, केवल हिंट प्लेन (वे चेहरे जो बीएसपी को विभाजित करेंगे) के रूप में अभिनय करने वाले चेहरों की बनावट करें टूल्स/टूलशिंट बनावट। ब्रश पर हर दूसरे चेहरे की बनावट के साथ संकेत विमान के रूप में काम नहीं कर रहा है टूल्स/टूल्सस्किप, अन्यथा आप अपनी इच्छा से अधिक विसलीफ बना रहे होंगे।
- आप किसी एरिया-पोर्टल की ओपन/क्लोज्ड स्थिति को काम करने वाले दरवाजे से जोड़ सकते हैं जैसे func_door, func_door_rotating या इसी तरह की इकाई। ऐसा करने के लिए, जिस दरवाजे से आप एरियापोर्टल को लिंक करना चाहते हैं, उसे एक अद्वितीय "नाम" की आवश्यकता है। (दरवाजे को खोलने के लिए उस पर डबल-क्लिक करके नाम दें वस्तु गुण विंडो और इसे नीचे एक साधारण नाम दें नाम क्लास इंफो टैब में।) एक बार जब आपके पास दरवाजे का नाम हो, तो एरियापोर्टल पर जाएं वस्तु गुण और "लिंक्ड डोर का नाम" तक स्क्रॉल करें और उस दरवाजे का चयन करें जिससे आप एरियापोर्टल को लिंक करना चाहते हैं। इसके अलावा (और यह बहुत महत्वपूर्ण है) आपको सेट करने की आवश्यकता है प्रारम्भिक अवस्था क्षेत्र के पोर्टल के लिए प्रारम्भिक अवस्था दरवाजे के। यह क्या करता है यह सुनिश्चित करने के लिए कि जब दरवाजा बंद हो जाता है, तो एरियापोर्टल इसके साथ बंद हो जाता है। यदि आप इस बारे में उत्सुक हैं कि ओपन/क्लोज्ड एरियापोर्टल राज्य वास्तव में क्या निर्देशित करते हैं, यदि कोई एरियापोर्टल ओपन है, तो एरियापोर्टल के दूसरी तरफ दिखाई देने वाले सभी विसलीव्स प्रस्तुत किए जाते हैं। इसके विपरीत, यदि एरियापोर्टल बंद है, तो एरियापोर्टल के अलावा कुछ भी प्रस्तुत नहीं किया जाएगा। तो अगर वहाँ एक खुला दालान है जिसे आप हमेशा देख पाएंगे, तो प्रारम्भिक अवस्था एरियापोर्टल को ओपन पर सेट किया जाना चाहिए, बंद नहीं। और जब एक दरवाजे से जुड़ा होता है, तो आप वैसे भी दरवाजे के पीछे नहीं देख पाएंगे, इसलिए इसे बंद पर सेट करें यदि दरवाजा बंद हो जाता है (जब तक कि इसमें एक पारदर्शी खिड़की न हो, जो तब आपके पास एरियापोर्टल सेट होना चाहिए खुला और डॉन इसे दरवाजे से जोड़ने की जहमत भी न उठाएं)।
चेतावनी
- खोखले टूल से कभी भी जटिल ब्रश न बनाएं। कोने (ब्रश के कोने) एक दूसरे को काटेंगे और बस एक बड़ी मैला गंदगी पैदा करेंगे।
- केवल अंतिम उपाय के रूप में occluders का उपयोग करें। यह बहुत मेमोरी-इंटेंसिव है, इसलिए यदि किसी प्रोप को एरियापोर्टल वाले कमरे में सील किया जा सकता है या यदि विस्लीव्स को हिंट और स्किप ब्रश से विभाजित करना संभव है, तो ऑक्लुडर का उपयोग करने से ऑप्ट आउट करें।
- ओपन एरियापोर्टल अधिक मेमोरी-इंटेंसिव होते हैं क्योंकि विसलीव्स की गणना रीयलटाइम में की जाती है। जितनी बार संभव हो, बंद एरियापोर्टल या हिंट ब्रश का उपयोग करने की सलाह दी जाती है।