अपडेट किया गया 13 सितंबर 2026
3D परिवर्तन में क्या संरक्षित रहता है और इसकी कीमत कितनी है
किसी मेष को बदलना मुफ्त नहीं है और यह बिना हानि के ऑपरेशन नहीं है। GLB और glTF सब कुछ बचाते हैं। OBJ अलग-अलग ऑब्जेक्ट और उनके सामग्री के नाम बचाता है, लेकिन वर्टेक्स के रंग को छोड़ देता है। STL केवल त्रिभुजों को बचाता है। PLY वर्टेक्स के रंग को बचाता है, लेकिन दृश्य को एक मेष में समतल कर देता है। USDZ ने दोनों ऑब्जेक्ट और UV को बचाया, वर्टेक्स का रंग और सामग्री के नाम पढ़ने पर खो दिए, और USDA का एक ज़िप लिखता है। नीचे दी गई संख्याएँ मापी गई हैं, अनुमानित नहीं हैं।
इस पृष्ठ की प्रत्येक संख्या उसी कनवर्टर को चलाने से निकलती है जो इस साइट का उपयोग करता है, वास्तविक फ़ाइलों के साथ, और सीधे बाइट्स से गुणों को पढ़ने से जो उसने लिखा। मापा गया 13 सितंबर 2026 three.js r179के साथ। पद्धति पृष्ठ के अंत में है और स्क्रिप्ट रिपॉजिटरी में है।

हर फॉर्मेट क्या संरक्षित करता है?#
दो अलग-अलग नाम वाले क्यूब्स के साथ एक संदर्भ दृश्य, प्रत्येक का अपना धात्विक नाम, शीर्षक रंग, UV समन्वय और सामान्यताओं के साथ, छह गंतव्यों में परिवर्तित किया गया। GLB और glTF पूरे लौटे। बाकी सभी फॉर्मेट ने कुछ खो दिया, और प्रत्येक ने कुछ अलग खोया।
| गंतव्य | दो वस्तुएँ | UV सह-निर्देशांक | वर्टेक्स द्वारा रंग | सामग्री के नाम | शीर्षक संख्या |
|---|---|---|---|---|---|
| GLB | वे सुरक्षित हैं 2 | सहेजा गया | सहेजा गया | सहेजा गया | 48 शीर्षक |
| glTF | वे सुरक्षित हैं 2 | सहेजा गया | सहेजा गया | सहेजा गया | 48 शीर्षक |
| OBJ | वे सुरक्षित हैं 2 | सहेजा गया | खो दिया गया | सहेजा गया | 72 शीर्षक |
| STL | 1 में मर्ज किए गए | खो दिया गया | खो दिया गया | खो दिया गया | 72 शीर्षक |
| PLY | 1 में मर्ज किए गए | सहेजा गया | सहेजा गया | खो दिया गया | 48 शीर्षक |
| USDZ | वे सुरक्षित हैं 2 | सहेजा गया | खो दिया गया | खो दिया गया | 72 शीर्षक |
STL और PLY एक दृश्य को एक ही मेष में क्यों मिलाते हैं?#
इनमें से कोई भी फॉर्मेट दृश्य ग्राफ नहीं रखता। GLB, glTF और OBJ एक ही फ़ाइल में नामित कई वस्तुओं का वर्णन कर सकते हैं; STL एक ही ठोस और PLY एक ही तत्व सूची का वर्णन करता है, इसलिए दो क्यूब्स एक मेष के रूप में आते हैं और उन्हें फिर से अलग करने का कोई तरीका नहीं है।
यह वह नुकसान है जो सबसे अधिक आश्चर्यचकित करता है, क्योंकि इसे नहीं देखा जा सकता। परिवर्तित मॉडल एक व्यूअर में बिल्कुल समान दिखता है। केवल जब आप चयन करने, सामग्री बदलने या इसके किसी हिस्से को एनिमेट करने की कोशिश करते हैं, तभी आपको पता चलता है कि वे हिस्से अब मौजूद नहीं हैं।
यदि मॉडल को अलग रहने योग्य रहना है, तो गंतव्य GLB, glTF या OBJ होना चाहिए। यदि यह किसी लैमिनेटर या एकल सामग्री प्रिंट पर जाता है, तो विलय की लागत आपको कुछ नहीं होती।
फाइल कितनी बढ़ती है?#
ज्यादातर लोगों को उम्मीद से अधिक। एक वास्तविक जाली में, OBJ ने मूल OBJ के 5.6 कभी-कभी यह मूल GLB और PLY है 1.4 गुना। दोनों में वही ज्यामिति है।
| परिवर्तन | मूल | परिणाम | अनुपात | लिखित शीर्षक बिंदु |
|---|---|---|---|---|
| mug.glb a GLB | 880 KB | 1,173 KB | 1.3x | 25,000 |
| mug.glb a glTF | 880 KB | 1,564 KB | 1.8x | 25,000 |
| mug.glb a OBJ | 880 KB | 4,928 KB | 5.6x | 1,50,000 |
| mug.glb a STL | 880 KB | 2,441 KB | 2.8x | 1,50,000 |
| mug.glb a PLY | 880 KB | 1,221 KB | 1.4x | 25,000 |
| mug.glb a USDZ | 880 KB | 2,927 KB | 3.3x | 1,50,000 |
| lion.glb a GLB | 8,768 KB | 11,690 KB | 1.3x | 2,49,369 |
| lion.glb a glTF | 8,768 KB | 15,587 KB | 1.8x | 2,49,369 |
| lion.glb a OBJ | 8,768 KB | 51,880 KB | 5.9x | 14,96,202 |
| lion.glb a STL | 8,768 KB | 24,352 KB | 2.8x | 14,96,202 |
| lion.glb a PLY | 8,768 KB | 12,176 KB | 1.4x | 2,49,369 |
| lion.glb a USDZ | 8,768 KB | 30,487 KB | 3.5x | 14,96,202 |
OBJ और STL द्वारा शीर्षक बिंदुओं की संख्या क्यों गुणा होती है?#
क्योंकि दोनों में से कोई भी त्रिभुजों के बीच शीर्ष साझा नहीं करता। एक अच्छी तरह से अनुक्रमित जाल प्रत्येक कोना केवल एक बार रखता है और उसे छूने वाले सभी त्रिभुजों से संदर्भित करता है; OBJ और STL, जैसे यहाँ लिखे गए हैं, प्रत्येक त्रिभुज के तीनों कोणों को अलग से रखते हैं। परीक्षण में lion.glb, यह 2,49,369 शीर्षों को 14,96,202में बदल देता है, लगभग 6 गुना अधिक।
ज्यामिति नहीं बदलती। वही सतह, वही त्रिभुज, वही आकृति; केवल लेखांकन अधिक महंगा हो जाता है, और फ़ाइल लगभग उसी अनुपात में बढ़ जाती है।
PLY एक उपयोगी विपरीत उदाहरण है। यह सूचकांक बनाए रखता है, इसलिए उसी जाल को मूल आकार के करीब एक आकार में लिखा जाता है और यह अभी भी शीर्षक द्वारा रंग ले जाता है। एक बड़े जाल के लिए जिसमें केवल ज्यामिति को बनाए रखना है, PLY इस सूची में सबसे सस्ता सच्चा गंतव्य है.
बाइनरी के सामने टेक्स्ट इसे और बढ़ा देता है। glTF JSON है जिसमें बफर बेस64 में एन्कोड किए गए हैं, जिसकी लागत लगभग इतनी होती है 33 GLB के समान की तुलना में प्रतिशत अधिक, क्योंकि base64 हर तीन बाइट को चार में बदल देता है।
GLB से GLB में कनवर्ट करने पर भी फ़ाइल क्यों बढ़ गई?#
क्योंकि कन्वर्टर किसी भी मेष की शीर्षक सामान्यों की गणना करता है जो उनके बिना आती है और फिर उन्हें लिखता है। अक्सर जेनरेट किया गया एक मेष किसी भी सामान्य विशेषता के बिना होता है, इसलिए यात्रा ida y vuelta हर शीर्षक के लिए एक पूरा वेक्टर जोड़ देती है.
La prueba con mug.glb एक स्पष्ट उदाहरण है: प्रवेश करते हैं 880 KB और बाहर आते हैं 1,173 KB, ज्यामिति में किसी भी बदलाव के बिना। जो सामान्य जोड़े गए हैं वे अंतर हैं.
यह एक जानबूझकर किया गया निर्णय है, कोई दोष नहीं। एक सामान्य के बिना मेष ज्यादातर व्यूअरों में सपाट और फेस-युक्त दिखाई देता है, इसलिए कन्वर्टर इसे लोड करते समय एक बार गणना करता है बजाय इसके कि प्रत्येक बाद की टूल इसे अनुमान लगाने की कोशिश करे.
क्या रूपांतरण आकृति बदलता है?#
नहीं। हर गंतव्य परिवर्तित हो गया और फिर से पढ़ा गया, और सतह समान निकली: वही त्रिकोणों की संख्या और कुल सतह क्षेत्रफल, मापन की सीमा तक, त्रिकोणों के 4,98,734 जाली में। ज्यामिति एक 3D फ़ाइल का वह हिस्सा है जो रूपांतरण के बाद भी अक्षुण्ण रहता है।
| गंतव्य | त्रिकोणों के बाद | सतही क्षेत्र त्रुटि | निर्देशांक कैसे सहेजे जाते हैं |
|---|---|---|---|
| GLB | बिना बदलाव | 0% | float32 बाइनरी |
| glTF | बिना बदलाव | 0% | बेस64 में बफ़र |
| OBJ | बिना बदलाव | 0% | पाठ के साथ 17 दशमलव |
| STL | बिना बदलाव | 0% | float32 बाइनरी |
| PLY | बिना बदलाव | 0% | float32 बाइनरी |
| USDZ | बिना बदलाव | 0% | USDA ज़िप |
तो, क्या 3D रूपांतरण में हानि होती है या नहीं?#
दोनों, और अंतर ही उपयोगी है। ज्यामिति कुछ नहीं खोती: जो आकार अंदर आता है वही आकार बाहर जाता है। जो कुछ भी ज्यामिति को घेरता है वह खो जाता है, और आप कौन से हिस्से खोते हैं यह पूरी तरह से आपके द्वारा चुनी गई मंज़िल पर निर्भर करता है।
यहाँ कोई भी चीज़ निर्देशांक को रोकती नहीं है। GLB, STL और PLY 32-बिट बाइनरी फ़्लोट्स लिखते हैं। glTF उसी बाइनरी बफ़र को अपने JSON में बेस64 के रूप में एम्बेड करता है। USDZ USDA का ज़िप लिखता है। OBJ एकमात्र है जो स्थानों को दशमलव पाठ के रूप में लिखता है, और उन्हें पूर्ण सटीकता के साथ लिखता है बजाय उन्हें गोल किए, जो इस कारण का हिस्सा है कि उसकी फ़ाइलें बहुत बड़ी हैं।
इसका मतलब है कि सामान्य चिंता, कि प्रत्येक रूपांतरण मॉडल को थोड़ा degrade करता है, जैसे JPEG को फिर से सहेजना, लागू नहीं होती। GLB से OBJ में रूपांतरित करना और फिर वापस करना जाली को स्मूद नहीं करता।
जो यह करता है वह इस पृष्ठ पर ऊपर दिखाई देने वाली चीज़ों को खारिज कर देता है: STL और PLY में सीन ग्राफ, OBJ, STL और USDZ में वर्टेक्स द्वारा रंग, STL, PLY और USDZ में मटेरियल के नाम, और STL में UV। ये नुकसान स्थायी हैं, इस अर्थ में कि पुनः रूपांतरित करने से इन्हें फिर से नहीं बनाया जा सकता।
तुम्हें कौन सा गंतव्य चुनना चाहिए?#
गंतव्य का चयन इसलिए करो कि क्या बचाना है, न कि इस आधार पर कि रिसीविंग टूल अपनी सूची में किस एक्सटेंशन को पहले रखता है। ऊपर मापी गई चीज़ों के आधार पर ये चयन बहस योग्य हैं।
| यदि तुम्हें आवश्यकता है | चुनें | क्यों |
|---|---|---|
| सब कुछ एक ही फ़ाइल में रखा गया | GLB | एकमात्र गंतव्य जिसने सीन ग्राफ, सामग्री के नाम, UV और वर्टेक्स के अनुसार रंग को एक साथ रखा, पूरा फ़ॉर्मेट के सबसे छोटे आकार के साथ। |
| सब कुछ सुरक्षित, एक व्यक्ति द्वारा पढ़ने योग्य | glTF | वही सामग्री जो GLB में है, लगभग एक 33 प्रतिशत बड़ी क्योंकि बफर JSON के अंदर base64 में हैं। |
| डेस्कटॉप प्रोग्राम में नाम वाले अलग-अलग वस्तुएं | OBJ | दोनों वस्तुएं और दोनों सामग्री के नाम सुरक्षित रहे। वर्टेक्स के अनुसार रंग छोड़ता है और छह में से सबसे बड़ी फ़ाइल लिखता है। |
| 3D प्रिंटिंग | STL | सिर्फ त्रिभुज, और अन्य कुछ नहीं, जो एक स्लाइसर पढ़ता है। वास्तव में एक मेश में glTF के अलावा सबसे छोटा गंतव्य। |
| ज्यामिति और वर्टेक्स के अनुसार रंग, हल्का वजन | PLY | एकमात्र फाइल फॉर्मेट जो glTF नहीं है और जिसने वर्टेक्स द्वारा रंग को संरक्षित किया, और इंडेक्स को बनाए रखा, इसलिए यह मूल आकार के करीब है। |
| Apple की Quick Look / iPhone पर AR | USDZ | इसने संदर्भ दृश्य में दोनों ऑब्जेक्ट और UV को संरक्षित रखा। इसे पुन: पढ़ने पर वर्टेक्स रंग और मटीरियल नाम खो गए। USDA का एक zip जिसे फोन खोल सकता है। |
ये फॉर्मैट क्या परिभाषित करते हैं#
ऊपर के माप हमारे हैं; प्रत्येक फॉर्मैट क्या ले सकता है, यह हमने तय नहीं किया। ये स्पेसिफिकेशन और फॉर्मैट संदर्भ हैं जो इसे तय करते हैं, ताकि इस पृष्ठ पर दी गई जानकारी को स्रोत में पुष्टि किया जा सके बजाय इसके कि केवल बिना जांचे विश्वास किया जाए।
- glTF 2.0 का विवरणThe Khronos Group
GLB और glTF द्वारा पहने गए दृश्य ग्राफ, सामग्रियों और सहायक उपकरणों को परिभाषित करें, और बताएं कि क्यों वे यहां केवल ऐसे गंतव्य थे जो पूरी तरह से सुरक्षित रहे।
- मीडिया प्रकार मॉडल/gltf-बाइनरीIANA
ऊपर मापे गए बाइनरी कंटेनर GLB के लिए पंजीकृत प्रकार।
- मीडिया प्रकार मॉडल/stlIANA
STL जैसा कि पंजीकृत है: चेहरे के त्रिभुज और सामान्य, कोई रंग, UV, सामग्री या ऑब्जेक्ट नाम के लिए कोई क्षेत्र नहीं।
- Wavefront OBJ फ़ाइल प्रारूपपॉल बर्क
OBJ के लिए हमेशा का संदर्भ, जिसमें वर्टेक्स द्वारा रंग के लिए अपना कोई क्षेत्र नहीं है, जो उस चीज़ से मेल खाता है जिसे रूपांतरण ने हटा दिया।
- PLY पॉलीगॉन फ़ाइल प्रारूपपॉल बर्क
PLY को एकमात्र गंतव्य बनाते हुए प्रत्येक शीर्ष द्वारा गुणों को दस्तावेज़ करें, रंग सहित, जो इसे glTF के विपरीत यहां बनाए रखते हैं।
- USDZ फ़ाइल प्रारूप विनिर्देशनपिक्सर / ओपनयूएसडी
USDZ एक ज़िप है जिसकी पहली प्रविष्टि USDA दृश्य है। यही वह पैकेज है जिसे यह कन्वर्टर लिखता और पढ़ता है।
कैसे मापा गया#
माप उत्पाद को निष्पादित करता है, इसका विवरण नहीं। स्क्रिप्ट वही लोडर और निर्यातक आयात करता है जो ब्राउज़र कन्वर्टर करता है, वही विकल्पों के साथ, और यह रिपॉजिटरी में है ताकि आँकड़े पुन: उत्पन्न या चर्चा किए जा सकें।
- दो नाम वाले घनों के साथ संदर्भ दृश्य बनाना, प्रत्येक में एक नाम वाला धातु सामग्री, शीर्ष द्वारा रंग, UV निर्देशांक और सामान्य शामिल हैं।
- वास्तव में उत्पन्न किए गए मेष को उसी तरह लोड करें जिस तरह कन्वर्टर उस फ़ाइल को लोड करता है जो आप उसे देते हैं, जिसमें वह चरण शामिल है जो वर्टेक्स नॉर्मल्स की गणना करता है जब कोई मेष उनके बिना आता है।
- GLB, glTF, OBJ, STL, PLY और USDZ में निर्यात करें, वही निर्यातक कॉल करके जो कन्वर्टर करता है और वही बाइनरी सेटिंग्स।
- प्रत्येक परिणाम के बाइट में आकार को दर्ज करें।
- गुणों को सीधे लिखे गए बाइट्स से पढ़ें, न कि किसी पुनः लोड की गई सीन से, क्योंकि एक लोडर वह बनावट बना सकता है जो फ़ाइल में नहीं होती: एक OBJ बिना vn लाइनों के भी पुनः लोड किया जाता है लेकिन उसमें संयोग से नॉर्मल्स गुण शामिल होते हैं।
- तालिका को सीधे उस परिणाम से प्रकाशित करें। मापा गया 13 सितंबर 2026 three.js r179.
प्रश्न
- क्या एक 3D फ़ाइल को कन्वर्ट करने से गुणवत्ता खो जाती है?
- आकार नहीं। प्रत्येक गंतव्य रूपांतरित हुआ और फिर से पढ़ा गया, और त्रिभुजों की संख्या और कुल सतह क्षेत्र समान निकले एक जाली में 4,98,734 त्रिभुज, किसी भी फॉर्मेट में निर्देशांकों को छांटे बिना। जो खोता है वह है ज्यामिति के चारों ओर सब कुछ, और यह गंतव्य पर निर्भर करता है: STL UV, रंग, सामग्री और दृश्य ग्राफ को छोड़ देता है; OBJ प्रति शीर्षक रंग को छोड़ देता है; PLY सामग्री के नामों को छोड़ देता है और दृश्य को मर्ज करता है; USDZ प्रति शीर्षक रंग और सामग्री के नामों को फिर से पढ़ने पर छोड़ देता है; GLB और glTF ने सब कुछ सुरक्षित रखा।
- कौन सा 3D फॉर्मेट कम जगह घेरता है?
- GLB, एक वास्तविक ग्रिड में। इन परीक्षणों में GLB ने लिखा 1,173 KB जहाँ OBJ ने लिखा 4,928 KB उसी मॉडल के लिए, क्योंकि GLB बाइनरी है और साझा वर्टेक्स इंडेक्स को बनाए रखता है, जबकि परिणामी OBJ टेक्स्ट है और प्रत्येक त्रिभुज के हर कोने को अलग से संग्रहीत करता है।
- मेरा OBJ उस GLB से बहुत अधिक जगह क्यों ले रहा है जिससे यह बना है?
- दो कारण हैं, दोनों माप में: OBJ टेक्स्ट है, बाइनरी नहीं, और यहां लिखा गया OBJ त्रिभुजों के बीच वर्टेक्स साझा नहीं करता, इसलिए वर्टेक्स की संख्या गुणा हो जाती है 6 एक अच्छी तरह इंडेक्स की गई मेष में। सतह समान है; लेखा-जोखा नहीं।
- Kya STL रंग को बनाए रखता है?
- नहीं। एक बाइनरी STL प्रत्येक त्रिभुज के लिए एक फेस नॉर्मल और तीन कोनों को संग्रहीत करता है, और इसमें रंग, UV, सामग्री या ऑब्जेक्ट नाम के लिए कोई फ़ील्ड नहीं होता। यह सभी STL में पालन किया गया था जो इन परीक्षणों में लिखे गए।
- क्या मैं GLB का उपयोग किए बिना प्रति वर्टेक्स रंग को बनाए रख सकता हूँ?
- हाँ, PLY के साथ। इन परीक्षणों में यह एकमात्र गंतव्य था जो glTF नहीं है और जिसने अपने हेडर में रंग संपत्ति घोषित की है। हाँ, यह कई ऑब्जेक्ट वाले सीन को एक ही मेष में समतल कर देता है, इसलिए आप रंग बनाए रखते हैं और हिस्सों को खो देते हैं।
- क्या बार-बार 3D मॉडल को परिवर्तित करना इसे खराब कर देता है?
- नहीं। JPEG को फिर से सहेजने के विपरीत, 3D रूपांतरण त्रुटि नहीं जमा करता: निर्देशांक बाइनरी फ्लोट्स के रूप में कॉपी किए जाते हैं या, OBJ के मामले में, पूर्ण सटीकता के साथ दशमलव के रूप में लिखे जाते हैं। किसी भी प्रारूप में एक बार यात्रा करने से सतह समान बनी रहती है। जो नहीं लौटता वह है सामग्री और सीन की जानकारी जिसे गंतव्य प्रारंभ से ही ले नहीं सकता था।
- क्या मैं इन आंकड़ों को पुनः उत्पन्न कर सकता हूँ?
- हाँ। मापन स्क्रिप्ट रिपॉजिटरी में है, scripts/measure-conversions.mjs में, और यह JSON लिखती है जिसे यह पृष्ठ पढ़ता है। इसे आखिरी बार चलाया गया 13 सितंबर 2026 three.js r179.