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 सत्र के लिए निर्यातक के पास जुड़ जाएंगे। यह जांचने के लिए कि टोकन सही ढंग से काम कर रहे हैं, टोकन को पथ में जोड़ें और निर्यातक में पथ पूर्वावलोकन की जांच करें, इस स्थिति में पूर्ण एचडी फुटेज का रिज़ॉल्यूशन वापस आ जाता है:

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

अग्रिम पठन

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

निर्यात प्रणाली

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

Q100048: Nuke निर्देशिका स्थान

Python/Startup/init.py के बारे में जानकारी यहां पाई जा सकती है:

Q100142: स्टार्टअप पर Nuke Studio में Hiero Python कोड को कैसे निष्पादित करें

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

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