आँकड़ों और विज्ञापन के लिए कुकीज़
हम आँकड़ों और विज्ञापन के लिए कुकीज़ इस्तेमाल करते हैं, दोनों Google को जाती हैं। मना करने से आपको दिखने वाली किसी चीज़ में कोई फ़र्क़ नहीं पड़ता।निजता पेज पढ़ें
GLB
glTF, अपनी बनावटों के साथ अंदर। एक फ़ोल्डर भर निर्भरताओं की जगह एक ही फ़ाइल।
GLB
GLB एक बाइनरी फ़ॉर्मेट है, जो सिर्फ़ उसी प्रोग्राम के लिए मायने रखता है जो इसे जानता हो। यह पिक्सेल के बजाय आकृतियाँ और निर्देशांक सहेजता है, इसलिए किसी भी आकार में साफ़ रहता है — होर्डिंग जितना बड़ा किया गया लोगो भी कुछ नहीं खोता। इसका इस्तेमाल वेब और बनी हुई फ़ाइल सौंपना के लिए होता है।
एक्सटेंशन .glb है और पूरा नाम Binary glTF। दोनों उतना नहीं बताते जितना यह कि फ़ाइल अंदर क्या-क्या रख सकती है — और इस पन्ने का बाक़ी हिस्सा इसी के बारे में है।
इसे Khronos Group ने 2016 में जारी किया था। विनिर्देश glTF 2.0 है।
उम्र एक व्यावहारिक वजह से काम की है: फ़ॉर्मेट जितना पुराना, उतने ज़्यादा प्रोग्रामों को उसे सीखने का वक़्त मिला है।
यह पूरा प्रकाशित है, इसलिए कोई भी इसे देखकर अंदाज़ा लगाने के बजाय दस्तावेज़ पढ़कर लागू कर सकता है। यही वजह है कि यह फ़ॉर्मेट इतने सारे प्रोग्रामों में मिलता है, और यही वजह है कि बीस साल पहले लिखी गई फ़ाइलें आज भी खुल जाती हैं। पर विनिर्देश का प्रकाशित होना और उसका रॉयल्टी-मुक्त होना एक बात नहीं है: जहाँ फ़ॉर्मेट किसी कोडेक को अपने अंदर लपेटता है, वहाँ पेटेंट का लाइसेंस एक अलग सवाल है, और मानक उसका जवाब नहीं देता।
GLB फ़ाइल अपना अंदरूनी हिस्सा हूबहू सहेजती है। दोबारा सहेजने से कुछ नहीं बदलता, इसलिए इसे जितनी बार चाहें खोलिए, बदलिए और फिर से सहेजिए — नुक़सान जमा नहीं होता। यही बात इसे सौंपने का नहीं, काम करने का फ़ॉर्मेट बनाती है।
GLB फ़ाइल ठहरी हुई एक तस्वीर के बजाय पूरा एनिमेशन सहेज सकती है। बदलने से पहले यह जान लेना ज़रूरी है: जो लक्ष्य सिर्फ़ एक फ़्रेम रखता है, वह पहला रख लेता है और बाक़ी गिरा देता है — अमूमन बिना बताए।
Blender, three.js और Babylon.js इसे पढ़ते हैं, और इसी तरह के ज़्यादातर दूसरे प्रोग्राम भी।
फ़ाइल न खुले तो कसूर फ़ॉर्मेट का शायद ही कभी होता है — अक्सर प्रोग्राम ही फ़ॉर्मेट से पुराना होता है। किसी पुरानी चीज़ में बदल लेना इससे निकलने का भरोसेमंद रास्ता है, और इस वेबसाइट का बाक़ी हिस्सा इसी के लिए है।
इसे कोई भी ब्राउज़र नहीं पढ़ता।
इसे बदलने की सबसे आम वजह यही है: फ़ॉर्मेट ख़राब है, ऐसा नहीं — बात यह है कि जहाँ आप फ़ाइल दिखाना चाहते हैं वह जगह उसे पढ़ ही नहीं सकती।
GLB इसलिए बना है कि इसे खोला और बदला जाए। जब तक काम चल रहा है फ़ाइल इसी फ़ॉर्मेट में रखिए, और जब भी बनी हुई प्रति चाहिए हो, इसी से निर्यात कीजिए।
GLB एक ही बाइनरी कंटेनर में पैक किया glTF है: JSON सीन विवरण, ज्यामिति बफ़र और हर बनावट, छोटे हेडर वाली एक फ़ाइल में। कुछ जोड़ा या छोड़ा नहीं जाता — GLB खोलिए तो .gltf, .bin और वे तस्वीरें मिलती हैं जो अन्यथा फ़ोल्डर में बैठी होतीं।
यही पूरा फ़र्क़ है, और यही वजह है कि वेब पर 3D के रूप में प्रकाशित लगभग हर चीज़ GLB है। बिना साथियों की .gltf ऐसे डेटा की ओर इशारा करने वाला सीन विवरण है जो वहाँ है ही नहीं।
3D मॉडल में ज़्यादातर एसेट से ज़्यादा ढीले हिस्से होते हैं: बाइनरी बफ़र, base color बनावट, normal map, roughness map, occlusion map, emissive map। एक वस्तु आठ फ़ाइलें हो सकती है।
एक फ़ाइल एक पूरी श्रेणी की ख़राबी हटा देती है — ग़ायब बनावट, टूटा रिश्तेदार पथ, एक स्तर ऊपर ज़िप किया फ़ोल्डर। यह नेटवर्क राउंड-ट्रिप भी हटाती है: GLB लाने वाला ब्राउज़र एक अनुरोध करता है जहाँ बराबर .gltf आठ करता।
Android पर, Scene Viewer GLB लेता है, और ज़्यादातर साइटों का इस्तेमाल किया model-viewer एलिमेंट GLB को मुख्य स्रोत की तरह लेता है। किसी उत्पाद पन्ने पर फ़ोन तानिए और कमरे में दिखने वाला मॉडल इसी से आया।
iOS जान लेने लायक़ अपवाद है: Apple का Quick Look अपना USDZ फ़ॉर्मेट इस्तेमाल करता है, इसलिए दोनों प्लैटफ़ॉर्म पर ऑगमेंटेड रियलिटी सँभालने वाली साइट GLB और USDZ साथ-साथ प्रकाशित करती है।
बनावट हावी रहती है, ज्यामिति नहीं। चार 4K मैप वाला मॉडल बाक़ी कुछ गिनने से पहले ही तीस मेगाबाइट का है, और उन्हें 1K या 2K तक घटाना उस आकार पर आमतौर पर कुछ दिखने लायक़ नहीं खोता।
फिर मेश के लिए Draco, जो अक्सर ज्यामिति को उसके पाँचवें या दसवें हिस्से तक ले आता है, और बनावट के लिए Basis Universal समेत KTX2। साथ में ये अक्सर चालीस-मेगाबाइट निर्यात को तीन से कम में बदल देते हैं।
संपादन और निरीक्षण में। .gltf पढ़ने लायक़ JSON है, इसलिए ग़लत सामग्री मूल्य या ग़लत-नापा नोड टेक्स्ट एडिटर में ढूँढा और ठीक किया जा सकता है, और वर्शन कंट्रोल सिस्टम दो संशोधनों के बीच सार्थक diff दिखा सकता है।
GLB अपारदर्शी है। कोई भी बदलाव खोलने, संपादित करने और दोबारा-पैक करने की माँग करता है, और GLB फ़ाइलें रखने वाला रिपॉज़िटरी हर कमिट पर पूरी नई बाइनरी सहेजता है। समझदार व्यवस्था है काम की मास्टर कॉपी के रूप में .gltf रखना और GLB को डिलीवरी के लिए बिल्ड-स्टेप बनाना।
व्यापक रूप से, दस साल पुराने फ़ॉर्मेट के लिए। हर वेब 3D लाइब्रेरी, Blender, Unity, Unreal, Godot, Substance, Sketchfab, Android का AR व्यूअर, और प्रमुख एसेट मार्केटप्लेस। Microsoft Office भी इसे किसी दस्तावेज़ या स्लाइड में embed कर सकता है।
जहाँ यह स्वीकार नहीं होता वह है पुरानी पाइपलाइनों के इर्द-गिर्द बना कुछ भी: 3D प्रिंटिंग को STL या 3MF चाहिए, CAD को अपने फ़ॉर्मेट, फ़िल्म और VFX USD या Alembic इस्तेमाल करते हैं।
GLB और glTF दोनों दिशाओं में बिना-हानि बदलते हैं, क्योंकि वे अलग पैकेजिंग वाला एक ही डेटा हैं। एक पढ़ने वाली कोई भी चीज़ दूसरी भी पढ़ लेती है।
OBJ, FBX या किसी मॉडलिंग प्रोग्राम से, सामग्री को ध्यान की ज़रूरत होगी: GLB की भौतिक-आधारित शब्दावली का OBJ के MTL में कोई समकक्ष नहीं, इसलिए आयातित मॉडल धूसर और सही आता है, बनावट वाला और सही नहीं। STL में छपाई के लिए, आकार के अलावा सब कुछ छूट जाता है।
| एक्सटेंशन | .glb |
|---|---|
| मीडिया टाइप | model/gltf-binary |
| प्रकाशक | Khronos Group |
| पहली बार प्रकाशित | 2016 |
| विनिर्देश | glTF 2.0 |
सिर्फ़ पैकेजिंग का। .gltf JSON है जो अलग बाइनरी बफ़र और बनावट फ़ाइलों का संदर्भ लेता है, इसलिए मॉडल फ़ोल्डर है; .glb सब कुछ एक बाइनरी फ़ाइल में पैक करता है। दोनों में बदलना दोनों दिशाओं में बिना-हानि है।
Blender इसे सीधे खोलता है, वैसे ही Unity, Unreal और Godot। जल्दी नज़र डालने के लिए कोई भी वेब-आधारित glTF व्यूअर काम करेगा।
लगभग हमेशा बनावट, ज्यामिति नहीं। चार 4K मैप बाक़ी कुछ गिनने से पहले ही तीस मेगाबाइट हैं। पहले उन्हें 1K या 2K तक घटाइए, फिर मेश के लिए Draco और बनावट के लिए KTX2 लगाइए।
Android पर, हाँ — Scene Viewer सीधे GLB लेता है। iOS Apple का अपना USDZ फ़ॉर्मेट इस्तेमाल करता है, इसलिए दोनों सँभालने वाली साइट GLB और USDZ साथ-साथ प्रकाशित करती है।
डिलीवरी कॉपी के रूप में, हाँ। काम की मास्टर कॉपी के रूप में, नहीं — .gltf पढ़ने लायक़ JSON है जिसे जाँचा और टेक्स्ट एडिटर में ठीक किया जा सकता है, जहाँ GLB अपारदर्शी है।
पहले STL या 3MF में बदलिए, और मेश सुधारने की उम्मीद रखिए। रियल-टाइम रेंडरिंग के लिए बने मॉडल अक्सर watertight नहीं होते — बिना मोटाई वाली सतहें स्क्रीन पर सही दिखती हैं और छापने लायक़ नहीं होतीं।