Create a ticket
Follow

Q100195: NukeStudio / Hiero இலிருந்து Nuke ஸ்கிரிப்ட் ஏற்றுமதியை எவ்வாறு தனிப்பயனாக்குவது

பொழிப்பும்

'எக்ஸ்போர்ட் ..' விருப்பத்தைப் பயன்படுத்தி ஒரு நியூக் ஸ்கிரிப்டை ஏற்றுமதி செய்யும் போது அல்லது நியூக் ஸ்கிரிப்டை 'கிரேட் காம்ப்' அல்லது 'காம்ப் ஸ்பெஷலை உருவாக்கு ...' வழியாக நியூக் ஸ்கிரிப்டை உருவாக்கும் போது, நியூக்ஸ்டுடியோ / ஹீரோவிலிருந்து முன்னிருப்பாக ஏற்றுமதி செய்யப்பட்ட முனைகளை மாற்ற முடியாது.

மேலும் தகவல்

ஏற்றுமதி நேரத்தில், நியூக் ஸ்கிரிப்ட்டில் சேர்க்கப்படும் முனைகள் hiero.core.nuke.ScriptWriter வகுப்பு வழியாக உருவாக்கப்படுகின்றன. இயல்புநிலை முனைகளை கைமுறையாக மாற்ற நீங்கள் இந்த வகுப்பை மேலெழுதலாம் மற்றும் தேவைக்கேற்ப முனை கைப்பிடிகளைத் தனிப்பயனாக்கலாம்.

ரீட் நோட் கைப்பிடிகளை எவ்வாறு தனிப்பயனாக்குவது என்பதை விளக்கும் ஒரு உதாரணத்தை கீழே காணலாம்.

ஸ்கிரிப்ட் பின்வருமாறு:

1) அசல் hiero.core.nuke.ScriptWriter வகுப்பைப் பெறுதல்

2) addNode () முறையை துணைப்பிரிவு செய்வதன் மூலம் ஒவ்வொரு கணுக்கும் onNodeAdded () ஐ அழைக்கிறது

3) onNodeAdded () முறையை வரையறுத்தல்.
இந்த முறை எந்த முனைகளுக்கு எந்த மாற்றங்களை பயன்படுத்த வேண்டும் என்பதை வரையறுக்கிறது மற்றும் தேவையான முனை அமைப்புகளைத் தனிப்பயனாக்க திருத்தலாம்.

4) அசல் ஸ்கிரிப்ட்ரைட்டரை திருத்தப்பட்ட பதிப்போடு மேலெழுதும்.

திருத்தப்பட்ட பதிப்பைப் பயன்படுத்த நீங்கள் பைதான் ஸ்கிரிப்டை .nuke / Python / Startup இல் சேமிக்க வேண்டும். உங்கள் .nuke கோப்பகத்தைக் கண்டுபிடிப்பது பற்றிய தகவல்களை இங்கே காணலாம்: Q100048: Nuke அடைவு இருப்பிடங்கள்

உங்கள் .nuke கோப்பகத்தில் பைதான் மற்றும் தொடக்க கோப்பகங்கள் ஏற்கனவே இல்லை என்றால், நீங்கள் அவற்றை கைமுறையாக உருவாக்க வேண்டும்.

"""
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(
"auto_alpha" , True ) # This sets each Read nodes missing frames to black

   
return  node
     
         
hiero .core.nuke.ScriptWriter = CustomScriptWriter

பைதான் ஸ்கிரிப்டை கீழே உள்ள இணைப்பிலிருந்து பதிவிறக்கம் செய்யலாம்.

Was this article helpful?

We're sorry to hear that

Please tell us why
6 out of 6 found this helpful

Comments