แปลง GLB เป็น glTF

การแปลงไฟล์ GLB เป็น GLTF จะแยกคอนเทนเนอร์ไบนารีเดี่ยวออกเป็นไฟล์ข้อความและไฟล์โมเดล 3 มิติแยกกัน เพื่อให้นักพัฒนาสามารถแก้ไขโค้ดพื้นผิวและเรขาคณิตสามมิติได้อย่างง่ายดาย

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

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

หรือวาง Ctrl+V

ระหว่างรอไฟล์ คุณเล่น Code Rain ได้เลย

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

การเปรียบเทียบรูปแบบและข้อกำหนดทางเทคนิค

ข้อกำหนดGLBGLTF
ประเภท MIMEmodel/gltf-binarymodel/gltf+json
ประเภทคอนเทนเนอร์ไบนารี 3 มิติแบบครบในตัวการส่งทรัพยากร 3 มิติขณะทำงาน
การบีบอัดJSON, บัฟเฟอร์ และเท็กซ์เจอร์ที่รวมเป็นไบนารีข้อมูลกำกับ JSON แบบไม่สูญเสียข้อมูล + บัฟเฟอร์ไบนารีภายนอก
ข้อกำหนดมาตรฐานคอนเทนเนอร์ไบนารี Khronos glTF 2.0ข้อกำหนด Khronos glTF 2.0
ส่วนหัวที่ระบุลายเซ็นไฟล์67 6C 54 46 02 00 00 00 (glTF version 2 binary container)7B 22 61 73 73 65 74 22 ({"asset" JSON root)

ภาพรวมรูปแบบและการใช้งาน

รูปแบบ GLB บรรจุฉาก 3 มิติ ภาพเคลื่อนไหว วัสดุ และพื้นผิวไว้ในแพ็กเกจไบนารีเดียวที่จัดระเบียบมาอย่างเรียบร้อย แม้ว่าสิ่งนี้จะยอดเยี่ยมสำหรับการโหลดวัตถุเข้าสู่หน้าเว็บและเกมอย่างรวดเร็ว แต่กลับทำให้การแก้ไขข้อมูลดิบทำได้ยาก นักพัฒนาจึงมักจำเป็นต้องแยกไฟล์ GLB ออกเป็นรูปแบบ GLTF เมื่อต้องการตรวจสอบโครงสร้างฉาก ปรับแต่งคุณสมบัติวัสดุในโปรแกรมแก้ไขข้อความ หรือแก้ไขพารามิเตอร์ของเชดเดอร์ที่ฝังอยู่ การทำงานกับโมเดล 3 มิติ GLTF ที่ถูกแยกออกช่วยให้ทีมวิศวกรสามารถควบคุมเวอร์ชันของส่วนประกอบของโมเดล 3 มิติเฉพาะได้โดยใช้เวิร์กโฟลว์ Git มาตรฐาน แทนที่จะติดตามไบนารีบล็อกขนาดใหญ่ นักพัฒนาสามารถคอมมิตการเปลี่ยนแปลงข้อความขนาดเล็กไปยังไฟล์ Manifest ของ JSON ในขณะเดียวกันก็จัดการไฟล์บัฟเฟอร์ไบนารีแยกต่างหาก กระบวนการแปลงนี้รองรับไปป์ไลน์การพัฒนาเว็บขั้นสูงที่โมเดล 3 มิติต้องการการแทรกเชดเดอร์แบบกำหนดเองหรือการสลับพื้นผิวแบบไดนามิกก่อนการปรับใช้งานจริง

ข้อกำหนดทางเทคนิคและรายละเอียดตัวแปลงสัญญาณ

GLB ใช้ประเภท MIME เป็น model/gltf-binary และเริ่มต้นด้วยส่วนหัวขนาด 12 ไบต์ซึ่งประกอบด้วยลายเซ็นไฟล์ 4 ไบต์ (0x46546C67) จำนวนเต็มระบุเวอร์ชัน 4 ไบต์ และความยาวไฟล์รวม 4 ไบต์ ส่วนหัวนี้ตามด้วยบล็อกที่บรรจุไฟล์ Manifest ของ JSON และบัฟเฟอร์ไบนารี การแปลงเป็น GLTF ซึ่งใช้ประเภท MIME เป็น model/gltf+json จะแยกไฟล์ Manifest ออกเป็นไฟล์ข้อความที่มนุษย์อ่านได้ซึ่งมีนามสกุล .gltf ข้อมูลเรขาคณิตและแผนที่พื้นผิวจะถูกเขียนลงในไฟล์ภายนอกแยกต่างหาก เช่น .bin และ .png รูปแบบทั้งสองไม่ได้ใช้การบีบอัดแบบสูญเสียข้อมูลโดยค่าเริ่มต้น ทั้งคู่ยังคงรักษาตำแหน่งจุดยอด เวกเตอร์ตั้งฉาก และพิกัด UV ไว้ด้วยความแม่นยำทางคณิตศาสตร์อย่างครบถ้วน

ความเข้ากันได้ของระบบปฏิบัติการและเบราว์เซอร์

ไฟล์ GLTF ที่แยกออกแล้วทำงานได้ดีในเว็บเบราว์เซอร์สมัยใหม่ส่วนใหญ่ เช่น Google Chrome, Mozilla Firefox, Apple Safari และ Microsoft Edge โดยใช้ตัวเรนเดอร์ WebGL และ WebGPU ระบบปฏิบัติการเดสก์ท็อป เช่น Windows 10 และ 11, macOS และ Linux รองรับการดูไฟล์ GLTF ผ่านเครื่องมือในระบบ เช่น Windows 3D Viewer และ Blender ระบบปฏิบัติการมือถือ iOS และ Android เรนเดอร์สินทรัพย์ GLTF ได้ในสภาพแวดล้อม AR ของระบบและแอปเว็บ อย่างไรก็ตาม นักพัฒนาต้องโฮสต์ไฟล์ .bin และ .gltf แยกกันบนเซิร์ฟเวอร์ให้ถูกต้อง เพื่อหลีกเลี่ยงข้อผิดพลาดในการแชร์ทรัพยากรข้ามต้นทาง (CORS)

เคล็ดลับการใช้งาน

ควรเก็บแผนผังพื้นผิวของคุณไว้ในโฟลเดอร์เดียวกับไฟล์ .gltf หลักหลังจากการแปลงเสมอ เพื่อให้ไฟล์ Manifest ของ JSON สามารถค้นหาไฟล์ภายนอกที่ต้องพึ่งพากันได้โดยไม่มีข้อผิดพลาดเรื่องเส้นทางที่เสียหาย

คำถามที่พบบ่อย

คุณจะแปลง glTF Binary เป็น glTF JSON โดยไม่สูญเสียคุณภาพได้อย่างไร

การแปลงจาก GLB เป็น GLTF จะไม่มีการสูญเสียข้อมูลเลยเนื่องจากรูปแบบทั้งสองใช้โครงสร้างทางคณิตศาสตร์พื้นฐานเดียวกัน กระบวนการนี้ทำหน้าที่เพียงแค่ดึงข้อมูลส่วน JSON และบัฟเฟอร์ไบนารีออกจากคอนเทนเนอร์ไบนารีเดี่ยวแล้วเขียนออกมาเป็นไฟล์แยกต่างหากบนดิสก์ของคุณโดยไม่มีการเปลี่ยนแปลงข้อมูลจุดยอดหรือการบีบอัดพิกเซล

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

GLB เป็นไฟล์ไบนารีในตัวที่บรรจุคำอธิบายฉาก เรขาคณิต และเนื้อผิวไว้ในการดาวน์โหลดครั้งเดียว ส่วน GLTF จะแยกองค์ประกอบเหล่านี้โดยจัดเก็บกราฟฉากไว้ในไฟล์ข้อความที่อ่านได้ ในขณะเดียวกันก็เก็บบันทึกเรขาคณิตและเนื้อผิวไว้ในไฟล์ไบนารีและไฟล์ภาพภายนอก