1. विकी
  2. /विज़ुअल और लाइटिंग
  3. /Texture sets (PBR)

Texture sets (PBR)

texture_set.json फ़ाइलों से Vibrant Visuals और ray tracing के लिए चमकीले, रोशनी देने वाले और उभरे हुए Minecraft Bedrock ब्लॉक बनाएँ: color, MER/MERS, normal और heightmap layers।

सामान्य texture में सिर्फ़ रंग होता है। texture set अतिरिक्त layers जोड़ता है जो Vibrant Visuals और ray tracing को बताती हैं कि सतह रोशनी में कैसा बर्ताव करती है: क्या यह धातु है, क्या यह चमकती है, क्या यह खुरदरी है या पॉलिश की हुई, क्या यह उभरी हुई है? इसे PBR (physically based rendering) कहते हैं।

इस पेज पर आप रूबी ब्लॉक को एक हल्की अंदरूनी चमक के साथ पॉलिश किए हुए रत्न की तरह चमकाएँगे।

फ़ाइलें

texture set उसी texture के ठीक बगल में रहता है जिसे वह बेहतर बनाता है, उसी नाम के साथ:

रिसोर्स पैक
RP/
  textures/
    blocks/
      ruby_block.png
      ruby_block.texture_set.json
      ruby_block_mer.png
      ruby_block_normal.png

इस सेक्शन के दूसरे पेजों से अलग, यहाँ कुछ लागू करने की ज़रूरत नहीं। गेम ruby_block.texture_set.json को खुद ढूँढ लेता है क्योंकि वह ruby_block.png के बगल में है, और जहाँ भी वह texture दिखता है, उसे इस्तेमाल करता है।

Texture set फ़ाइल

RP/textures/blocks/ruby_block.texture_set.json
{
  "format_version": "1.16.100",
  "minecraft:texture_set": {
    "color": "ruby_block",
    "metalness_emissive_roughness": "ruby_block_mer",
    "normal": "ruby_block_normal"
  }
}

हर layer उसी फ़ोल्डर की एक image का नाम है, फ़ाइल extension के बिना।

Layers

Layerज़रूरीइसमें क्या होता है
colorहाँसामान्य texture: RGB, या transparency के साथ RGBA। क्लासिक लुक सिर्फ़ इसी को इस्तेमाल करता है।
metalness_emissive_roughnessनहींMER map। तीन channels, नीचे देखें।
metalness_emissive_roughness_subsurfaceनहींMERS map: MER के साथ subsurface के लिए चौथा channel। MER की जगह इस्तेमाल करें।
normalनहींएक normal map: RGB रंगों से छोटे उभार और गड्ढों का भ्रम बनाता है।
heightmapनहींउभारों का greyscale map: सफ़ेद ऊँचा है, काला नीचा। normal map से आसान।

आप normal या heightmap इस्तेमाल कर सकते हैं, दोनों कभी नहीं।

MER map

एक image, जिसमें हर color channel का अलग मतलब होता है:

Channelमतलब0 (काला)255 (पूरा)
RedMetalnessधातु नहीं, जैसे पत्थर या लकड़ीखुली धातु, जैसे सोना
GreenEmissiveचमकता नहींतेज़ चमकता है
BlueRoughnessशीशे जैसा चिकनापूरी तरह खुरदरा और फीका
Alpha (सिर्फ़ MERS)Subsurfaceरोशनी सतह पर ही रहती हैरोशनी थोड़ी आर-पार जाती है, जैसे पत्तियों या त्वचा में

रूबी के लिए: red 0 के पास (रत्न धातु नहीं है), हल्की चमक के लिए green लगभग 40, और पॉलिश वाली चमक के लिए blue लगभग 30।

इसे उसी grid में बनाएँ

MER, normal और heightmap images color texture से pixel दर pixel मैच करती हैं। इन्हें उसी साइज़ में पेंट करें (ब्लॉक के लिए 16x16) ताकि चमकीले और रोशनी देने वाले हिस्से रंगों से मेल खाएँ।

पूरे texture के लिए एक value

अगर पूरा ब्लॉक एक ही material का है, तो अतिरिक्त image छोड़ दें और values JSON में लिख दें:

RP/textures/blocks/ruby_block.texture_set.json
{
  "format_version": "1.16.100",
  "minecraft:texture_set": {
    "color": "ruby_block",
    "metalness_emissive_roughness": [0, 40, 30]
  }
}

नंबर 0 से 255 तक जाते हैं। आप hex भी इस्तेमाल कर सकते हैं: उसी MER के लिए "#00281E"। एक जैसा color चार values लेता है (red, green, blue, alpha), और एक जैसा heightmap एक value लेता है।

नियम जो texture set को तोड़ देते हैं

अगर इनमें से कोई भी सच है, तो गेम texture set को छोड़ देता है और Content Log में error लिखता है:

  • कोई color layer नहीं है।
  • normal और heightmap दोनों सेट हैं।
  • कोई layer ऐसी image की तरफ़ point करती है जो उसी रिसोर्स पैक में नहीं है।
  • किसी image में channels की संख्या गलत है। color, MER और normal को 3 या 4 channels चाहिए, heightmap को 1।

अगर एक ही image नाम कई फ़ाइल प्रकारों में मौजूद है, तो गेम पहले .tga चुनता है, फिर .png, फिर .jpg, फिर .jpeg।

दो पैक के texture sets कभी आपस में नहीं मिलते। लिस्ट में ऊपर वाला पैक पूरे set को बदल देता है।

Vanilla MERS इस्तेमाल करता है

Vanilla ब्लॉक 1.21.30 के format_version के साथ metalness_emissive_roughness_subsurface इस्तेमाल करते हैं, और .tga images ताकि alpha channel में subsurface रहे। काम करता उदाहरण देखने के लिए bedrock samples से एक कॉपी करें।

गेम में कोई बदलाव नहीं?

Texture sets सिर्फ़ Vibrant Visuals या ray tracing चालू होने पर दिखते हैं। अगर फिर भी सपाट दिखे, तो अपने रिसोर्स पैक की manifest.json में सही capability जोड़ें: Vibrant Visuals के लिए "capabilities": ["pbr"], या ray tracing के लिए "raytraced"।

विज़ुअल और लाइटिंग: रेफ़रेंस

We use cookies to improve your experience and analyse site traffic. Learn more