GLB को GLTF में बदलें

यहाँ आप GLB को GLTF में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।

  • कहाँ चलता है आपके ब्राउज़र में। फ़ाइल कभी अपलोड नहीं होती।
  • नए सिरे से बना GLTF के काम करने का तरीक़ा GLB से अलग है। यह किसी लॉसी कोडेक जैसा धीरे-धीरे होने वाला नुक़सान नहीं है: GLTF जो कुछ व्यक्त कर सकता है, वह हूबहू उतर आता है — और जिसका वहाँ कोई समतुल्य नहीं, वह पूरी तरह रह जाता है।
  • फ़ाइल आकार की सीमा हर फ़ाइल 100 MB तक, मुफ़्त, बिना खाते के।
  • जानने लायक़ सिर्फ़ ज्यामिति। सामग्री, रंग, बनावट और एनिमेशन साथ नहीं जाते, और जो मॉडल कई बार रखा गया हो वह हर नक़ल के अपनी-अपनी जगह पर पक्की हो जाने के साथ लौटता है।

एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।

यह पुनर्पैकेजिंग नहीं, नया निर्माण है

यह GLB से ज्यामिति निकालकर उसके इर्द-गिर्द बिल्कुल नई glTF बनाता है। gltf-pipeline --binary=false या gltf-transform जैसे औज़ार दस्तावेज़ को जस का तस रखते हुए सिर्फ़ बफ़र को बाइनरी डिब्बे से बाहर निकालते हैं — मटीरियल, टेक्सचर और एनिमेशन बिना किसी नुक़सान के साथ आते हैं।

यहाँ ऐसा नहीं होता। कन्वर्टर सीन-ग्राफ़ में घूमकर वर्टेक्स पोज़िशन और त्रिकोण इंडेक्स निकालता है, फिर हर मेश के लिए एक नोड वाला नया दस्तावेज़ बनाता है। अगर मक़सद baseColorFactor बदलकर वापस सेव करना है, तो यह ग़लत औज़ार है — gltf-transform सही है। अगर मक़सद बस यह देखना है कि फ़ाइल में है क्या, तो यह पेज सही जगह है।

GLB और glTF एक ही फ़ॉर्मेट के दो पहनावे

दोनों glTF 2.0 हैं, जून 2017 में Khronos Group का प्रकाशित विनिर्देश, शुरू से बाइनरी डिब्बे के साथ। एक .gltf JSON होती है, जिसका वर्टेक्स डेटा या तो साथ की .bin फ़ाइल में रहता है या डेटा URI के रूप में भीतर ही जुड़ा होता है। एक .glb वही JSON और वही बफ़र, बारह बाइट के हेडर के पीछे एक फ़ाइल में जुड़े हुए।

GLB के भीतर सामग्री खंडों में बँटी है: एक JSON खंड और एक BIN खंड, दोनों चार बाइट की सीमा तक पैड किए हुए। दोनों फ़ॉर्मेट के बीच जाने पर मॉडल में कुछ नहीं बदलता — ठीक इसीलिए एक ऐसा कन्वर्टर जो मॉडल को दोबारा बनाता है, नाम भर के बदलाव से कहीं ज़्यादा कर रहा होता है।

नतीजे में एक ही फ़ाइल मिलती है, हमेशा

वर्टेक्स डेटा उसी एक बफ़र प्रविष्टि पर base64 में एनकोड होकर डेटा URI बन जाता है, तो साथ कोई .bin फ़ाइल नहीं और टूटने वाला कोई सापेक्ष पथ नहीं। एक कन्वर्ज़न से एक ही डाउनलोड निकलता है।

base64 हर तीन बाइट के लिए चार अक्षर लेता है, तो जुड़ा हुआ बफ़र मूल बाइनरी से लगभग 33 प्रतिशत बड़ा होता है, और JSON ऊपर से दो-स्पेस इंडेंटेशन के साथ प्रिंट होती है। किसी एडिटर में खोलने वाली फ़ाइल के लिए यह उचित सौदा है; ब्राउज़र में परोसने के लिए नहीं — वहाँ जो GLB पहले से है वही बेहतर है।

जो कुछ GLB में था और यहाँ नहीं आता

सूची लंबी है: PBR मटीरियल, बेस कलर, नॉर्मल, ऑक्लूज़न, एमिसिव और मेटैलिक-रफ़नेस टेक्सचर, सैंपलर, UV निर्देशांक, वर्टेक्स नॉर्मल, वर्टेक्स रंग, टैंजेंट, मॉर्फ़ टार्गेट, स्किन और जॉइंट, एनिमेशन सैंपलर और चैनल, कैमरा, लाइट और फ़ाइल में घोषित हर एक्सटेंशन।

जो बचता है वह है वर्टेक्स पोज़िशन, त्रिकोण इंडेक्स और मेश नाम। यह glTF फ़ॉर्मेट की सीमा नहीं है — वह यह सब आराम से रख सकता है — यह इस कन्वर्टर की सीमा है, जो ज्यामिति को छह फ़ॉर्मेट के बीच ले जाता है जो बाक़ी किसी बात पर लगभग सहमत नहीं होते।

नोड ट्रांसफ़ॉर्म वर्टेक्स में पहले से पका दिए जाते हैं

कोई glTF सीन अक्सर एक ही मेश को अलग-अलग मैट्रिक्स के साथ कई जगह रखता है — चार पहिए एक ही व्हील-मेश का हवाला देते हुए, यही आम उदाहरण है। कन्वर्टर डिफ़ॉल्ट सीन से सीन-ग्राफ़ में घूमता है, हर नोड मैट्रिक्स को उसके पैरेंट से गुणा करता है, और नतीजे वाला वर्ल्ड मैट्रिक्स वर्टेक्स पर लिखने से पहले लागू करता है।

नतीजा यह है कि आकार सही रहता है और ढाँचा नहीं। चार पहिए चार अलग जगहों पर चार अलग मेश बनकर आते हैं, न कि एक मेश जो चार बार दोहराया गया हो। अलग-अलग दिए गए TRS गुण पहले मैट्रिक्स में जोड़े जाते हैं, glTF के तयशुदा क्वाटर्नियन क्रम में।

जो GLB यह कन्वर्टर मना कर देता है

Draco-संपीड़ित ज्यामिति एक नामित त्रुटि के साथ रुक जाती है, टूटी फ़ाइल नहीं बनती। KHR_draco_mesh_compression वर्टेक्स डेटा को संपीड़ित धारा में रखता है, जिसके लिए अपना डिकोडर चाहिए, और वह यहाँ शामिल नहीं है। Blender से बिना Draco के फिर निर्यात करने या Draco बंद कर gltf-transform चलाने से फ़ाइल सामान्य तरीक़े से पढ़ी जाती है।

जो प्रिमिटिव त्रिकोण-सूची नहीं हैं वे चुपचाप छोड़ दिए जाते हैं, बिगाड़े नहीं जाते। glTF मोड 4 त्रिकोण है; मोड 0 से 3 बिंदु और रेखाएँ हैं, मोड 5 और 6 त्रिकोण पट्टी और पंखा। सिर्फ़ रेखा-ज्यामिति वाली कोई GLB — किसी वायरफ़्रेम या डीबग पथ की — यह संदेश देती है कि कोई त्रिकोण-ज्यामिति मिली ही नहीं।

नतीजे को पढ़कर GLB के बारे में क्या पता चलता है

नतीजा खोलिए और accessors सरणी लगभग हर सवाल का जवाब दे देती है। हर मेश पोज़िशन के लिए एक VEC3 फ़्लोट accessor देता है और इंडेक्स के लिए एक SCALAR accessor; इंडेक्स गिनती को तीन से भाग देने पर त्रिकोणों की संख्या मिलती है, और वर्टेक्स गिनती पोज़िशन accessor से सीधे पढ़ी जाती है।

POSITION accessor में न्यूनतम और अधिकतम मान भी होते हैं — यही छह संख्याएँ बाउंडिंग बॉक्स हैं, और यही सबसे तेज़ तरीक़ा है यह जानने का कि किसी ने भेजा मॉडल हज़ार गुना बड़ा है या मूल बिंदु से कहीं दूर बैठा है। मेश नाम स्रोत से आगे आते हैं, तो कई हिस्सों वाला मॉडल पढ़ने लायक़ बना रहता है।

कब GLB को glTF में बिल्कुल न बदलें

अगर फ़ाइल किसी वेब पेज पर जानी है, GLB ही रखिए। वह छोटी है, एक ही अनुरोध में आती है, और three.js, Babylon.js और model-viewer तीनों उसे सीधे लोड करते हैं। डिलीवरी के लिए glTF में बदलना फ़ाइल को बड़ा बनाता है और इस कन्वर्टर के ज़रिए वे मटीरियल भी हटा देता है जिनकी वजह से मॉडल दिखाने लायक़ था।

अगर कुछ बदलना और वापस सेव करना है, gltf-transform या Blender के glTF निर्यातक का इस्तेमाल कीजिए। अगर बिना कुछ इंस्टॉल किए फ़ाइल जल्दी देखनी है, या किसी अन्य निर्यात से तुलना के लिए टेक्स्ट रूप चाहिए, यह पेज छोटा रास्ता है।

आकार सीमा और यह कहाँ चलता है

कन्वर्ज़न सादा JavaScript है, पेज के भीतर ही चलती है — कोई WebAssembly मॉड्यूल डाउनलोड नहीं, कोई अपलोड नहीं, कोई कतार नहीं। मुफ़्त सीमा 100 MB है, जो वेब के लिए बनी किसी भी GLB के लिहाज़ से बहुत बड़ी है।

चूँकि नतीजा अपना बफ़र प्रिटी-प्रिंटेड JSON में base64 के रूप में जोड़ता है, .gltf का .glb से बड़ा होना ही स्वाभाविक है, भले ही मटीरियल हट चुके हों — ज्यामिति ही ज़्यादातर मॉडल का बड़ा हिस्सा है, और base64 उसे और फुला देता है।

GLB को GLTF में ऐसे बदलें

  1. अपनी GLB फ़ाइल इस पेज पर छोड़ें, या चुनने के लिए दबाएँ।
  2. लक्ष्य के रूप में GLTF चुनें। कन्वर्ज़न आपके ब्राउज़र में होता है और फ़ाइल अपलोड नहीं होती।
  3. तैयार GLTF फ़ाइल डाउनलोड कर लें।

GLB या GLTF: क्या बदलता है

GLB और GLTF की तुलना
GLBGLTF
पूरा नामBinary glTFGL Transmission Format
फ़ाइल एक्सटेंशन.glb.gltf
मीडिया टाइपmodel/gltf-binarymodel/gltf+json
पहली बार प्रकाशित20162015
प्रकाशकKhronos GroupKhronos Group
विनिर्देशglTF 2.0glTF 2.0
लाइसेंसखुला मानकखुला मानक
आज की स्थितिमौजूदामौजूदा
ब्राउज़र में खुलता हैकोई ब्राउज़र नहींकोई ब्राउज़र नहीं
इसकी जगह विचारणीयOBJOBJ

क्या बचा रहता है

एनिमेशन बना रहता है। GLB और GLTF — दोनों कई फ़्रेम ढोते हैं, इसलिए नतीजा अब भी चलता है।

नतीजा खोलना

Blender, three.js और Babylon.js GLB और GLTF — दोनों पढ़ लेते है, इसलिए आप नतीजे को असली फ़ाइल के बग़ल में रखकर देख सकते हैं, बिना दूसरा प्रोग्राम खोले।

कौन-सा फ़ॉर्मेट किस काम के लिए है

GLB Khronos Group का फ़ॉर्मेट है, जो 2016 में आया। यह glTF 2.0 में तय किया गया है, और अगर फ़ाइल को उस औज़ार से ज़्यादा जीना है जिसने उसे लिखा, तो यह बात क़ीमती है।

GLTF Khronos Group का है और 2015 से चला आ रहा है, और glTF 2.0 में तय किया गया है। Blender, three.js और Babylon.js इस फ़ॉर्मेट को पढ़ लेते है।

GLB से GLTF: आम सवाल

क्या मेरी GLB फ़ाइल कहीं अपलोड होती है?

नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो।

क्या GLB को GLTF में बदलना मुफ़्त है?

हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100।

GLB को GLTF में बदलने पर क्या गुणवत्ता जाती है?

GLB और GLTF सामग्री का वर्णन बुनियादी तौर पर अलग-अलग तरीक़ों से करते हैं। इसलिए यह कन्वर्ज़न नक़ल नहीं, पुनर्निर्माण है: ईमानदार, पर बाइट-दर-बाइट एक जैसा नहीं। सिर्फ़ ज्यामिति। सामग्री, रंग, बनावट और एनिमेशन साथ नहीं जाते, और जो मॉडल कई बार रखा गया हो वह हर नक़ल के अपनी-अपनी जगह पर पक्की हो जाने के साथ लौटता है।

GLB से GLTF जाने पर क्या एनिमेशन बचा रहता है?

एनिमेशन बना रहता है। GLB और GLTF — दोनों कई फ़्रेम ढोते हैं, इसलिए नतीजा अब भी चलता है।

इन फ़ॉर्मेट के बारे में और