แปลง glTF เป็น GLB
ไฟล์ที่ส่งออกเป็น glTF มักประกอบด้วยไฟล์สามประเภท ได้แก่ ไฟล์ JSON นามสกุล .gltf บัฟเฟอร์ .bin อย่างน้อยหนึ่งไฟล์ และโฟลเดอร์เท็กซ์เจอร์ ส่วน GLB คือโมเดลเดียวกันที่รวมไว้ในไฟล์ไบนารีไฟล์เดียว ซึ่งเป็นรูปแบบที่แบบฟอร์มอัปโหลด โปรแกรมดูโมเดล และแอป AR ต้องการ
แปลงไฟล์โมเดล 3D
หรือลากไฟล์ STL, OBJ, MTL … มาวางที่นี่ ·
สูงสุด 95 MB ต่อไฟล์· ได้สูงสุด 20 ไฟล์· ลบหลังจาก 30 นาที
ไฟล์จะถูกประมวลผลบนเซิร์ฟเวอร์ของเราและถูกลบหลังจาก 30 นาที
STL และ OBJ ไม่ได้บันทึกหน่วยไว้ หากชิ้นงานในโปรแกรมสไลซ์เล็กหรือใหญ่เกินไป 10 เท่าหรือ 25.4 เท่า แสดงว่าอ่านหน่วยผิด ให้กำหนดหน่วยที่นี่
Blender, โปรแกรม CAD และโปรแกรมสไลซ์ใช้แกน Z เป็นด้านบน ส่วน glTF, Unity และเกมเอนจินส่วนใหญ่ใช้แกน Y เป็นด้านบน ให้สลับแกนหากโมเดลนอนตะแคงหลังนำเข้า
ใช้เมื่อแปลงโมเดลทึบ STEP หรือ IGES เป็นเมช แบบละเอียดให้ส่วนโค้งเรียบแต่ไฟล์ใหญ่กว่า แบบหยาบเพียงพอสำหรับการแสดงตัวอย่างอย่างรวดเร็ว
ใช้เฉพาะเมื่ออัปโหลด PNG, JPG หรือ SVG แบบนูนจะยกพื้นที่สีเข้มให้สูงขึ้น ลิโทเฟนเป็นแผ่นบางที่แสดงภาพเมื่อมีแสงส่องจากด้านหลัง ส่วนการอัดขึ้นรูปจะเปลี่ยนโลโก้หรือเส้นขอบ SVG ให้เป็นรูปทรงทึบแบน
ความกว้างของโมเดลที่พิมพ์ ส่วนความสูงจะเป็นไปตามอัตราส่วนภาพของรูปภาพ
ความสูงสูงสุดของส่วนนูนสำหรับภาพนูนหรือลิโทเฟน หรือความหนาของรูปทรงอัดขึ้นรูป โดยทั่วไปลิโทเฟนใช้ 2–3 mm
แผ่นฐานทึบใต้ภาพนูนเพื่อให้ชิ้นงานพิมพ์ยึดติดกัน 0 หมายถึงไม่มีฐาน
วิธีใช้เครื่องมือนี้
- 1
บีบอัดโฟลเดอร์ glTF เป็น ZIP
รวมไฟล์ .gltf ไฟล์ .bin และรูปภาพพื้นผิวไว้ใน ZIP เดียว โดยคงโครงสร้างโฟลเดอร์ตามที่โปรแกรมส่งออกสร้างไว้ แล้วอัปโหลด ส่วนไฟล์ .gltf ที่ฝังข้อมูลไว้ในตัวเองอัปโหลดแยกได้เลย รองรับสูงสุด 20 ไฟล์ ไฟล์ละไม่เกิน 95 MB
- 2
ไม่ต้องแก้ไขโมเดล
ปล่อย หน่วยของโมเดล เป็น m และ แกนด้านบน เป็น Keep เพราะ glTF ที่ถูกต้องใช้หน่วยเมตรและแกน Y ขึ้นอยู่แล้ว เปิด คงพื้นผิวและวัสดุ ไว้เพื่อฝังรูปภาพทั้งหมด
- 3
แปลงเป็น GLB
กด แปลงเป็น GLB แล้วดาวน์โหลดไฟล์ของแต่ละโมเดล ไฟล์ที่อัปโหลดและผลลัพธ์จะถูกลบหลังจาก 30 นาที
glTF กับ GLB ต่างกันอย่างไร
ทั้งสองเก็บโมเดล glTF 2.0 เดียวกัน .gltf เป็น JSON ที่อ่านได้และชี้ไปยังไฟล์ .bin และรูปภาพแยกกัน ส่วน GLB รวม JSON บัฟเฟอร์ และรูปภาพไว้ในไฟล์ไบนารีเดียว
ทำไมควรรวม glTF ให้เป็น GLB
Khronos Group ออกแบบ glTF 2.0 ซึ่งเปิดตัวในปี 2017 ให้เป็นฟอร์แมตสำหรับส่งต่อ คือขั้นตอนสุดท้ายระหว่างเครื่องมือ 3D กับผู้แสดงโมเดล รูปแบบ JSON เป็นมิตรกับนักพัฒนาเพราะอ่านและแก้ไขได้ แต่ในทางปฏิบัติเปราะบาง หากเปลี่ยนชื่อพื้นผิว อัปโหลด .gltf โดยไม่มี .bin หรือให้ CMS ตัดโครงสร้างโฟลเดอร์ทิ้ง โมเดลจะโหลดมาโดยรูปทรงหายหรือพื้นผิวเป็นสีขาว
GLB แก้ปัญหานี้ด้วยการรวมทุกอย่างไว้ในคอนเทนเนอร์เดียว สื่อสินค้าของ Shopify, Scene Viewer ของ Android, model-viewer ของ Google และตลาดซื้อขายแอสเซ็ตส่วนใหญ่จึงต้องการ GLB การแปลงไม่สูญเสียข้อมูล ตัวแปลงอ่าน JSON โหลดทุกบัฟเฟอร์และรูปภาพที่อ้างอิง เขียนลงในชังก์ไบนารีเดียว และแก้การอ้างอิงให้ชี้ภายในไฟล์
โครงสร้างของไฟล์ GLB
- ส่วนหัว: ค่าเฉพาะ glTF เวอร์ชัน 2 และความยาวรวม
- 12 ไบต์
- JSON ก่อน จากนั้นเป็นชังก์ BIN เดียวที่มีบัฟเฟอร์และรูปภาพ
- 2 ชังก์
- ขนาดการจัดแนวที่ทุกชังก์ถูกเติมให้ครบ
- 4 ไบต์
- แทน .gltf + .bin + พื้นผิว
- 1 ไฟล์
GLTF
GL Transmission Format
glTF คือรูปแบบ 3 มิติแบบเปิดจาก Khronos Group เผยแพร่ครั้งแรกในปี 2015 และมักได้รับการขนานนามว่าเป็น “JPEG ของโลก 3 มิติ” ไฟล์ .gltf เป็น JSON ที่อธิบายฉาก โดยปกติมาพร้อมไฟล์รูปทรง .bin และไฟล์รูปภาพเท็กซ์เจอร์แยกต่างหาก รองรับวัสดุ PBR แอนิเมชัน และการผูกผิว (skinning) และออกแบบมาเพื่อการเรนเดอร์แบบเรียลไทม์ที่มีประสิทธิภาพ ไฟล์ที่แยกกันอาจสูญหายระหว่างการแชร์ จึงมักนิยมใช้ GLB ที่เป็นไฟล์เดียวมากกว่า
- การบีบอัด
- –
- พื้นหลังโปร่งใส
- –
- ภาพเคลื่อนไหว
- ได้
- เปิดตัว
- 2015 · Khronos Group
GLB
glTF Binary (GLB)
GLB คือรูปแบบไบนารีของ glTF 2.0 ซึ่งเป็นรูปแบบส่งข้อมูล 3 มิติที่ Khronos Group เผยแพร่ในปี 2017 รวมรูปทรง วัสดุ PBR เท็กซ์เจอร์ และแอนิเมชันไว้ในไฟล์เดียวที่กะทัดรัดและออกแบบมาให้โหลดได้เร็ว GLB นิยมใช้กับ 3 มิติบนเว็บ โปรแกรมดู AR, Android Scene Viewer และตลาดโมเดลออนไลน์ เครื่องมือ 3 มิติบนเดสก์ท็อปรุ่นเก่าและโปรแกรม CAD บางตัวนำเข้าไม่ได้
- การบีบอัด
- –
- พื้นหลังโปร่งใส
- –
- ภาพเคลื่อนไหว
- ได้
- เปิดตัว
- 2017 · Khronos Group
การแปลง glTF เป็น GLB คือขั้นตอนการรวมแพ็กเกจ ผู้ใช้รวม .gltf บัฟเฟอร์ .bin และพื้นผิวเป็นไฟล์เดียว เพราะแบบฟอร์มอัปโหลด AR บน Android และตัวแสดงผลบนเว็บต้องการโมเดลที่สมบูรณ์ในไฟล์เดียว
แก้ปัญหาไฟล์ .bin และเท็กซ์เจอร์หาย
GLB ไม่มีรูปทรง หรือการแปลงล้มเหลว
ไม่ได้อัปโหลดบัฟเฟอร์ .bin ให้บีบอัดเป็น ZIP พร้อมไฟล์ .gltf โดยใช้ชื่อไฟล์เดียวกับที่ JSON อ้างอิง
พื้นผิวเป็นสีขาวหรือสีเทา
พื้นผิวหายไป เปิด .gltf ด้วยโปรแกรมแก้ไขข้อความ ตรวจรายการ uri ของรูปภาพ แล้วใส่ไฟล์เหล่านั้นใน ZIP ตามพาธสัมพัทธ์เดิม
พาธของพื้นผิวขึ้นต้นด้วย C:\ หรือ /Users
ตัวส่งออกเขียนพาธแบบสัมบูรณ์ ให้ส่งออกใหม่ด้วยพาธสัมพัทธ์ หรือย้ายรูปมาไว้ข้าง .gltf แล้วแก้ uri เป็นชื่อไฟล์เปล่า ๆ
พื้นผิวเป็น KTX2 หรือ WebP
ต้องใช้ส่วนขยาย KHR_texture_basisu หรือ EXT_texture_webp ซึ่งบางตัวแสดงผลไม่รองรับ ให้ส่งออกใหม่เป็น PNG หรือ JPEG เพื่อให้รองรับได้กว้างที่สุด
คำถามเกี่ยวกับการแปลง glTF เป็น GLB
การแปลง glTF เป็น GLB ทำให้โมเดลเปลี่ยนไปหรือไม่
ไม่ เมช วัสดุ ชื่อโหนด แอนิเมชันและสกินถูกคัดลอกตามเดิม มีเพียงรูปแบบการจัดเก็บที่เปลี่ยน โดย JSON จะย้ายไปอยู่ในชังก์แรกของ GLB ส่วนบัฟเฟอร์และรูปภาพจะอยู่ในชังก์ไบนารี
ทำไมต้องอัปโหลดเป็น ZIP แทนที่จะอัปโหลดแค่ไฟล์ .gltf
glTF แบบแยกไฟล์ชี้ไปยัง .bin และพื้นผิวด้วยพาธแบบสัมพัทธ์เท่านั้น หากอัปโหลดไฟล์เดียว ลิงก์เหล่านั้นจะใช้ไม่ได้ และ GLB จะขาดรูปทรงหรือรูปภาพ การบีบอัดโฟลเดอร์เป็น ZIP จะเก็บทุกไฟล์ที่อ้างอิงไว้ข้างไฟล์ .gltf ซึ่งคู่มือแตกไฟล์ ZIP บนทุกอุปกรณ์ ของเราก็อธิบายในทิศทางตรงกันข้ามไว้ด้วย
ไฟล์ GLB จะมีขนาดไฟล์เล็กกว่า glTF หรือไม่
เมื่อเทียบกับ .gltf ที่ฝังทุกอย่างเป็นข้อความ base64 ใช่ เล็กลงประมาณหนึ่งในสี่ เพราะ base64 ทำให้ข้อมูลไบนารีใหญ่ขึ้นราวหนึ่งในสาม แต่เมื่อเทียบกับ .gltf ที่แยก .bin และรูปภาพ ขนาดรวมใกล้เคียงเดิม ข้อดีคือได้ไฟล์เดียว
รองรับไฟล์ glTF ที่บีบอัดด้วย Draco หรือไม่
glTF ที่ใช้ส่วนขยาย KHR_draco_mesh_compression จะถูกอ่านและคงรูปทรงไว้ หากต้องการไฟล์เว็บที่เล็กที่สุด ให้ใช้การบีบอัด Draco หรือ meshopt กับ GLB ที่ได้ด้วยเครื่องมืออย่าง glTF-Transform
แปลงไฟล์ GLB กลับเป็นไฟล์ glTF แยกกันได้หรือไม่
ได้ อัปโหลด GLB แล้วเลือก glTF ใน แปลงเป็น บนเครื่องมือแปลงไฟล์ 3D วิธีนี้มีประโยชน์เมื่อต้องการแก้ JSON ด้วยมือหรือเปลี่ยนพื้นผิวโดยไม่ต้องส่งออกใหม่
แอปใดบ้างที่ส่งออก glTF ซึ่งนำมารวมด้วยวิธีนี้ได้
ตัวส่งออก glTF ของ Blender เขียนเป็น glTF Separate หรือ GLB ได้โดยตรง เช่นเดียวกับไฟล์ที่ดาวน์โหลดจาก Sketchfab เครื่องมือ Substance และตัวส่งออกของเกมเอนจินส่วนใหญ่ หากเครื่องมือของคุณมีเฉพาะแบบแยกไฟล์ หน้านี้จะช่วยให้ได้ไฟล์เดียว