संक्षेप में: एनवायरनमेंट गुणवत्ता उससे सीमित है जो कलाकार एक मिनट से कम में ढूँढ़ सकते हैं। कुछ हज़ार एसेट के बाद फ़ोल्डर-अनुशासन स्केल करना बंद कर देता है: खोज जमा टैग ले लेते हैं, थंबनेल स्कैन-गति तय करते हैं, डुप्लिकेट को सफ़ाई नहीं एक नीति चाहिए, और माइग्रेशन को वीरतापूर्ण नहीं अवसरवादी होना चाहिए। यहाँ एक प्रणाली है जो वृद्धि को झेलती है, नक़ल करने लायक़ ठोस परंपराओं और इस कारण के साथ कि हर एक स्केल पर क्यों मायने रखती है।
पुस्तकालय किताबों का ढेर नहीं: यह किताबें जमा खोजने की एक प्रणाली है। आपका एसेट संग्रह तभी पुस्तकालय है जब दूसरा हिस्सा मौजूद हो; वरना यह एक बहुत महँगा ढेर है।
एक अस्त-व्यस्त लाइब्रेरी की असली लागत
जब सही चट्टान ढूँढ़ने में चार मिनट लगते हैं, कलाकार एक के बाद ढूँढ़ना बंद कर देते हैं: दृश्य उन्हीं बीस याद किए एसेट पर सिमट जाते हैं जबकि हज़ारों ख़रीदे पैक बिना खुले पड़े रहते हैं।
नुक़सान स्क्रीन पर दिखता है: दोहराव जो खिलाड़ी महसूस करते हैं, उन पैकों पर ख़र्च किया पैसा जो कभी शिप नहीं होते, और हर सेट-ड्रेसिंग घंटे पर एक मौन कर। नियम कहने का एक तीखा तरीक़ा है: वह एसेट जो लगभग एक मिनट में न मिले प्रभावी रूप से मौजूद नहीं है। आपने उसके लिए भुगतान किया, उसे रखते हैं, बैकअप लेते हैं, और वह कभी किसी लेवल में नहीं आएगा। खोजने-योग्यता गृहकार्य नहीं है; यह आपकी दृश्य विविधता की ऊपरी सीमा है। समान एसेट बजट वाले दो स्टूडियो दृश्यतः भिन्न दिखने वाले गेम शिप करेंगे अगर एक अपने एसेट ढूँढ़ सकता है और दूसरा नहीं।
नामकरण: उबाऊ, क्रमबद्ध-योग्य, असंदिग्ध
एक परंपरा तभी काम करती है जब वह एक सपाट सूची में उपयोगी ढंग से क्रमबद्ध हो: प्रकार-उपसर्ग, श्रेणी, मटीरियल या प्रजाति, आकार, सूचकांक। कोई स्पेस नहीं, कोई "final_v2_NEW" नहीं।
एक सिद्ध रूप:
SM_Rock_Granite_Large_01 (static mesh)
SM_Rock_Granite_Large_01_LOD1
T_Rock_Granite_D / _N / _R (textures: diffuse, normal, roughness)
M_Rock_Granite (material)
MI_Rock_Granite_Mossy (material instance)
जो नियम इसे स्केल पर चालू रखते हैं: प्रति अवधारणा एक शब्द (Rock, न कि Rock/Stone/Boulder परस्पर बदलकर), सबसे अधिक फ़िल्टर किए जाने वाले क्षेत्र को पहले रखें ताकि क्रमबद्धता उपयोगी रूप से समूहित करे, सूचकांकों को शून्य से भरें (01, न कि 1) ताकि 10, 2 से पहले न आए, और परंपरा को एक पृष्ठ पर लिखें जिसे हर कोई पहले दिन पढ़े। सटीक योजना, ठीक एक के होने से कहीं कम मायने रखती है, और आज शुरू करना, आप जिस भी आकार पर हों, क्योंकि 50,000 फ़ाइलों पर पिछड़े रूप से नाम चढ़ाना वह परियोजना है जिसे कोई कभी पूरा नहीं करता और जिसे टालने का हर कोई अफ़सोस करता है।
फ़ोल्डर एक बात कहते हैं; टैग बाक़ी कहते हैं
एक फ़ाइल एक फ़ोल्डर में रहती है पर उसके कई गुण होते हैं: फ़ोल्डरों को स्वामित्व और पाइपलाइन (कौन-सा पैक, कौन-सा प्रोजेक्ट) सांकेतित करना चाहिए, टैग वह सब सांकेतित करते हैं जिससे आप खोजेंगे: बायोम, मटीरियल, मिज़ाज, आकार, शैली।
बहुआयामीपन को गहरे फ़ोल्डर-वृक्षों से लड़ना वह क्लासिक Props/Nature/Trees/Dead/Moss/ क़ब्रिस्तान पैदा करता है जहाँ कुछ भी फिर कभी नहीं मिलता, क्योंकि एक काई भरी मरी सन्टी एक साथ पाँच फ़ोल्डरों की है और केवल एक में रह सकती है, तो हमेशा ग़लत चार में होती है। काम करता विभाजन खोज को अंदर आने का प्राथमिक रास्ता और फ़ोल्डर-वृक्ष को मात्र पाइपलाइन बनाता है।
अधिकांश एनवायरनमेंट काम को कवर करने वाली टैग-शब्दावली टीमों की अपेक्षा से छोटी है: बायोम (जंगल, रेगिस्तान, शहरी…), मटीरियल (लकड़ी, ग्रेनाइट, जंग लगा…), स्थिति (बेदाग़, घिसा, खंडहर), आकार-वर्ग, और शैली: पाँच अक्ष, शायद चालीस शब्द, एक बार तय किए और लागू किए। अनुशासन शब्दावली को बंद रखने में है: कोई जो हर नया पर्याय गढ़ता है ("अपक्षयित" "घिसा" के बगल में) वह दोनों टैगों का मूल्य आधा कर देता है, क्योंकि एक की खोज दूसरे को चूक जाती है।
थंबनेल खोज-गुणवत्ता तय करते हैं
फ़ाइलनामों की एक सूची लाइब्रेरी नहीं है: सुसंगत थंबनेल (एक ही कोण, तटस्थ प्रकाश) आँख को प्रति मिनट सैकड़ों उम्मीदवार स्कैन करने देते हैं, जो सेट-ड्रेसिंग की असली ज़रूरी गति है।
मानव दृष्टि एक थंबनेल-ग्रिड का मूल्यांकन नामों को पार्स करने से कहीं तेज़ करती है; सुसंगति ही उसे काम कराती है, क्योंकि जब प्रस्तुति समान हो तो एसेट में अंतर दृश्य रहते हैं। यादृच्छिक कोण से यादृच्छिक प्रकाश में खींची चट्टान अपना आकार छुपाती है; तटस्थ प्रकाश में मानक तीन-चौथाई दृश्य में वही चट्टान उसे तुरंत प्रकट करती है। इन्हें बैच में रेंडर करें: एक थंबनेल पाइपलाइन किसी भी बड़ी परियोजना के पहले हफ़्ते में अपनी क़ीमत वसूल कर लेती है।
थंबनेल ठीक वहाँ भी हैं जहाँ स्केल चुभता है: एक लाख को ब्राउज़ करना वर्चुअलाइज़ेशन, कैशिंग और एक ऐसी पाइपलाइन माँगता है जो पृष्ठभूमि में रेंडर करे न कि पकड़ते समय एडिटर को अटका दे। वही इंजीनियरिंग समस्या शाब्दिक रूप से यही कारण है कि हमने Numivo में एक कंटेंट ब्राउज़र बनाया जो दस लाख एसेट पर सहज रहता है, तत्काल थंबनेल और वैकल्पिक AI टैगिंग के साथ जो "कहीं वह काई भरा चट्टान-टुकड़ा" को दो-शब्द की खोज में बदल देती है। ब्राउज़र समस्या और नामकरण समस्या भिन्न परतों पर एक ही समस्या हैं: दोनों "मुझे एक चीज़ चाहिए" और "मैं उस चीज़ को देख रहा हूँ" के बीच की दूरी को ढहाने के बारे में हैं।
डुप्लिकेट समस्या, भौतिक बनाई गई: हज़ारों लगभग समान इकाइयाँ। कौशल एक खोजने-योग्य विहित संस्करण रखना और बाक़ी को चुपचाप अवनत करना है, न कि ऐसा कुछ हटाना जिस पर एक दीवार अब भी टिकी है।
डुप्लिकेट: एक रखें, बाक़ी को टैग करें
निकट-डुप्लिकेट को देखते ही न हटाएँ (संदर्भ टूटते हैं): एक विहित संस्करण चुनें, बाक़ी को duplicate टैग करें, डिफ़ॉल्ट खोज से फ़िल्टर करें, और तभी सचमुच सेवानिवृत्त करें जब कोई उन्हें संदर्भित न करे।
हर दीर्घजीवी परियोजना अतिव्यापी पैक जमा करती है: चार विक्रेताओं से चार ग्रेनाइट शिलाखंड, केवल एक हैंडल से भिन्न तीन पीपे। दो-चरण नीति (अभी अवनत, बाद में हटाएँ) खोजने-योग्यता की जीत को शून्य टूटन-जोखिम पर तुरंत पकड़ लेती है: डुप्लिकेट खोज से ग़ायब होते हैं पर उस हर दृश्य के लिए डिस्क पर रहते हैं जो उन्हें पहले से संदर्भित करता है। संदर्भ-स्वीप त्रैमासिक चलाएँ; छह महीने बिना संदर्भ आमतौर पर क़ब्रिस्तान को सुरक्षित रूप से थोक में साफ़ कर देते हैं।
टालने योग्य विफलता-मोड डुप्लिकेट को जिस दिन आप पाएँ उसी दिन हटाना है: कुछ न कुछ हमेशा उसे संदर्भित करता है जिसे आपने हटाया, एक लेवल टूटता है, और टीम सफ़ाई से डरना सीखती है: जिसके बाद कोई कुछ भी साफ़ नहीं करता। अवनत-फिर-हटाएँ सफ़ाई को सुरक्षित रखता है, और सुरक्षित सफ़ाई ही एकमात्र सफ़ाई है जो होती रहती है।
माइग्रेशन: अराजकता से प्रणाली तक
एक बिग-बैंग सफ़ाई के लिए उत्पादन कभी न रोकें: आज से हरनई चीज़ पर परंपरा लागू करें, फिर पुराने कंटेंट को अवसरवादी रूप से माइग्रेट करें: जो भी एक लेवल खींचता है, रास्ते में उसका नाम बदलता और टैग होता है।
अवसरवादी नियम का एक सुंदर गुण है: जो एसेट मायने रखते हैं वे पहले माइग्रेट होते हैं, परिभाषा से, क्योंकि वही उपयोग हो रहे हैं। एक साल बाद अछूता जो कुछ भी कोल्ड स्टोरेज का है, खोज-परिणामों का नहीं, और उसे कभी माइग्रेट करने की ज़रूरत ही न थी। इसके बजाय वीरतापूर्ण सप्ताहांत सफ़ाई का प्रयास करती टीमें आधी नाम बदली लाइब्रेरी पैदा करती हैं: दोनों चरम से सख़्ती से बदतर, क्योंकि अब खोज-परिणाम दो परंपराएँ मिलाते हैं और किसी पर भरोसा नहीं किया जा सकता।
चुराने लायक़ मैदानी आँकड़े
- खोजने-योग्यता बजट: 1 मिनट से कम, वरना एसेट कार्यात्मक रूप से मौजूद नहीं
- एनवायरनमेंट काम को कवर करती टैग-शब्दावली: ~5 अक्ष, ~40 बंद शब्द
- सुसंगत रेंडरिंग के साथ थंबनेल स्कैन-दर: प्रति मिनट सैकड़ों
- डुप्लिकेट नीति: तुरंत अवनत करें, ~6 महीने बिना संदर्भ के बाद हटाएँ
- नामकरण: शून्य-भरे सूचकांक, प्रति अवधारणा एक शब्द, एक पृष्ठ नियम
मिनी-FAQ
क्या AI टैग मैन्युअल टैगिंग को बदलने के लिए काफ़ी अच्छे हैं? अधिकांश को बदलने के लिए काफ़ी अच्छे: स्वचालित टैग बड़ा हिस्सा (विषय, मटीरियल, रंग) ढोते हैं जबकि मनुष्य विवेक-निर्णय (शैली की उपयुक्तता, प्रोजेक्ट-विशिष्ट शब्द) जोड़ते हैं। संयोजन अकेले किसी को भी हराता है, यही कारण है कि AI टैगिंग पूर्ण प्रतिस्थापन के बजाय एक ऑप्ट-इन सहायक परत के रूप में सबसे अच्छा काम करती है।
एक साझा लाइब्रेरी या प्रति-प्रोजेक्ट? साझा स्रोत लाइब्रेरी, प्रति-प्रोजेक्ट इंपोर्ट। लाइब्रेरी सब कुछ पूर्ण टैगों के साथ रखती है; एक प्रोजेक्ट केवल वही खींचता है जो शिप करता है, बिल्ड को दुबला और कुक-समय को छोटा रखता है। दोनों को मिलाना (पूरी लाइब्रेरी को संदर्भित करता एक प्रोजेक्ट) यही तरीक़ा है जिससे बिल्ड आकार फूल जाते हैं।
बाइनरी एसेट के वर्शनिंग का क्या? लाइब्रेरी एक बग़ीचा है, संग्रह नहीं: अपनी DCC पाइपलाइन में स्रोत फ़ाइलों को वर्शन करें, लाइब्रेरी को केवल-वर्तमान-सर्वोत्तम रखें। खोज-परिणामों में रहते ऐतिहासिक संस्करण नाम-बिल्ला पहने शोर हैं, और वे सबके लिए हर खोज धीमी करते हैं।
टीम को परंपरा सचमुच पालन कराने के लिए क्या करूँ? सही चीज़ को आसान चीज़ बनाएँ: एक सेव/इंपोर्ट टेम्पलेट जो नाम-पैटर्न पहले से भरे, एक लिंट-चरण जो परंपरा-बाहर फ़ाइलें चिह्नित करे, और थंबनेल जो परंपरा-अनुरूप एसेट को खोजने-योग्य और परंपरा-बाहर को अदृश्य बनाएँ। औज़ार से लागू परंपरा टिकती है; टोका-टोकी से लागू नहीं टिकती।
बदसूरत शुरू करें, अभी शुरू करें: एक पृष्ठ की नाम-शीट, दस मूल टैग, और सुसंगत थंबनेल अगली तिमाही में शुरू होती एक सुंदर वर्गीकरण-प्रणाली को हरा देते हैं। लाइब्रेरियाँ बग़ीचे हैं: निरंतर छोटी निराई, कभी एक वीरतापूर्ण सफ़ाई नहीं।