Q100273: Nuke टर्मिनल सत्र में पथ प्रतिस्थापन कैसे सेट करें

अनुसरण करें

लक्षण

आपने Nuke में Edit > Preferences... के तहत अपना पथ प्रतिस्थापन सेट किया है, लेकिन कमांड लाइन रेंडरिंग या पायथन टर्मिनल मोड के दौरान फ़ाइल पथ सही ढंग से प्रतिस्थापित नहीं किए गए हैं। आपका पथ प्रतिस्थापन इस प्रकार दिखेगा:

pathSubs.png


कारण

फ़ाइल पथों को कमांड लाइन रेंडर या पायथन टर्मिनल मोड पर सही ढंग से प्रतिस्थापित नहीं किया जा सकता है क्योंकि जब Nuke को GUI मोड के बाहर चलाया जाता है तो प्राथमिकताएँ लोड नहीं होती हैं।

टर्मिनल मोड (जीयूआई के बिना) आपको जीयूआई लॉन्च किए बिना पायथन कमांड दर्ज करने की अनुमति देता है।
इस मोड के दौरान एक >>> कमांड प्रॉम्प्ट प्रदर्शित होता है। कमांड लाइन मोड (बैच मोड) आपको अपनी Nuke स्क्रिप्ट (जीयूआई के बिना) प्रस्तुत करने के लिए टर्मिनल में कमांड चलाने की अनुमति देता है।
कृपया अधिक जानकारी के लिए कमांड लाइन ऑपरेशंस पर Nuke ऑनलाइन सहायता देखें।

संकल्प

इसे हल करने के लिए, आप कमांड लाइन तर्क --remap का उपयोग कर सकते हैं, जो पथ प्रतिस्थापन जोड़े की एक सूची लेगा और केवल सक्रिय Nuke सत्र के लिए काम करेगा, या इसे सभी में लगातार बनाए रखने के लिए अपनी init.py फ़ाइल में एक फ़ाइल नामफ़िल्टर कॉलबैक सेट करेगा। Nuke सत्र.

वर्तमान Nuke सत्र

टर्मिनल मोड में Nuke चलाते समय ध्वज का उपयोग कैसे किया जाता है इसका एक उदाहरण यहां दिया गया है:

nuke -t --remap "X:/path,Y:,A:,B:/anotherpath"

कहाँ:

  • nuke उपयुक्त Nuke निष्पादन योग्य स्थापना स्थान का संदर्भ देता है:

    विंडोज़ : C:\Program Files\Nuke14.0v5\Nuke14.0.exe
    OSX : /एप्लिकेशन/ Nuke 14.0v5/ Nuke 14.0v5.app/Contents/MacOS/ Nuke 14.0
    लिनक्स : /usr/local/ Nuke 14.0v5/ Nuke 14.0

  • X:/path से शुरू होने वाले किसी भी पथ को Y: से शुरू करने के लिए परिवर्तित कर दिया जाता है।
  • A: से शुरू होने वाले किसी भी पथ को B:/anotherpath से शुरू करने के लिए परिवर्तित कर दिया जाता है।

विभिन्न ऑपरेटिंग सिस्टमों के बीच पथों को प्रतिस्थापित करने के लिए, आपका कमांड उदाहरण के लिए इस प्रकार दिखेगा:

nuke -t --remap "/home/project/shot/,C:/project/shot"

ध्यान दें: पथ मैपिंग केवल वर्तमान Nuke सत्र पर लागू होती है और वे Nuke GUI चलाते समय उपयोग की जाने वाली Preferences.nk फ़ाइल को प्रभावित नहीं करते हैं।


एकाधिक Nuke सत्र

कई Nuke सत्रों में अपने पथ प्रतिस्थापन को लगातार बनाए रखने के लिए आप फ़ाइलनामफ़िल्टर कॉलबैक का उपयोग कर सकते हैं। निम्नलिखित उदाहरण दिखाता है कि पिछले उदाहरण के समान परिदृश्य के लिए इसे कैसे सेट अप करें:

import nuke 

def myFilenameFilter(filename):
filename = filename.replace( 'X:/path', 'Y:/' )
filename = filename.replace( 'A:/', 'B:/anotherpath' )

return filename

nuke .addFilenameFilter(myFilenameFilter)

इस कोड को सभी टर्मिनल सत्रों में निष्पादित करने के लिए, आपको कोड को अपनीinit.py फ़ाइल में जोड़ना होगा।

फ़ाइलनामफ़िल्टर कॉलबैक के बारे में अधिक जानकारी Nuke पायथन डेवलपर गाइड में भी पाई जा सकती है।

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

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