एक टिकट बनाएं
अनुसरण करें

Q100170: कटाना में बनावट को संभालना

सारांश

बनावट पुस्तकालयों और स्टूडियो पाइपलाइनों द्वारा विभिन्न तरीकों से विभिन्न तरीकों से नियंत्रित किया जाता है और कटाना कुछ सामान्य सम्मेलनों का पालन करते हुए, बनावट असाइन करने के लिए एक लचीली रूपरेखा प्रदान करता है।

नीचे अर्नोल्ड और रेंडरमैन दोनों के साथ काम करने के लिए इन विकल्पों में से कुछ का सारांश दिया गया है। कृपया संलग्न उदाहरण दृश्य भी देखें जो यहां बताए गए दोनों दृष्टिकोणों को प्रदर्शित करता है।

अधिक जानकारी

बनावट की घोषणा करने के लिए सामग्री विशेषताओं का उपयोग करना

प्रत्येक वस्तु को अपनी बनावट देने का सबसे सरल तरीका है प्रति वस्तु एक सामग्री बनाना और स्पष्ट रूप से बनावट में स्ट्रिंग मापदंडों के रूप में बनावट की घोषणा करना। प्रत्येक वस्तु को तब संबंधित सामग्री सौंपी जाती है।

यह दृष्टिकोण सबसे अधिक श्रम-गहन है, खासकर जब एक दृश्य के साथ काम करना जिसमें बड़ी संख्या में ऑब्जेक्ट होते हैं, और लचीलेपन की कमी होती है जब एक सामग्री में परिवर्तन करना पड़ता है।

अक्सर कई ऑब्जेक्ट एक ही सामग्री को साझा कर सकते हैं, लेकिन अलग-अलग बनावट को सौंपा जाना चाहिए। इस मामले में यह दृश्य सेट करना संभव है ताकि प्रत्येक वस्तु अपने स्वयं के बनावट को चुन ले:

बनावट को घोषित करने के लिए ऑब्जेक्ट विशेषताओं का उपयोग करना

सामग्री पर बनावट सेट करने के बजाय, प्रदान की जाने वाली वस्तुएं एक मनमाना विशेषता के माध्यम से प्रासंगिक बनावट फ़ाइल को इंगित कर सकती हैं।

रेंडरमैन प्राइवर्स

रेंडरमैन का उपयोग करते समय, रेंडरमैन प्राइमर के रूप में टेक्सचर फाइल रेंडरर को पास की जा सकती है।

कटाना में किसी भी स्ट्रिंग विशेषता जिसे textures.xxx कहा जाता है, स्वतः रेंडरमैन को xxx नामक प्राइमर के रूप में लिखा जाता है । यदि आपके shader में समान नाम का स्ट्रिंग पैरामीटर है, तो RenderMan इस शेंडर पैरामीटर को सेट करने के लिए ज्यामिति से प्राइमर के मान का उपयोग करेगा।

अपने बनावट का नाम ज्यामिति पर एक मनमाना विशेषता में निहित है, तो आप इन texture.xxx प्रारूप कि RenderMan द्वारा मान्यता प्राप्त हो जाएगा में जिम्मेदार बताते हैं स्थापित करने के लिए एक OpScript उपयोग कर सकते हैं।

रेंडरमैन प्राइमरों का उपयोग करके एक उदाहरण दृश्य सेट करने के लिए, निम्नलिखित कार्य करें:

  1. सहायता> मुझे एक टट्टू चाहिए पर क्लिक करके एक कैमराक्रिएट और दो पोनी नोड्स जोड़ें । सुनिश्चित करें कि आप पोनीज़ का नाम दें।
  2. विशेषता 'ज्यामिति.आर्बिटवर्ट.टेक्स फ़ाइल' बनाने के लिए एटिकेट्स नोड्स का उपयोग करें। इसमें से एक पर 'flag_uk.tx' और दूसरे पर 'flag_usa.tx' सेट करें।
  3. मर्ज नोड का उपयोग करके सभी नोड्स मर्ज करें।
  4. एक सामग्री बनाएं और उसमें एक RMSGPSurface Shader जोड़ें।
  5. MaterialAssign नोड का उपयोग करके सामग्री को रूट / वर्ल्ड / जियो // * को असाइन करें।
  6. PxrStdAreaLight के साथ GafferThree नोड जोड़ें।
  7. अब OpScript नोड बनाएं जो टेक्सचर को हैंडल करेगा।
    - एक कस्टम सीईएल स्थान पर इसे लागू करें: / रूट / दुनिया / जियो // //। इसका मतलब यह है कि ओपस्क्रिप्ट को भू के नीचे सभी वस्तुओं पर पुनरावर्ती रूप से लागू किया जाएगा।
    - बनावटपथ नामक एक उपयोगकर्ता पैरामीटर जोड़ें और उस मूल्य को सेट करें जहां कटाना के साथ शामिल डेमो के लिए बनावट संग्रहीत हैं, उदाहरण के लिए
    Linux पर या / / https://oundry/Katana2.5v3/demos/tx_files/
    C: / प्रोग्राम फ़ाइलें / Katana2.5v3 / डेमो / tx_files / विंडोज पर
    - निम्नलिखित लुआ कोड जोड़ें:
    स्थानीय टेक्सपैथ = इंटरफ़ेस.गेटऑपअर्ग ('user.texturePath')
    स्थानीय फ़ाइलनाम = इंटरफ़ेस। GetAttr ('ज्योमेट्री.बिटबिट.टेक्स फ़ाइल')
    स्थानीय फ़ाइलपट = (टेक्सपाथ: getValue () .. फ़ाइलनाम: getValue ())

    Interface.SetAttr ('textures.SurfaceMap', StringAttribute (filePath))



  8. इसे रेंडर करें और आप देखेंगे कि प्रत्येक पॉनीज़ को ज्यामिति द्वारा निर्दिष्ट बनावट सौंपी गई है।

कटाना में पैरामीटर्स के आंतरिक नाम को देखने के लिए, जैसे कि इस मामले में सरफेस मैप, आप इसे मिडिल-माउस को स्क्रिप्ट एडिटर के टेक्स्ट फील्ड में खींच सकते हैं। परिणामी आदेश आपको बताएगा कि विशेषता के लिए किस नाम का उपयोग करना है।

बनावट के नाम या फ़ाइल पथ वाले किसी टैग को ज्यामिति में कैसे जोड़ा जाए, इस बारे में अधिक जानकारी प्राप्त करने के लिए। कृपया पाइपलाइन सेट करने के लिए डेटा का उपयोग करने के लिए कटान ऑनलाइन सहायता का संदर्भ लें

{attr: xxx} shader पैरामीटर्स के लिए सिंटैक्स

एक अन्य विकल्प, जो अर्नोल्ड और रेंडरमैन दोनों के साथ काम करेगा, shader पैरामीटर्स के लिए {attr: xxx} सिंटैक्स का उपयोग करना है। यह सामग्री के किसी भी पैरामीटर को सेट करके काम करता है, उदाहरण के लिए, जब आप सामग्री बनाते हैं, तो {attr: tex.SurfaceMap}।

पुनरावृत्ति के समय, रेंडरर टेक्सट्री नामक एक विशेषता की तलाश करेगा। प्रस्तुत करने के लिए ज्यामिति पर। शेडर पैरामीटर को उस मान पर सेट किया जाएगा जो ज्यामिति विशेषता से पढ़ा जाता है।

इस दृष्टिकोण के लिए, दृश्य को ऊपर बताए गए उदाहरण की तरह सेट करें, लेकिन सतह मानचित्र पैरामीटर के मान के रूप में {attr: tex.SurfaceMap} जोड़ें (बनावट नहीं) यह दिखाने के लिए कि हम प्राइमर का उपयोग नहीं कर रहे हैं), और परिवर्तन करें। ओपस्क्रिप्ट कोड की अंतिम पंक्ति

Interface.SetAttr ('tex.SurfaceMap', StringAttribute (filePath))

अधिक जानकारी के लिए कृपया "टेक्सचर हैंडलिंग - ओवरव्यू" उदाहरण परियोजना और कटाना ऑनलाइन हेल्प का टेक्सचर हैंडलिंग विकल्प अनुभाग देखें।

क्या यह लेख उपयोगी था?

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

कृपया हमें बताएँ कि
4 में से 1 के लिए उपयोगी रहा

टिप्पणियां