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

लक्षण

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

कारण

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

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

अधिक जानकारी के लिए कृपया Nuke के ऑनलाइन दस्तावेज़ के कमांड लाइन ऑपरेशन देखें।

संकल्प

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


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

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

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

कहाँ:

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

    विंडोज़ : C:\Program Files\Nuke16.0v4\Nuke16.0.exe
    OSX : /Applications/ Nuke 16.0v4/ Nuke 16.0v4.app/Contents/MacOS/ Nuke 16.0
    लिनक्स : /usr/local/ Nuke 16.0v4/ Nuke 16.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 पायथन डेवलपर गाइड में भी मिल सकती है।

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

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