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

Follow

சுருக்கம்

'ஏற்றுமதி..' விருப்பத்தைப் பயன்படுத்தி Nuke ஸ்கிரிப்டை ஏற்றுமதி செய்யும் போது அல்லது 'Create Comp' அல்லது 'Create Comp Special...' வழியாக Nuke ஸ்கிரிப்டை உருவாக்கும் போது, Nuke Studio / Hiero இலிருந்து இயல்புநிலையாக ஏற்றுமதி செய்யப்பட்ட முனைகளை மாற்றுவது தற்போது சாத்தியமில்லை. .


மேலும் தகவல்

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

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

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

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

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

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


திருத்தப்பட்ட பதிப்பைப் பயன்படுத்த, நீங்கள் பைதான் ஸ்கிரிப்டை .nuke/Python/Startup இல் சேமிக்க வேண்டும்.

Python மற்றும் Startup கோப்பகங்கள் உங்கள் .nuke கோப்பகத்தில் ஏற்கனவே இல்லை என்றால், நீங்கள் அவற்றை கைமுறையாக உருவாக்க வேண்டும். இந்த கோப்பகங்கள் பற்றிய கூடுதல் தகவல்களை இங்கே காணலாம்:
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


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

We're sorry to hear that

Please tell us why