Q100490: init.py और menu.py स्टार्टअप स्क्रिप्ट फ़ाइलें क्या हैं?

सारांश

यह आलेख बताता है कि init.py और menu.py फ़ाइलें क्या हैं और उन्हें Nuke के साथ कैसे उपयोग किया जा सकता है, जिसे नीचे दिए गए उप-अनुभागों में बताया गया है:



अधिक जानकारी

Nuke अपने Python API (एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस) के माध्यम से उपयोगकर्ताओं को एप्लिकेशन के बड़े हिस्से को अनुकूलित करने की अनुमति देता है। इसमें Nuke का रंग बदलने से लेकर डिफ़ॉल्ट नॉब्स मान सेट करने, संपूर्ण मेनू संरचना बदलने और Nuke स्क्रिप्ट निर्माण को स्वचालित करने तक, कई तरह की सुविधाएँ शामिल हैं। यह अनुकूलन क्षमता स्टूडियो पाइपलाइनों में Nuke बहुत उपयोगी और शक्तिशाली बनाती है।

इस प्रकार के अधिकांश अनुकूलन Nuke के स्क्रिप्ट संपादक में चलाए जा सकते हैं। उदाहरण के लिए, यदि कोई उपयोगकर्ता चाहता है कि बनाए गए सभी ColorCorrect नोड्स का Gain मान डिफ़ॉल्ट रूप से 2 हो, तो स्क्रिप्ट संपादक में nuke .knobDefault("ColorCorrect.gain", "2") चलाने से उस Nuke सत्र में भविष्य में बनाए गए सभी ColorCorrect नोड्स के लिए ऐसा ही होगा:


हालाँकि, अगली बार जब कोई भिन्न Nuke सत्र शुरू किया जाएगा, तो नव निर्मित ColorCorrect नोड्स का डिफ़ॉल्ट लाभ मान 1 होगा। इन डिफ़ॉल्ट मान परिवर्तनों को स्थायी बनाने के लिए, स्टार्टअप स्क्रिप्ट को प्रत्येक Nuke सत्र के लिए नॉब डिफ़ॉल्ट सेट करने की आवश्यकता होगी।

स्टार्टअप स्क्रिप्ट पायथन स्क्रिप्ट होती हैं जो Nuke के लॉन्च होने पर चलती हैं और इनका इस्तेमाल nuke .knobDefault("ColorCorrect.gain", "2") जैसे कमांड चलाने के लिए किया जा सकता है। इसका मतलब है कि Nuke के भविष्य के किसी भी सत्र में ColorCorrect नोड्स बनेंगे, जिसमें Gain नॉब 2 पर सेट होगा।

स्टार्टअप स्क्रिप्ट स्थान

Nuke Nuke प्लग-इन पथ में सूचीबद्ध किसी भी पथ में स्टार्टअप स्क्रिप्ट खोजता है। प्रत्येक ऑपरेटिंग सिस्टम के लिए डिफ़ॉल्ट Nuke 16.0v4 प्लग-इन पथ इस प्रकार हैं:

विंडोज़

C:\Users\ <userName> \.nuke
C:\Program Files\Common Files\Nuke\16.0\plugins
C:\Program Files\Nuke16.0v4\plugins\user
C:\Program Files\Nuke16.0v4\plugins\caravr
C:\Program Files\Nuke16.0v4\plugins\air
C:\Program Files\Nuke16.0v4\plugins\icons
C:\Program Files\Nuke16.0v4\plugins

लिनक्स

/home/ <userName> /.nuke
/usr/local/ Nuke /16.0/plugins
/usr/local/ Nuke 16.0v4/plugins/user
/usr/local/ Nuke 16.0v4/plugins/ caravr
/usr/local/ Nuke 16.0v4/plugins/air
/usr/local/ Nuke 16.0v4/plugins/icons
/usr/local/ Nuke 16.0v4/plugins

मैक ओएस

/Users/ <userName> /.nuke
/Library/Application Support/ Nuke /16.0/plugins
/Applications/ Nuke 16.0v4/ Nuke 16.0v4.app/Contents/MacOS/plugins/user /Applications/ Nuke 16.0v4/ Nuke 16.0v4.app/Contents/MacOS/plugins/ caravr /Applications/ Nuke 16.0v4/ Nuke 16.0v4.app/Contents/MacOS/plugins/air /Applications/ Nuke 16.0v4/ Nuke 16.0v4.app/Contents/MacOS/plugins/icons /Applications/ Nuke 16.0v4/ Nuke 16.0v4.app/Contents/MacOS/plugins

Nuke द्वारा उपयोग किए जा रहे प्लग-इन पथों के वर्तमान सेट को स्क्रिप्ट संपादक में नीचे दिए गए कमांड को चलाकर पाया जा सकता है:

print(nuke.pluginPath())

Nuke स्टार्टअप स्क्रिप्ट को उनके सूचीबद्ध क्रम के विपरीत क्रम में स्कैन करता है, इसलिए ऊपर दी गई सूचियों में से, Nuke 16.0v4/plugins सबसे पहले स्कैन किया जाता है, और <userName> /.nuke सबसे अंत में स्कैन किया जाता है।

इस सूची में अन्य पथ भी जोड़े जा सकते हैं, या तो nuke .pluginAddPath() का उपयोग करके सूची की शुरुआत में पथ जोड़ें, या nuke .pluginAppendPath() उपयोग करके सूची के अंत में पथ जोड़ें। प्लग-इन पथ सूची को NUKE _PATH पर्यावरण चर को संशोधित करके भी संपादित किया जा सकता है।

INIT.PY बनाम MENU.PY

लॉन्च के समय Nuke द्वारा कॉल की जाने वाली दो स्टार्टअप स्क्रिप्ट init.py और menu.py फ़ाइलें हैं। Nuke द्वारा इन फ़ाइल नामों को Nuke प्लग-इन पथों में सक्रिय रूप से खोजा जाता है और मिलने पर निष्पादित किया जाता है।

  • init.py फ़ाइल को किसी भी समय किसी भी Nuke सत्र को आरंभ करने पर बुलाया जाता है , जैसे कि Nuke , Nuke Studio या टर्मिनल मोड में Nuke लॉन्च करते समय या यहां तक कि फ़्रेम सर्वर प्रक्रियाएँ।
  • जब भी Nuke का GUI संस्करण लॉन्च किया जाता है, तो menu.py फ़ाइल Nuke कॉल किया जाता है, इसलिए इसे फ़्रेम सर्वर प्रक्रियाओं की तरह Nuke के केवल टर्मिनल सत्रों के लिए कॉल नहीं किया जाता है।

अधिकांश मामलों में, अनुकूलन को init.py फ़ाइल में रखा जाना चाहिए क्योंकि इसे सभी प्रकार के Nuke सत्रों के लिए कहा जाता है, मुख्य अपवाद GUI से संबंधित कुछ भी है, जैसे कि कस्टम मेनू बनाना या Nuke के डिफ़ॉल्ट मेनू को समायोजित करना।

Nuke प्लग-इन पथ को पहले उल्टे क्रम में प्लग-इन की पूरी सूची में लूप करके, सभी init.py फ़ाइलों को ढूँढ़कर और उन्हें निष्पादित करके संसाधित करता है। इसके बाद, यह पूरी प्लग-इन पथ सूची में फिर से लूप करेगा, menu.py फ़ाइलों को ढूँढ़कर और उन्हें निष्पादित करके।

विभिन्न स्टार्टअप स्क्रिप्ट निर्देशिकाओं का उपयोग करना

हालाँकि Nuke प्लग-इन पथ की सभी निर्देशिकाओं को स्कैन करता है, Nuke स्वचालित रूप से init.py या menu.py फ़ाइलें नहीं बनाता है। Nuke 16.0v4/plugins जैसी कुछ निर्देशिकाओं में पहले से ही एक होती है, लेकिन अन्य पथों के लिए, उन्हें बनाना होगा।

अधिकांश उपयोगकर्ता init.py और menu.py फ़ाइलों को अपनी .nuke निर्देशिका में जोड़ते हैं, जो Nuke प्लग-इन पथ सूची में पहला पथ है। चूँकि .nuke निर्देशिका उपयोगकर्ता के अपने क्षेत्र के अंदर होती है, इसलिए menu.py को वहाँ जोड़ने से केवल उसी उपयोगकर्ता के Nuke सत्र प्रभावित होंगे, और एप्लिकेशन इंस्टॉल फ़ाइलों तक पहुँचने की कोशिश करने की तुलना में अनुमति संबंधी समस्याएँ आमतौर पर कम होती हैं, इसलिए उपयोगकर्ताओं द्वारा Nuke इंस्टॉलेशन में गलती से कुछ बदलने की संभावना कम होती है।

नोट: यदि स्टार्टअप स्क्रिप्ट Nuke /16.0/plugins निर्देशिका में जोड़ी जाती हैं, तो वे स्क्रिप्ट Nuke के सभी संस्करण रिलीज़ को प्रभावित करेंगी, इसलिए इस स्थिति में, Nuke के सभी Nuke 16.0v# रिलीज़ प्रभावित होंगे। यदि स्टार्टअप स्क्रिप्ट Nuke 16.0v4/plugins/user निर्देशिका में बनाने के बाद जोड़ी जाती हैं, तो वे स्क्रिप्ट उस एक विशिष्ट Nuke रिलीज़ को प्रभावित करेंगी।

नोट: हम Nuke 16.0v4/plugins निर्देशिका में init.py और menu.py फ़ाइलों को बदलने की अनुशंसा नहीं करते हैं, क्योंकि यदि इन्हें गलत तरीके से बदल दिया जाता है तो Nuke अपेक्षित रूप से चलने या लॉन्च करने में विफल हो सकता है।

स्टार्टअप स्क्रिप्ट का उपयोग करना

जैसा कि पहले बताया गया है, स्टार्टअप स्क्रिप्ट का उपयोग Nuke पर कई तरह के अनुकूलन लागू करने के लिए किया जा सकता है। पाइपलाइन वातावरण के लिए एक उपयोगी फ़ंक्शन nuke .pluginAddPath() है।

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

NUKE बनाम HIERO बनाम NUKE STUDIO स्टार्टअप स्क्रिप्ट

जब Nuke लॉन्च किया जाता है, तो यह init.py और menu.py फ़ाइलों के लिए Nuke प्लग-इन पथों को स्कैन करता है और उन्हें निष्पादित करता है।

जब Hiero लॉन्च होता है, तो यह init.py , menu.py और प्लग-इन पथों में पाई जाने वाली Python/Startup और Python/StartupUI निर्देशिकाओं में मौजूद किसी भी अन्य Python फ़ाइलों के लिए Hiero प्लग-इन पथों को स्कैन करता है, फिर उन्हें निष्पादित करता है। इसके बारे में अधिक जानकारी यहाँ पाई जा सकती है:
Q100373: Nuke Studio और Hiero में अतिरिक्त प्लग-इन पथ कैसे जोड़ें

जब Nuke Studio लॉन्च किया जाता है, तो यह init.py और menu.py फ़ाइलों के लिए Nuke प्लग-इन पथों को स्कैन करता है और उन्हें निष्पादित करता है, फिर Hiero प्लग-इन पथों को Hiero के समान फ़ाइलों के लिए स्कैन करता है, और फिर उन्हें भी निष्पादित करता है।

Hiero प्लग-इन पथ में अतिरिक्त पायथन फ़ाइलें जोड़ते समय, यह सुनिश्चित करने के लिए फ़ाइलों की जाँच की जानी चाहिए कि यदि वे आरंभिक हैं, तो स्टार्टअप पर कॉल किए जाने पर वे कोई प्रतिकूल प्रतिक्रिया उत्पन्न नहीं करेंगी। जबकि Nuke प्लग-इन पथ में संग्रहीत पायथन फ़ाइलें तब तक आरंभिक नहीं होंगी जब तक कि उपयोगकर्ता कोड द्वारा विशेष रूप से कॉल न की जाएँ।



अग्रिम पठन

init.py और menu.py फ़ाइलों के बारे में अधिक जानकारी नीचे पाई जा सकती है:

    हम चाहते हैं कि खेद व्यक्त करते हैं

    कृपया हमें बताएँ कि