glTF ไบนารี (.glb)

ISO/IEC มาตรฐาน

Binary glTF (GLB) คือรูปแบบการจัดเก็บไฟล์ไบนารีแบบรวมในไฟล์เดียวของมาตรฐาน glTF 2.0 ซึ่งได้รับการยกย่องอย่างกว้างขวางว่าเป็น 'JPEG ของ 3D' สำหรับกราฟิกสามมิติบนเว็บ, ความจริงเสริม (AR) และเอนจินเกมแบบเรียลไทม์

แปลง GLTF เป็น GLB

ตัวแปลงจาก GLTF เป็น GLB ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ

ตรวจสอบและดู Metadata

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ GLB โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

การแปลงไฟล์แบบส่วนตัว 100% ในเบราว์เซอร์ - ไฟล์จะไม่ rời ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
การรับประกันความเป็นส่วนตัวแบบไม่มีการส่งผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวในระดับไบต์ (Magic Bytes)

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ GLB โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

67 6C 54 46

การแสดงผลรูปแบบ ASCII: glTF

มาตรฐาน: ISO/IEC 12113:2022 / Khronos Open Standard

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์12-byte binary header ('glTF', version, length) followed by JSON chunk (CHUNK 0) and binary buffer chunk (CHUNK 1)
การบีบอัดDRACO mesh geometry compression, KHR_texture_basisu (KTX2/Basis Universal GPU textures), and ExtMeshopt
การจัดลำดับไบต์ (Byte Endianness)Little-Endian (Intel x86 / WebGL standard)
พื้นที่สีsRGB textures, Linear PBR roughness/metallic channels
ช่องสัญญาณและโครงสร้างPBR materials (Metallic-Roughness), skinned skeletal meshes, morph targets, animations, cameras, and lights
ขนาดสูงสุดUnbounded vertex and triangle count (supports multi-gigabyte models)
ความโปร่งใสAlpha coverage (MASK), alpha blending (BLEND), and volumetric transmission
การสตรีมและแบบโปรเกรสซีฟSingle self-contained file with binary offset tables for direct GPU VBO loading

ตารางเปรียบเทียบทางเทคนิค: GLB กับคู่แข่ง

คุณลักษณะทางเทคนิคGLB (ปัจจุบัน)GLTFUSDZFBX
รูปแบบการจัดเก็บ (Packaging Model)ไฟล์ไบนารีเดี่ยวในตัวJSON + ไฟล์ .bin และพื้นผิวภายนอกไฟล์เก็บถาวร ZIP ของสคีมา USD และพื้นผิวไบนารี/ASCII แบบกรรมสิทธิ์ (Proprietary)
มาตรฐานเว็บและ ARมาตรฐานสากล WebGL และ Android ARมาตรฐานสากล WebGL (หลายไฟล์)มาตรฐาน Apple iOS Quick Look ARมาตรฐานการนำเข้าของเอนจินเกมเดสก์ท็อป
โมเดลวัสดุมาตรฐาน glTF PBR Metallic-Roughnessมาตรฐาน glTF PBRสคีมาวัสดุ Universal Pixar PBRเชดเดอร์ Phong/Lambert/PBR แบบกรรมสิทธิ์
ประสิทธิภาพการอ่านของ GPUทันที (การแมปหน่วยความจำโดยตรง)เร็ว (คำขอเครือข่ายหลายรายการ)เร็ว (รายการ ZIP ที่ไม่ได้บีบอัด)ช้า (ต้องมีการแยกวิเคราะห์ที่ซับซ้อน)

รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex

โมเดล 3D เรนเดอร์โดยไม่มีพื้นผิวหรือแสดงเป็นพื้นผิวสีดำทึบ

สาเหตุหลัก: ส่วนข้อมูล (chunk) ของพื้นผิวฝังตัวเสียหาย หรืออ้างอิงพื้นผิว PBR metallic-roughness หายไป

การกู้คืน: ตรวจสอบและซ่อมแซมแอดเดรสออฟเซ็ตของส่วนข้อมูลโดยใช้ File2File 3D Converter หรือ glTF-Transform

การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์

ตัวแยกวิเคราะห์ GLB ประมวลผลส่วนข้อมูลข้อความ JSON ร่วมกับบัฟเฟอร์ไบนารีตามอำเภอใจ ซึ่งอาจทริกเกอร์บัฟเฟอร์โอเวอร์โฟลว์หากความยาวของบัฟเฟอร์ไม่ตรงกัน

เวกเตอร์การโจมตีที่ทราบ

  • การอ่านบัฟเฟอร์เกินขอบเขต (Buffer over-read) เมื่อ bufferView byteOffset + byteLength มีค่าเกินความยาวส่วนข้อมูลไบนารี
  • การอ่านดัชนีจุดยอดนอกขอบเขตระหว่างการทำงานของ WebGL drawElements
  • การปฏิเสธการให้บริการ (Denial of service) ผ่านลูปการคลายการบีบอัด Draco ที่ผิดปกติ

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน:

ประวัติความเป็นมาและเหตุการณ์สำคัญ

2022glTF 2.0 และ GLB ได้รับการกำหนดมาตรฐานในระดับสากลโดย ISO/IEC เป็น ISO/IEC 12113:2022
2018Google นำ GLB มาใช้เป็นมาตรฐานรูปแบบ 3D สำหรับ Android Scene Viewer และประสบการณ์เว็บ <model-viewer> AR
2015Khronos Group เปิดตัว GLB ในฐานะคอนเทนเนอร์ไบนารีไฟล์เดียวสำหรับระบบนิเวศ glTF

ข้อได้เปรียบและจุดเด่นสำคัญ

  • สมบูรณ์ในตัวเอง: บรรจุเรขาคณิต 3D, วัสดุ PBR, พื้นผิว (PNG/JPEG/KTX2) และแอนิเมชันโครงกระดูกไว้ในไฟล์เดียว
  • อัปโหลดเข้า GPU โดยตรง: บัฟเฟอร์เรขาคณิตแบบไบนารีตรงกับรูปแบบหน่วยความจำ WebGL / Vulkan โดยไม่มีภาระในการแยกวิเคราะห์ (parsing) บน CPU
  • มาตรฐานที่ไร้ข้อกังขาสำหรับ WebGL, WebGPU, การแสดงตัวอย่างสินค้า 3D บนอีคอมเมิร์ซ และความจริงเสริมบนมือถือ

ข้อจำกัดทางเทคนิคและข้อควรพิจารณา

  • ลักษณะที่เป็นไบนารีทำให้การตรวจสอบข้อความหรือแก้ไขด้วยตนเองทำได้ยากหากไม่มีเครื่องมือ 3D เฉพาะทาง
  • ต้องใช้ไลบรารีการคลายการบีบอัด Draco หรือ Basis Universal เมื่อใช้ส่วนขยายการบีบอัดขั้นสูง
  • แพลตฟอร์มของ Apple นิยมใช้ USDZ สำหรับ iOS Quick Look AR แบบเนทีฟ ซึ่งจำเป็นต้องมีการแปลงรูปแบบจาก GLB

เกร็ดความรู้ทางเทคนิคที่น่าสนใจ

  • 4 ไบต์แรกของทุกไฟล์ GLB คือ 0x67 0x6C 0x54 0x46 ซึ่งสะกดเป็นข้อความ ASCII ว่า 'glTF'
  • เมื่อคุณดูรองเท้าผ้าใบ 3D บนเบราว์เซอร์สมาร์ทโฟน คุณกำลังมองหาโมเดล GLB แบบโต้ตอบอย่างแน่นอน
  • GLB ถูกออกแบบมาเป็นพิเศษเพื่อให้ฮาร์ดแวร์กราฟิกสามารถอ่านบัฟเฟอร์จุดยอด (vertex buffers) ตรงจากดิสก์เข้าสู่ VRAM ได้โดยไม่ต้องแปลงใดๆ

คำถามทางเทคนิคที่พบบ่อย

ความแตกต่างระหว่าง glTF และ GLB คืออะไร

glTF คือไฟล์ JSON ที่อ้างอิงถึงเรขาคณิต .bin ภายนอกและไฟล์พื้นผิวรูปภาพแยกต่างหาก แต่ GLB จะนำชุดข้อมูลทั้งหมดนั้นมารวมกันไว้ในไฟล์ไบนารีขนาดกะทัดรัดไฟล์เดียว

ฉันจะแปลง GLB เป็น USDZ สำหรับ Apple AR ได้อย่างไร

คุณสามารถแปลงโมเดล GLB เป็นไฟล์ USDZ ที่พร้อมใช้งานสำหรับ Apple ได้ด้วยคลิกเดียวโดยใช้ File2File.app บนเว็บเบราว์เซอร์ของคุณ

ฉันสามารถเปิดไฟล์ GLB ใน Blender ได้หรือไม่

ได้ Blender มีเครื่องมือผู้นำเข้าและส่งออก glTF/GLB ประสิทธิภาพสูงที่ติดตั้งมาให้ในตัวซอฟต์แวร์