लक्षण
आपने 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 पायथन डेवलपर गाइड में भी मिल सकती है।
हम चाहते हैं कि खेद व्यक्त करते हैं
कृपया हमें बताएँ कि