Q100195: Nuke Studio / Hiero से निर्यात की गई Nuke स्क्रिप्ट को कैसे अनुकूलित करें

अनुसरण करें

सारांश

'एक्सपोर्ट..' विकल्प का उपयोग करके Nuke स्क्रिप्ट निर्यात करते समय या 'क्रिएट कॉम्प' या 'क्रिएट कॉम्प स्पेशल...' के माध्यम से Nuke स्क्रिप्ट बनाते समय, Nuke Studio / Hiero से डिफ़ॉल्ट रूप से निर्यात किए गए नोड्स को बदलना वर्तमान में संभव नहीं है। .


अधिक जानकारी

निर्यात के समय, Nuke स्क्रिप्ट में जोड़े जाने वाले नोड्स hiero .core.nuke.ScriptWriter वर्ग के माध्यम से बनाए जाते हैं। डिफ़ॉल्ट नोड्स को मैन्युअल रूप से बदलने के लिए आप इस क्लास को ओवरराइड कर सकते हैं और आवश्यकतानुसार नोड नॉब्स को कस्टमाइज़ कर सकते हैं।

नीचे आप एक उदाहरण पा सकते हैं जिसमें बताया गया है कि रीड नोड नॉब्स को कैसे अनुकूलित किया जाए। स्क्रिप्ट इस प्रकार काम करती है:

1) मूल hiero .core.nuke.ScriptWriter वर्ग को इनहेरिट करना।

2) addNode() विधि को उपवर्गीकृत करना ताकि यह प्रत्येक नोड के लिए onNodeAdded() कॉल करे।

3) onNodeAdded() विधि को परिभाषित करना। यह विधि परिभाषित करती है कि किन नोड्स पर क्या परिवर्तन लागू किए जाने हैं और आवश्यक नोड सेटिंग्स को अनुकूलित करने के लिए संपादित किया जा सकता है।

4) संपादित संस्करण के साथ मूल स्क्रिप्टराइटर को ओवरराइड करना।


संपादित संस्करण का उपयोग करने के लिए, आपको पायथन स्क्रिप्ट को .nuke/Python/Startup पर सहेजना होगा।

यदि आपकी .nuke निर्देशिका में Python और स्टार्टअप निर्देशिका पहले से मौजूद नहीं हैं, तो आपको उन्हें मैन्युअल रूप से बनाने की आवश्यकता होगी। इन निर्देशिकाओं के बारे में अधिक जानकारी यहां पाई जा सकती है:
Q100142: Nuke Studio और स्टार्टअप पर Hiero में Hiero Python कोड को कैसे निष्पादित करें

 """
Example showing how to override the ScriptWriter class for a Studio/ Hiero export
"""
 

import hiero.core

OriginalScriptWriter = hiero .core.nuke.ScriptWriter

class CustomScriptWriter (OriginalScriptWriter) :

 
def __init__ (self) :
   OriginalScriptWriter.__init__(self)
   
 
def addNode (self, node) :
   
# List of nodes that should actually be added to the script
   nodesToAdd = []
   
   
# node might actually be a list of nodes.  If it is, call onNodeAdded for each one
   
if isinstance(node, hiero .core.nuke.Node):
     nodesToAdd.append( self.onNodeAdded(node) )
   
else :
     
try :
       
for n in node:
         nodesToAdd.append( self.onNodeAdded(n) )
     
except :
       
pass
       
   
# Call base class to add the node(s)
   OriginalScriptWriter.addNode(self, nodesToAdd)
   
 
def onNodeAdded (self, node) :
   
""" Callback when a node is added. Return the node that should actually be added. """
   
if node.type() == "Read" : # Change for the type of node you want to edit
     
# Make adjustments to all nodes of that type
     node.setKnob(
"on_error" , "black" ) # This sets each Read nodes missing frames to black
     node.setKnob(
"raw" , True ) # This sets disables the input color transform

   
return node
     
         
hiero .core.nuke.ScriptWriter = CustomScriptWriter


पायथन स्क्रिप्ट को नीचे दिए गए लिंक से डाउनलोड किया जा सकता है।

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

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