Q100487: செயலில் உள்ள Nuke Studio / Hiero அமர்வில் பணி முன்னமைவுகளை எவ்வாறு புதுப்பிப்பது

சுருக்கம்

செயலில் உள்ள Nuke Studio / Hiero அமர்வில் உங்கள் பணி முன்னமைவுகளை எவ்வாறு புதுப்பிக்கலாம் என்பதை இந்தக் கட்டுரை கோடிட்டுக் காட்டும்.

மேலும் தகவல்

இயல்பாக, Nuke Studio மற்றும் Hiero பயன்பாடு மறுதொடக்கம் செய்யப்பட்ட பின்னரே அதன் Task Presets ஐ புதுப்பிக்கும். இருப்பினும், Python ஐப் பயன்படுத்துவதன் மூலம், பகிரப்பட்ட இடத்தில் சேமிக்கப்பட்ட முன்பே இருக்கும் Task Presets ஐ மீண்டும் ஏற்றலாம் அல்லது உங்கள் Task Presets கோப்பகத்தில் புதியவற்றைச் சேர்க்கலாம். இதை எவ்வாறு அடையலாம் என்பதற்கான எளிய எடுத்துக்காட்டு பின்வருமாறு:

 #remove all presets that are currently loaded as this prevents them being duplicated
R = hiero .exporters.registry
presetNamesToRemove = hiero .exporters.registry.processorPresetNames()

for presetName in presetNamesToRemove:
R.removeProcessorPreset(presetName)

#reload the presets in again
#where ~/.nuke/TaskPresets/16.0/ is the path to your Export Presets
R.loadPresets("~/.nuke/TaskPresets/16.0") #change this path to your Export Presets directory

 மேலே உள்ள குறியீடு தற்போது ஏற்றப்பட்ட பணி முன்னமைவுகளின் பட்டியலைக் கண்டுபிடித்து அவற்றை நீக்குவதன் மூலம் செயல்படுகிறது, இது hiero .exporters.registry.loadPresets() உடன் மீண்டும் ஏற்றப்படும்போது அவை நகலெடுக்கப்படுவதை நிறுத்தும் .

மேலே உள்ள குறியீடு அப்படியே செயல்பட, நீங்கள் உங்கள் பணி முன்னமைவுகளைப் புதுப்பிக்க விரும்பும் ஒவ்வொரு முறையும் ஸ்கிரிப்ட் எடிட்டரில் அதை இயக்க வேண்டும். இருப்பினும், குறியீட்டை ஒரு பொத்தான் அல்லது விட்ஜெட்டில் சுற்றி வைப்பதன் மூலம் இதை நீங்கள் உருவாக்கலாம். எடுத்துக்காட்டாக, பின்வரும் குறியீடு இதை வலது கிளிக் மெனுவில் சேர்க்கும்:

import hiero .core, hiero .ui, nuke , glob, os
from hiero .core import events

try:
from PySide2 import QtWidgets
from PySide2.QtWidgets import QMessageBox

except:
from PySide6 import QtWidgets
from PySide6.QtWidgets import QMessageBox
from PySide6 import QtGui as QtWidgets


class refreshTaskPresets(QtWidgets.QAction):
    def __init__(self, event): 
        QtWidgets.QAction.__init__(self, "", None) 
        self.event = event
        self.triggered.connect(self.doit)

  def doit(self):
        presetPath = os.path.expanduser("~")+"/.nuke/TaskPresets/16.0" #change this path to your Export Presets directory

        #checking if the path given path contains xml files
        if len(glob.glob(presetPath+"/*/*/*.xml")) > 1:
            
            #remove all presets that are currently loaded as this prevents them being duplicated
            R = hiero .exporters.registry

            presetNamesToRemove = hiero .exporters.registry.processorPresetNames()

            for presetName in presetNamesToRemove:
                R.removeProcessorPreset(presetName)

            #reload the presets in again
            R.loadPresets(presetPath)

            #if the path is invalid, a warning error will appear
        else:
            msgBox = QMessageBox()
            msgBox.setText("Task Presets could not be refreshed. Please check if the path set in refreshTaskPresets.py is valid: "+presetPath)
          msgBox.exec()


def AddActionToMenu(event):
    menu = event.menu
    menu.addAction("Refresh Task Presets", lambda: refreshTaskPresets(event).trigger())


events.registerInterest((events.EventType.kShowContextMenu), AddActionToMenu)


இந்த ஸ்கிரிப்ட், முதல் எடுத்துக்காட்டு குறியீட்டை QAction ஆக QWidget இல் சேர்ப்பதன் மூலம் செயல்படுகிறது. பின்னர் பயனரால் ஸ்கிரிப்ட்டில் அமைக்கப்பட்ட பாதையில் (
presetPath ) xml கோப்புகள் உள்ளதா என்பதை இது சரிபார்க்கிறது, மேலும் அவ்வாறு இருந்தால், பணி முன்னமைவுகள் புதுப்பிக்கப்படுகின்றன. இருப்பினும், அவ்வாறு இல்லையென்றால், பயனருக்கு ஒரு பிழை செய்தி காட்டப்படும்.

இந்த ஸ்கிரிப்டை உங்கள் ~/.nuke/Python/Startup டைரக்டரியில் சேர்க்கலாம், இப்போது உங்கள் வலது கிளிக் மெனுவில் Refresh Task Presets விருப்பத்தைப் பார்க்க முடியும். உதாரணமாக, நீங்கள் Timeline இல் வலது கிளிக் செய்தால்:

மேலும் படிக்க

உங்கள் பணி முன்னமைக்கப்பட்ட XML கோப்புகளை எங்கு கண்டுபிடிப்பது என்பது பற்றிய கூடுதல் தகவல்கள் பின்வரும் கட்டுரையில் உள்ளன:
Q100294: Nuke Studio மற்றும் Hiero ஏற்றுமதி முன்னமைவுகளுக்கான கோப்பக இருப்பிடம்

Nuke Studio மற்றும் Hiero வில் Python தொடக்க ஸ்கிரிப்ட்களைப் பயன்படுத்துவது பற்றிய கூடுதல் தகவல்களை பின்வரும் கட்டுரையில் காணலாம்: Q100142: தொடக்கத்தில் NukeStudio வில் Hiero Python குறியீட்டை எவ்வாறு செயல்படுத்துவது

குளோப் தொகுதி பற்றிய கூடுதல் தகவல்களை பைத்தானின் ஆவணத்தில் காணலாம்.

Nuke PySide6 உடன் பணிபுரிவது பற்றிய சில தகவல்களை நீங்கள் இங்கே காணலாம், இருப்பினும், மேலும் தகவலுக்கு நீங்கள் Qt for Python Documentation ஐப் பார்க்க வேண்டும்.

    We're sorry to hear that

    Please tell us why