glTF ไบนารี (.glb)

ISO/IEC มาตรฐาน

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

แปลง GLTF เป็น GLB

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

ตรวจสอบไฟล์และข้อมูลเมตา

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

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

เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ

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

ลายเซ็นส่วนหัวระดับไบต์

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

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

67 6C 54 46

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

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

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

สถาปัตยกรรมคอนเทนเนอร์ส่วนหัวไบนารีขนาด 12 ไบต์ ('glTF', รุ่น, ความยาว) ตามด้วยชังก์ JSON (CHUNK 0) และชังก์บัฟเฟอร์ไบนารี (CHUNK 1)
การบีบอัดการบีบอัดเรขาคณิตเมช DRACO, KHR_texture_basisu (เท็กซ์เจอร์ GPU KTX2/Basis Universal) และ ExtMeshopt
การจัดลำดับไบต์ลำดับไบต์ Little-Endian (มาตรฐาน Intel x86 / WebGL)
พื้นที่สีเท็กซ์เจอร์ sRGB, ช่องสัญญาณความหยาบ/ความเป็นโลหะแบบ PBR เชิงเส้น
ช่องสัญญาณและโครงสร้างวัสดุ PBR (Metallic-Roughness), เมชโครงกระดูกที่มีสกิน, เป้าหมายมอร์ฟ, แอนิเมชัน, กล้อง และแสง
ขนาดสูงสุดจำนวนจุดยอดและสามเหลี่ยมไม่จำกัด (รองรับโมเดลขนาดหลายกิกะไบต์)
ความโปร่งใสการครอบคลุมอัลฟา (MASK), การผสมอัลฟา (BLEND) และการส่งผ่านเชิงปริมาตร
การสตรีมและแบบโปรเกรสซีฟไฟล์เดี่ยวที่สมบูรณ์ในตัว พร้อมตารางออฟเซ็ตไบนารีสำหรับโหลด VBO ไปยัง GPU โดยตรง

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

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

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

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

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

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

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

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

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

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

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ตรวจสอบอย่างเคร่งครัดว่าช่วงไบต์ของ accessor และ bufferView ทั้งหมดอยู่ภายในขอบเขตชังก์ไบนารีที่ระบุไว้

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

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 โดยไม่ต้องเสียเวลา 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 ประสิทธิภาพสูงที่ติดตั้งมาให้ในตัวซอฟต์แวร์