आँकड़ों और विज्ञापन के लिए कुकीज़
हम आँकड़ों और विज्ञापन के लिए कुकीज़ इस्तेमाल करते हैं, दोनों Google को जाती हैं। मना करने से आपको दिखने वाली किसी चीज़ में कोई फ़र्क़ नहीं पड़ता।निजता पेज पढ़ें
यहाँ आप GLB को OBJ में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।
एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।
ये एक के बाद एक बदलती हैं और साथ में एक ZIP बनकर उतरती हैं।
GLB से OBJ
glTF और इसका बाइनरी रूप उस बहुत से सॉफ़्टवेयर से आठ-नौ साल छोटे हैं जो engineer और artist के पास असल में installed है। Wavefront ने 1992 में OBJ प्रकाशित किया और यह अब भी सबसे कम common denominator है।
इस रूपांतरण को गुणवत्ता में गिरावट की बजाय प्रकार में गिरावट के रूप में समझना बेहतर है। GLB एक scene है — node hierarchy, materials, textures, animation। OBJ points की सूची और उनके बीच triangles है, साथ ही अलग material file का इशारा।
तीन तरह की लाइनें और कुछ नहीं। एक comment line लेखक बताती है, हर mesh के लिए एक o line जो GLB से नाम लाती है, हर vertex के लिए एक v line और हर triangle के लिए एक f line।
Index convention वह हिस्सा है जो अपना parser लिखने वालों को उलझाता है — OBJ index शून्य से नहीं, एक से शुरू होते हैं, और पूरी फ़ाइल में गिने जाते हैं, हर group पर दोबारा शुरू नहीं होते।
OBJ ने कभी material ख़ुद नहीं रखा। यह एक mtllib line में साथी .mtl फ़ाइल का नाम रखता है, और वही फ़ाइल रंग, चमक और texture map paths रखती है। यह कन्वर्टर कोई mtllib line नहीं लिखता और कोई .mtl नहीं बनाता।
यह ज्यामिति-मात्र पढ़ने का नतीजा है। GLB के metallic-roughness पैरामीटर, base colour और normal textures कभी निकाले नहीं जाते, इसलिए किसी MTL में लिखने को कुछ नहीं जो गढ़ा हुआ न हो।
हर glTF mesh नाम उस group के लिए OBJ o line के रूप में लिखा जाता है, इसलिए housing, bracket, cover जैसे नामित भागों से बना model Blender या Maya में तीन नामित objects के रूप में import होता है।
यह दिखने से ज़्यादा मायने रखता है। किसी ज्यामिति-मात्र रूपांतरण में नाम ही लगभग एकमात्र बचा semantic जानकारी है।
glTF एक mesh को कई node से reference करके कई जगह रख सकता है। OBJ के पास इसका कोई समकक्ष नहीं। Converter scene walk करता है, हर node matrix को parent से जोड़ता है, और परिणामी world transform vertex coordinates में bake करता है।
तो जो GLB एक screw mesh साठ बार instance करती है वह OBJ साठ groups और साठ पूरी screw ज्यामिति की नक़लें बनाता है। यह model सही दिखता है और फ़ाइल उस हिस्से में साठ गुना बड़ी होती है।
कोई scaling लागू नहीं होती। जो coordinate GLB में थे वही OBJ में बिना बदले लिखे जाते हैं। glTF 2.0 अपनी रैखिक इकाई मीटर परिभाषित करता है, तो असली आकार में बना chair 0.9 के आसपास coordinates रखता है।
OBJ कोई इकाई घोषित नहीं करता और हर importer अपना अंदाज़ा लगाता है। Import के बाद bounding box को किसी जानी हुई dimension के मुक़ाबले जाँच लीजिए, एक बार, बाद में किसी printed part में इसे खोजने की बजाय।
यह जैसा है वैसा पार होता है। glTF पहले से triangles को shared position array में indices के रूप में रखता है, इसलिए फिर से बनाने को कुछ नहीं — हर accessor entry एक v line बन जाती है उसी क्रम में।
यह मायने रखता है जब GLB किसी असली exporter से आई हो, क्योंकि glTF हर vertex में एक UV और एक normal रखता है। texture seam पर बैठा vertex उन attributes के अलग होने के लिए दो-तीन नक़ल में split होता है।
तीनों बिना configuration इसे import कर लेते हैं। तुरंत faceted appearance की उम्मीद रखिए — फ़ाइल में कोई vn line न होने से हर importer flat face normals गणना करता है। Blender में Shade Smooth यह सुलझा देता है।
कोई material की उम्मीद न रखिए। एक assign करना तीनों में दो-क्लिक का काम है, और यह पहले कर लेना अच्छा है ताकि model viewport background के सामने दिखे।
अगर मंज़िल glTF पढ़ सकती है, न बदलें। Blender, three.js, Unity, Unreal, Windows 3D Viewer और macOS Preview सब materials समेत GLB खोल लेते हैं।
बदलिए जब मंज़िल सचमुच glTF नहीं पढ़ सकती, या जब आपको ख़ासतौर पर एक text file चाहिए जिसे आप inspect, grep या diff कर सकें। OBJ इन छह फ़ॉर्मेट में आँख से जाँचना सबसे आसान है।
| GLB | OBJ | |
|---|---|---|
| पूरा नाम | Binary glTF | Wavefront ऑब्जेक्ट |
| फ़ाइल एक्सटेंशन | .glb | .obj |
| मीडिया टाइप | model/gltf-binary | model/obj |
| पहली बार प्रकाशित | 2016 | 1992 |
| प्रकाशक | Khronos Group | Wavefront Technologies |
| विनिर्देश | glTF 2.0 | — |
| लाइसेंस | खुला मानक | खुला मानक |
| आज की स्थिति | मौजूदा | मौजूदा |
| ब्राउज़र में खुलता है | कोई ब्राउज़र नहीं | कोई ब्राउज़र नहीं |
| इसकी जगह विचारणीय | GLTF | GLTF, PLY, STL |
Blender GLB और OBJ — दोनों पढ़ लेता है, इसलिए आप नतीजे को असली फ़ाइल के बग़ल में रखकर देख सकते हैं, बिना दूसरा प्रोग्राम खोले।
दोनों का निशाना अलग काम है: GLB का वेब और बनी हुई फ़ाइल सौंपना पर, OBJ का प्रोग्रामों के बीच डेटा ले जाना और एडिटिंग पर। इस पर सोचना बनता है, क्योंकि जिस वजह से एक मौजूद है, आम तौर पर उसी वजह से दूसरा असुविधाजनक होता है।
GLB Khronos Group का फ़ॉर्मेट है, जो 2016 में आया। यह glTF 2.0 में तय किया गया है, और अगर फ़ाइल को उस औज़ार से ज़्यादा जीना है जिसने उसे लिखा, तो यह बात क़ीमती है।
OBJ Wavefront Technologies का है और 1992 से चला आ रहा है। Blender, MeshLab और Maya इस फ़ॉर्मेट को पढ़ लेते है।
OBJ 1992 में आया और GLB 2016 में। किसी को सौंपने के लिए आम तौर पर पुराना वाला ज़्यादा सुरक्षित रहता है; नया वाला वही काम कम बाइट में कर देता है।
नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो।
हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100।
GLB और OBJ सामग्री का वर्णन बुनियादी तौर पर अलग-अलग तरीक़ों से करते हैं। इसलिए यह कन्वर्ज़न नक़ल नहीं, पुनर्निर्माण है: ईमानदार, पर बाइट-दर-बाइट एक जैसा नहीं। सिर्फ़ ज्यामिति। सामग्री, रंग, बनावट और एनिमेशन साथ नहीं जाते, और जो मॉडल कई बार रखा गया हो वह हर नक़ल के अपनी-अपनी जगह पर पक्की हो जाने के साथ लौटता है।
कन्वर्ज़न के लिए नहीं: वह उसी ब्राउज़र में होता है जो आपने पहले से खोल रखा है। नतीजा खोलने के लिए उसके बाद वही प्रोग्राम चाहिए जिससे आपका डिवाइस Wavefront Object आम तौर पर दिखाता है।