சுருக்கம்
இந்தக் கட்டுரை Nuke ல் ஒரு callback-ஐ எவ்வாறு அமைப்பது மற்றும் callback-களுக்குப் பயன்படுத்த சரியான Python கட்டளைகளை எவ்வாறு கண்டுபிடிப்பது என்பதை விளக்குகிறது.
கிடைக்கக்கூடிய கால்பேக்குகள் மற்றும் எடுத்துக்காட்டுகளின் முழு பட்டியலையும் Nuke பைதான் டெவலப்பர் வழிகாட்டியில் காணலாம்.
மேலும் தகவல்
கால்பேக் என்பது Nuke சூழலில் சேர்க்கப்படும் குறியீட்டின் ஒரு பகுதியாகும், இது பல்வேறு நிகழ்வுகள் (நோடை உருவாக்குதல் அல்லது ஸ்கிரிப்டை ஏற்றுதல் போன்றவை) Nuke நிகழும் போதெல்லாம் பைதான் தானாகவே செயல்படுகிறது.
இது பல சூழ்நிலைகளில் பயனுள்ளதாக இருக்கும், எடுத்துக்காட்டாக, ஒரு முனை உருவாக்கப்படும்போது குமிழ் மதிப்புகளுக்கான விருப்பங்களை அமைக்க, ஒரு ஸ்கிரிப்ட்டின் அதிகரிக்கும் பதிப்புகளை தானாகவே சேமிக்க அல்லது ஒரு புதிய திட்டத்தை அமைக்கும் போது திட்ட அமைப்புகளை மாற்ற.
Nuke இல் புதிதாக உருவாக்கப்பட்ட ஒவ்வொரு Write node க்கும், Write node இன் "file type" ஐ EXR ஆகவும், "file" பாதையை ஒரு தற்காலிக இடத்திற்கு அமைக்கவும் ஒரு callback ஐ எவ்வாறு உருவாக்குவது என்பதற்கான உதாரணத்தை கீழே காணலாம்.
திரும்ப அழைப்பை அமைக்க, பின்வரும் படிகளை எடுக்கவும் (ஒவ்வொரு படிநிலை பற்றிய கூடுதல் தகவலுக்கு தொடர்ந்து படிக்கவும்):
- கட்டளைகள் சரியாக வேலை செய்கிறதா என்பதை உறுதிப்படுத்த Nuke ஸ்கிரிப்ட் எடிட்டரில் அவற்றைச் சோதிக்கவும்.
- உங்கள் callback செயல்பாட்டை வரையறுத்து, அதை callback ஆகச் சேர்த்து, .nuke கோப்புறையின் உள்ளே init.py இல் சேமிக்கவும்.
- அடுத்த முறை Nuke திறக்கும்போது, குறிப்பிட்ட நிகழ்வு நிகழும்போது கால்பேக் செயல்படுத்தப்படும்.
1. Nuke ஸ்கிரிப்ட் எடிட்டரில் கட்டளைகள் சரியாக வேலை செய்கிறதா என்று சோதிக்கவும்.
ஒரு கால்பேக்கை உருவாக்க, முதலில் ஒரு Nuke அமர்வில் உள்ள ஸ்கிரிப்ட் எடிட்டரில் பைதான் கட்டளைகளைச் சோதிப்பது பெரும்பாலும் உதவியாக இருக்கும். கிடைக்கக்கூடிய பைதான் API கட்டளைகள் பற்றிய கூடுதல் தகவல்களை Nuke பைதான் டெவலப்பர் வழிகாட்டி மற்றும் Nuke பைதான் API குறிப்பு ஆகியவற்றில் காணலாம் .
ஸ்கிரிப்டிங்கிற்கான முனையின் கைப்பிடிகளின் பெயர்கள் பொதுவாக குமிழியின் மேல் வட்டமிடும்போது காட்டப்படும் லேபிளில் காணலாம்.
எடுத்துக்காட்டாக, Write node இல் உள்ள "file" knob ஐ file பயன்படுத்தி ஸ்கிரிப்டிங்கிற்காகக் குறிப்பிடலாம், மேலும் "file type" knob ஐ file_type வழியாக ஸ்கிரிப்டிங்கிற்காகக் குறிப்பிடலாம்:
ஒரு குறிப்பிட்ட knob இன் தற்போதைய மதிப்பைப் பெற, எடுத்துக்காட்டாக file_type , ஸ்கிரிப்ட் எடிட்டரில் பின்வரும் கட்டளைகளை இயக்கவும்:
node = nuke .toNode(“Write1”)
# replace Write1 with the name of your Write node if it is different
print(node["file_type"].getValue())
இது பின்வருவனவற்றை கன்சோலில் அச்சிடும்:
# node = nuke .toNode("Write1")
# print(node["file_type"].getValue())
# Result: 2.0
இந்த நிலையில், 2.0 என்பது கோப்பு வகைகளின் கீழ்தோன்றும் பட்டியலில் உள்ள " dpx " இன் குறியீடாகும். பைதான் வழியாக file_type ஐ " exr " ஆக மாற்ற, ஸ்கிரிப்ட் எடிட்டரில் பின்வரும் கட்டளையை உள்ளிடவும்:
node["file_type"].setValue(3)
இது எங்கள் திரும்ப அழைப்பில் சேர்க்க விரும்பும் கட்டளைகளில் ஒன்றாகும். இலக்கு "கோப்பு" பாதையை ஒரு தற்காலிக இடத்திற்கு அமைக்கும் மற்றொரு கட்டளை இதுபோல் தெரிகிறது:
node["file"].setValue("/tmp/test.####.exr")
2. உங்கள் callback செயல்பாட்டை வரையறுத்து, அதை callback ஆகச் சேர்த்து, .nuke கோப்புறையின் உள்ளே init.py இல் சேமிக்கவும்.
உங்கள் கால்பேக் செய்ய விரும்பும் அனைத்து செயல்களையும் ஒரே பைதான் செயல்பாட்டில் வரையறுத்து, கீழே உள்ள எடுத்துக்காட்டு குறியீட்டில் காட்டப்பட்டுள்ளபடி, இந்த செயல்பாட்டை OnUserCreate கால்பேக்காகச் சேர்க்கவும்:
import nuke
def writeSettings():
node = nuke .thisNode()
node["file_type"].setValue(3)
node["file"].setValue("/tmp/test.####.exr")
# add callback to execute this every time a Write node is created
nuke .addOnUserCreate(writeSettings, nodeClass="Write")
இதை நகலெடுத்து ஒரு உரை திருத்தியில் ஒட்டவும், கோப்பை சேமிக்கவும்.
கோப்பை init.py என மறுபெயரிடுங்கள், இதைச் செய்யும்போது உங்கள் கோப்பு உலாவியில் கோப்பு நீட்டிப்புகள் காட்டப்படுவதை உறுதிசெய்து கொள்ளுங்கள், கோப்பு நீட்டிப்பு .py தான் , .txt அல்லது வேறு அல்ல என்பதை சரிபார்க்கவும் .
இந்தக் கோப்பை உங்கள் .nuke கோப்புறையில் வைக்க வேண்டும், இது Nuke தொடக்கத்தில் செருகுநிரல்களைத் தேடும் முதல் இடமாகும். உங்கள் .nuke கோப்புறையைக் கண்டுபிடிக்க இந்தக் கட்டுரையைப் பார்க்கவும்: Q100048: இயல்புநிலை .nuke கோப்பகத்தைக் கண்டறிதல்
init.py கோப்பு மற்றும் அதன் செயல்பாடு குறித்த கூடுதல் விவரங்களுக்கு, பின்வரும் கட்டுரையைப் பார்வையிடவும்: Q100490: init.py மற்றும் menu.py தொடக்க ஸ்கிரிப்ட் கோப்புகள் என்றால் என்ன?
3. அடுத்த முறை Nuke திறக்கும்போது, குறிப்பிட்ட நிகழ்வு நிகழும்போது கால்பேக் செயல்படுத்தப்படும்.
நீங்கள் இதைச் செய்த பிறகு, கால்பேக் Nuke சூழலில் சேர்க்கப்படும், அடுத்த முறை நீங்கள் பயன்பாட்டைத் துவக்கி புதிய எழுது முனைகளை உருவாக்கும்போது, அவை file மற்றும் file_type அமைப்புகளைப் பயன்படுத்தும்.
குறிப்பு: ஒரு குறிப்பிட்ட வகுப்பின் ஒவ்வொரு முனையும் சேமிக்கப்பட்ட ஸ்கிரிப்டைத் திறக்கும்போது ஏற்றப்பட்டவை உட்பட குறிப்பிட்ட அமைப்புகளைப் பயன்படுத்த விரும்பினால், நீங்கள் nuke nuke க்கு பதிலாக nuke .addOnCreate callback nuke பயன்படுத்தலாம்.
மேலும் உதவி
உங்கள் கால்பேக்குகளை அமைப்பதில் ஏதேனும் சிக்கல்களை எதிர்கொண்டால், தயவுசெய்து ஒரு ஆதரவு டிக்கெட்டைத் திறந்து, நீங்கள் எதிர்கொள்ளும் சிக்கலையும், இதுவரை நீங்கள் எடுத்துள்ள சரிசெய்தல் நடவடிக்கைகளையும் எங்களுக்குத் தெரியப்படுத்துங்கள்.
ஆதரவு டிக்கெட்டை எவ்வாறு திறப்பது என்பது பற்றிய கூடுதல் தகவலுக்கு, ஆதரவு டிக்கெட்டை எவ்வாறு திரட்டுவது என்ற கட்டுரையைப் பார்க்கவும் .
We're sorry to hear that
Please tell us why