Q100458: Nuke Studio निर्यात टोकन को अनुकूलित करना

सारांश

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


अधिक जानकारी

Nuke Studio एक्सपोर्टर के अंदर एक्सपोर्ट टोकन विशेष कीवर्ड होते हैं जो एक्सपोर्ट किए जाने वाले कार्य के आधार पर एक स्ट्रिंग में बदल जाते हैं। उदाहरण के लिए, {shot} एक्सपोर्ट टोकन एक्सपोर्ट किए जाने वाले शॉट का नाम लौटाता है, और यह टोकन केवल शॉट्स एक्सपोर्ट करते समय ही उपलब्ध होता है। अन्य टोकन, जैसे {user} टोकन, जो एक्सपोर्टर का उपयोग करने वाले उपयोगकर्ता का नाम लौटाता है, का उपयोग सीक्वेंस, शॉट्स या क्लिप एक्सपोर्ट करते समय किया जा सकता है।

उपयोग योग्य टोकन की सूची निम्न प्रकार से देखी जा सकती है:

  • पथ टेम्पलेट पर माउस घुमाना और टूल टिप पढ़ना

  • किसी सक्रिय पथ टेम्पलेट पर राइट क्लिक करें और कीवर्ड चुनें...

अतिरिक्त टोकन जोड़ना

पायथन का उपयोग करके अतिरिक्त टोकन जोड़े जा सकते हैं, जिससे वे विशेष वातावरण में बेहतर ढंग से काम कर सकते हैं, जैसे कि उत्पादन पाइपलाइन में।

ऐसा करने के लिए, रिज़ॉल्वर को जोड़ने की आवश्यकता होती है, जिन्हें किसी विशेष कीवर्ड के लिए बुलाया जाता है और टोकन के स्थान पर अंतिम पथ में उपयोग किए जाने वाले स्ट्रिंग को वापस लौटाते हैं।

रिज़ॉल्वर को निम्न के इंस्टैंस को ओवरराइड करके जोड़ा जा सकता है:

hiero .core.TaskPresetBase.addUserResolveEntries

यदि आप मुख्य hiero .core.TaskPresetBase.addUserResolveEntries को ओवरराइड करते हैं, तो रिज़ॉल्वर सभी निर्यात प्रोसेसर में जोड़ दिए जाएंगे।

हालाँकि, यदि आप addUserResolveEntries के अन्य उदाहरणों में से किसी एक को ओवरराइड करते हैं, जैसे कि hiero .exporters.FnShotProcessor.ShotProcessorPreset.addUserResolveEntries , तो रिज़ॉल्वर केवल शॉट निर्यात प्रोसेसर में जोड़ा जाएगा।

वैश्विक निर्यात टोकन जोड़ना

नीचे वैश्विक निर्यात टोकन जोड़ने का एक उदाहरण दिया गया है:

 import hiero .core
def global_addUserResolveEntries(self, resolver):
resolver.addResolver("{proj}", "First four characters of the project.", lambda keyword, task: task.projectName()[:4])

# This token can be applied to ANY export process, so add it to the base class
hiero .core.TaskPresetBase.addUserResolveEntries = global_addUserResolveEntries

यह उदाहरण task.projectName()[:4] को कॉल करके प्रोजेक्ट नाम के पहले 4 अक्षर लौटाता है, जो प्रोजेक्ट का पूरा नाम लौटाता है, फिर केवल पहले 4 अक्षर लौटाने के लिए पायथन स्ट्रिंग सिंटैक्स का उपयोग करता है।

addResolver() फ़ंक्शन को तीन तर्कों की आवश्यकता होती है, टोकन का नाम (कीवर्ड), टोकन का विवरण, जो टूलटिप और सेलेक्ट कीवर्ड डायलॉग में दिखाई देगा, और रिज़ॉल्वर, जो वह फ़ंक्शन है जो टोकन के स्थान पर पथ में उपयोग किए जाने वाले स्ट्रिंग को लौटाता है।

शॉट विशिष्ट निर्यात टोकन जोड़ना

नीचे एक उदाहरण दिया गया है कि शॉट विशिष्ट निर्यात टोकन कैसे जोड़ें:

 from hiero .exporters.FnShotProcessor import ShotProcessorPreset
def shot_addUserResolveEntries(self, resolver):
def plateWidth(task):
trackItem = task._item
media = trackItem.source().mediaSource()
return str(media.width())

resolver.addResolver("{platewidth}", "Returns the width of the source plate", lambda keyword, task: plateWidth(task))

resolver.addResolver("{plateheight}", "Returns the height of the source plate", lambda keyword, task: str(task._item.source().mediaSource().height()))

# This token will only be applied to the Shot Processor
ShotProcessorPreset.addUserResolveEntries = shot_addUserResolveEntries

यह उदाहरण स्रोत प्लेट की चौड़ाई/ऊँचाई की स्ट्रिंग लौटाता है। चौड़ाई plateWidth() फ़ंक्शन को कॉल करके ज्ञात की जाती है, जो मीडिया स्रोतों की स्ट्रिंग .width() विधि लौटाता है। ऊँचाई भी इसी तरह ज्ञात की जाती है, हालाँकि यह किसी अन्य फ़ंक्शन को कॉल करने के बजाय एक ही पंक्ति में की जाती है। चूँकि दोनों रिवॉल्वर shot_addUserResolveEntries() फ़ंक्शन में जोड़े जाते हैं, इसलिए addUserResolveEntries ओवरराइड करने पर वे दोनों शॉट निर्यात प्रोसेसर में जुड़ जाते हैं।

स्क्रिप्ट एडिटर में ऊपर दिए गए उदाहरणों को चलाने से वे टोकन उस Nuke Studio सत्र के लिए एक्सपोर्टर में जुड़ जाएँगे। यह जाँचने के लिए कि टोकन सही ढंग से काम कर रहे हैं, टोकन को पथ में जोड़ें और एक्सपोर्टर में पथ पूर्वावलोकन की जाँच करें, इस स्थिति में पूर्ण HD फ़ुटेज का रिज़ॉल्यूशन लौटाया जाता है:

टोकन को आपके Nuke Studio सेटअप में स्थायी रूप से जोड़ा जा सकता है, इसके लिए आपको उन्हें .nuke/Python/Startup निर्देशिका में Python (.py) फ़ाइल में जोड़ना होगा। अगर वे पहले से मौजूद नहीं हैं, तो आपको .nuke में /Python/Startup निर्देशिकाएँ बनानी पड़ सकती हैं।

अग्रिम पठन

Nuke Studio निर्यात प्रणाली के बारे में अधिक जानकारी हमारे दस्तावेज़ में यहां पाई जा सकती है:
निर्यात प्रणाली

.nuke निर्देशिका खोजने के बारे में जानकारी यहां मिल सकती है:
Q100048: Nuke निर्देशिका स्थान

.nuke/ Python/Startup निर्देशिका के बारे में जानकारी यहां पाई जा सकती है:
Q100142: स्टार्टअप पर Nuke Studio में Hiero Python कोड कैसे निष्पादित करें?

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

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