एक टिकट बनाएं
अनुसरण करें

Q100248: Nuke में कॉलबैक जोड़ना

सारांश

यह आलेख समझाएगा कि Nuke में कॉलबैक कैसे सेट किया जाए और कॉलबैक के लिए उपयोग करने के लिए सही पायथन कमांड कैसे खोजें।

उपलब्ध कॉलबैक और उदाहरणों की पूरी सूची Nuke Python Developer Guide के लिए Nuke 10.0 या Nuke 10.5 में देखी जा सकती है

अधिक जानकारी

एक कॉलबैक Nuke पर्यावरण में जोड़े गए कोड का एक टुकड़ा है जो विभिन्न घटनाओं (जैसे कि नोड बनाना या स्क्रिप्ट लोड करना) में Nuke में होने पर पायथन फ़ंक्शन को स्वचालित रूप से कॉल करता है।

यह कई स्थितियों में उपयोगी है, उदाहरण के लिए, जब नोड बनाया जाता है तो नॉब वैल्यू के लिए प्राथमिकताएं सेट करने के लिए, किसी स्क्रिप्ट के वृद्धिशील संस्करणों को स्वचालित रूप से सहेजने के लिए या एक नई परियोजना स्थापित करते समय प्रोजेक्ट सेटिंग्स को बदलने के लिए।

नीचे आप एक कॉलबैक बनाने के तरीके का एक उदाहरण पा सकते हैं, जो एक नए नोड के 'फ़ाइल प्रकार' को पूर्ववर्ती के लिए 'फ़ाइल' पथ पर सेट करेगा और अस्थायी स्थान पर 'फ़ाइल' पथ को सेट करेगा, Nuke में हर नए बनाए गए लिखें नोड्स पर।

कॉलबैक सेट करने के लिए, कृपया निम्नलिखित कदम उठाएँ (कृपया प्रत्येक चरण की अधिक जानकारी के लिए पढ़ें):

  1. उन कमांड का परीक्षण करें जिन्हें आप Nuke के स्क्रिप्ट एडिटर में उपयोग करना चाहते हैं ताकि यह सुनिश्चित हो सके कि वे सही तरीके से काम करते हैं।
  2. अपने कॉलबैक फ़ंक्शन को परिभाषित करें और इसे अपने .nuke फ़ोल्डर के रूप में init.py के रूप में सहेजी गई टेक्स्ट फ़ाइल में कॉलबैक के रूप में जोड़ें।
  3. अगली बार जब आप Nuke खोलते हैं, तो कॉलबैक निष्पादित किया जाएगा जब निर्दिष्ट घटना होती है।

1. उन आदेशों का परीक्षण करें जिन्हें आप Nuke के स्क्रिप्ट एडिटर में उपयोग करना चाहते हैं ताकि वे सही ढंग से काम कर सकें

कॉलबैक बनाने के लिए, अक्सर पहले Nuke सत्र के अंदर स्क्रिप्ट एडिटर में पायथन कमांड्स का परीक्षण करना सहायक होता है। आप Nuke Python Developer Guide और Nuke Python API संदर्भ में उपलब्ध पायथन एपीआई कमांड के बारे में अधिक जानकारी प्राप्त कर सकते हैं

स्क्रिप्टिंग के लिए नोड के नॉब्स के नाम आमतौर पर नॉब के ऊपर मंडराने पर प्रदर्शित लेबल में पाए जा सकते हैं।

उदाहरण के लिए, लिखें नोड में 'फ़ाइल' नॉब को 'फ़ाइल' का उपयोग करके स्क्रिप्टिंग के लिए संदर्भित किया जा सकता है, और 'फ़ाइल प्रकार' नॉब को 'file_type' के माध्यम से स्क्रिप्टिंग के लिए संदर्भित किया जाता है:


किसी विशेष नॉब का वर्तमान मान प्राप्त करने के लिए, उदाहरण के लिए 'फ़ाइल प्रकार', स्क्रिप्ट एडिटर में निम्नलिखित कमांड चलाएँ:

node = nuke.toNode(“Write1”)
# replace Write1 with the name of
# your Write node if it is different

print node["file_type"].getValue() 

ये सांत्वना के लिए निम्नलिखित प्रिंट करेंगे:

# Result: print node["file_type"].getValue()
# Result: 2.0

2.0 इस मामले में फ़ाइल प्रकारों की ड्रॉपडाउन सूची में 'dpx' का सूचकांक है।

पायथन के माध्यम से 'फ़ाइल प्रकार' को 'एक्सआर' में बदलने के लिए, स्क्रिप्ट एडिटर में निम्नलिखित कमांड दर्ज करें:

node["file_type"].setValue(3)

यह एक आदेश है जिसे हम अपने कॉलबैक में जोड़ना चाहते हैं। अस्थायी स्थान पर गंतव्य 'फ़ाइल' पथ सेट करने वाला दूसरा ऐसा दिखता है:

node["file"].setValue("/tmp/test.####.exr")

2. अपने कॉलबैक फ़ंक्शन को परिभाषित करें और इसे अपने .nuke फ़ोल्डर के अंदर init.py के रूप में सहेजी गई टेक्स्ट फ़ाइल में कॉलबैक के रूप में जोड़ें

उन सभी क्रियाओं को परिभाषित करें जिन्हें आप चाहते हैं कि आपका कॉलबैक एकल पायथन फ़ंक्शन में प्रदर्शन करे और इस फ़ंक्शन को एक ऑनउसरक्रीट कॉलबैक के रूप में जोड़ें, जैसा कि नीचे दिए गए उदाहरण कोड में दिखाया गया है:

 import nuke 

def writeSettings():
node = nuke.thisNode()
node["file_type"].setValue(3)
node["file"].setValue("/tmp/test.####.exr")

# add callback to execute this every time a Write node is created
nuke .addOnUserCreate(writeSettings, nodeClass="Write")


इसे टेक्स्ट एडिटर में कॉपी और पेस्ट करें, और फाइल को सेव करें।

फ़ाइल को init.py में नाम बदलें और सुनिश्चित करें कि जब आप ऐसा करते हैं तो फ़ाइल एक्सटेंशन आपके फ़ाइल ब्राउज़र में दिखाए जाते हैं, यह सत्यापित करने के लिए कि फ़ाइल एक्सटेंशन .py है और .txt या अलग नहीं है।


इस फ़ाइल को आपके .nuke फ़ोल्डर में रखा जाना चाहिए, जो पहला स्थान है जहां Nuke स्टार्टअप पर प्लग-इन की तलाश करेगा। कृपया अपने .nuke फ़ोल्डर का पता लगाने के लिए इस लेख का संदर्भ लें: Q100048: Nuke निर्देशिका स्थान

3. अगली बार जब आप Nuke खोलते हैं, तो निर्दिष्ट ईवेंट होने पर कॉलबैक निष्पादित किया जाएगा

आपके द्वारा ऐसा किए जाने के बाद, कॉलबैक को Nuke परिवेश में जोड़ दिया जाएगा और अगली बार जब आप एप्लिकेशन लॉन्च करेंगे और नए राइट नोड बनाएंगे, तो इनमें 'फ़ाइल' और 'फ़ाइल प्रकार' सेटिंग लागू होंगी।

नोट: यदि आप किसी विशेष वर्ग के प्रत्येक नोड को विशिष्ट सेटिंग लागू करना चाहते हैं, जो पुराने, सहेजे गए स्क्रिप्ट से लोड किए गए हैं, तो आप nuke.addOnUserCreate के बजाय nuke .addOnCreate कॉलबैक का उपयोग कर सकते हैं

यदि आप अपने कॉलबैक को स्थापित करने में किसी भी समस्या का सामना कर रहे हैं, तो कृपया एक समर्थन टिकट खोलें और हमें बताएं कि आप जिस समस्या का सामना कर रहे हैं और अब तक आपके द्वारा उठाए गए समस्या निवारण चरण हैं।

समर्थन टिकट खोलने के तरीके के बारे में अधिक जानकारी के लिए, कृपया ' समर्थन पोर्टल का उपयोग करना ' लेख देखें।

क्या यह लेख उपयोगी था?
/

We're sorry to hear that!

Please tell us why.
8 में से 4 के लिए उपयोगी रहा

टिप्पणियां