फ़िनिश मटीरियल के लिए मटीरियल प्रॉपर्टी और टेम्पलेट सेट करें
रंग या टेक्सचर बेस वाले फ़िनिश मटीरियल बनाएँ, मटीरियल टेम्पलेट प्रबंधित करें, और ऐसे टेक्सचर अपलोड करें जो मटीरियल से सही तरह जुड़ें।
Material Properties मोडल (SKU पर फ़िनिश मटीरियल बनाते/संपादित करते समय उपयोग होता है) उपयोगकर्ता को Color या Texture का बेस प्रॉपर्टी चुनने देता है। यदि Texture चुना गया है, तो वास्तव में एक इमेज अपलोड होनी चाहिए - अन्यथा 'Please upload a texture file' से Save रुक जाता है; Color पर वापस जाने से सेव करते समय अपलोड किया गया कोई भी टेक्सचर मैप हट जाता है। टेक्सचर अपलोड चुनते ही तुरंत संग्रहीत होते हैं (हर अपलोड एक टेक्सचर एसेट बनाता है), और स्लाइडर/इनपुट PBR-शैली प्रॉपर्टी नियंत्रित करते हैं (रफ़नेस, मेटलनेस, ट्रांसमिशन आदि; ट्रांसमिशन पर निर्भर कुछ फ़ील्ड जैसे फ़ील्ड मान सक्षम होने तक प्लेसहोल्डर दिखाते हैं)। जानने योग्य विशेषता: टेक्सचर चौड़ाई/ऊँचाई के लिए 'lock aspect ratio' टॉगल ब्राउज़र के localStorage में प्रति मटीरियल सहेजा जाता है - यह मशीनों या उपयोगकर्ताओं के बीच सिंक नहीं होता, इसलिए टॉगल की स्थिति कंप्यूटरों के बीच भिन्न हो सकती है। Material Templates (इन प्रॉपर्टी के नामित प्रीसेट) अलग से प्रबंधित होते हैं: टेम्पलेट नाम अनिवार्य है ('Material Template name cannot be empty'), टेम्पलेट अपडेट या जोड़े जा सकते हैं, और restore क्रिया संपादित मानों को टेम्पलेट के संग्रहीत मानों पर लौटा देती है। टेम्पलेट Finish/पैनल-कोर SKU के CSV बल्क-क्रिएट के लिए महत्वपूर्ण हैं, जहाँ material_template_id को संदर्भ शीट के किसी मौजूदा टेम्पलेट को संदर्भित करना चाहिए।
✓ 18 अक्टूबर 2026 को प्रोडक्ट में जाँचा गयाजब बेस प्रॉपर्टी Texture हो, तो मटीरियल एडिटर बेस टेक्सचर के अतिरिक्त वैकल्पिक bump map और normal map स्लॉट भी देता है, ताकि अपलोड किए गए टेक्सचर के टॉप पर गहराई जोड़ी जा सके।
✓ 18 अक्टूबर 2026 को प्रोडक्ट में जाँचा गयाटेम्पलेट तय करता है कि फ़िनिश कौन-सी रेंडर प्रॉपर्टी उपयोग करता है।
✓ 18 अक्टूबर 2026 को प्रोडक्ट में जाँचा गयाजब कोई मटीरियल बनाया या अपडेट किया जाता है (UI या एंटरप्राइज़ API), तो उसकी properties JSON को लिंक किए गए मटीरियल टेम्पलेट के विरुद्ध मान्य किया जाता है: टेम्पलेट अनुमत प्रॉपर्टी नामों का सटीक सेट परिभाषित करता है (colour, opacity, रफ़नेस, metalness, टेक्सचर मैप स्लॉट आदि)। टेम्पलेट में परिभाषित न होने वाली कोई भी key सेव को PROPERTY_KEY_MISMATCH_WITH_MATERIAL_TEMPLATE_PROPERTY के साथ विफल कर देती है। अनुपस्थित keys की जाँच नहीं होती — मटीरियल टेम्पलेट की प्रॉपर्टी के केवल एक उपसमुच्चय के साथ सेव हो सकता है और कोई चेतावनी नहीं मिलती। आम विफलता यह है कि क्लाइंट एक टेम्पलेट के लिए लिखा गया properties payload दोबारा उपयोग करता है जबकि भिन्न material_template_id भेजता है: पुराने टेम्पलेट के लिए वैध keys नए के विरुद्ध अस्वीकृत हो जाती हैं। API की वे बातें जो लोगों को भ्रमित करती हैं: properties को stringified JSON ऑब्जेक्ट के रूप में भेजा जाना चाहिए — न पार्स होने वाली स्ट्रिंग MATERIAL_CREATION_FAILURE (या MATERIAL_UPDATE_FAILURE) के साथ विफल होती है, और ऑब्जेक्ट के बजाय array भेजने पर INVALID_PARAMS के साथ विफल होता है। यदि material_template_id बिल्कुल मौजूद न हो, तो त्रुटि MATERIAL_TEMPLATE_NOT_FOUND है। जब क्लाइंट इनमें से कोई त्रुटि बताए, तो उनसे टेम्पलेट प्राप्त करवाएँ, उसके प्रॉपर्टी लेबल सूचीबद्ध करवाएँ, और उनके payload को ठीक उन्हीं keys तक सीमित करवाएँ।
टेक्सचर form-data के रूप में दो फ़ील्ड, file और name के साथ अपलोड होते हैं; समर्थित फ़ॉर्मेट jpeg, jpg और png हैं। अपलोड एक इमेज रिकॉर्ड और उसे संदर्भित करने वाला एक टेक्सचर रिकॉर्ड बनाता है, और प्रतिक्रिया टेक्सचर को उसकी इमेज सहित लौटाती है। अनुमतियाँ: अपलोड के लिए स्टोर या बिज़नेस यूनिट पर कैटलॉग-मैनेजर राइट आवश्यक है, लेकिन डिज़ाइनरों को भी स्पष्ट रूप से अनुमति है — डिज़ाइनर कैटलॉग प्रबंधन राइट के बिना भी डिज़ाइन ऐप से टेक्सचर जोड़ सकता है। किसी मटीरियल में टेक्सचर उपयोग करने के लिए उसकी id मटीरियल की 'map' प्रॉपर्टी में जाती है। मटीरियल सेव होने पर केवल वही बेस मैप मान्य होता है: यदि मैप id किसी मौजूदा टेक्सचर से मेल नहीं खाती, तो सेव विफल होता है (MATERIAL_CREATION_FAILURE / MATERIAL_UPDATE_FAILURE), और सफल होने पर टेक्सचर की इमेज स्वतः मटीरियल का डिस्प्ले स्वैच बन जाती है। अन्य मैप स्लॉट — normal, ambient occlusion, bump, metalness और रफ़नेस मैप — टेक्सचर id स्वीकार करते हैं लेकिन सेव के समय उनका अस्तित्व जाँचा नहीं जाता, इसलिए वहाँ गलत id बिना किसी त्रुटि के सेव हो जाती है और बाद में हल होने में विफल रहती है। यदि क्लाइंट कहे कि उनका normal या रफ़नेस मैप 'does nothing', तो रेंडरिंग डीबग करने से पहले जाँचें कि id किसी वास्तविक टेक्सचर की ओर इंगित करती है।