aspose.info
TH

รูปแบบไฟล์การส่ง GLTF - GL

อัปเดตเมื่อ

ไฟล์ GLTF คืออะไร??

glTF (GL Transmission Format) เป็นรูปแบบไฟล์ 3 มิติที่เก็บข้อมูลโมเดล 3 มิติในรูปแบบ JSON การใช้ JSON ช่วยลดทั้งขนาดของเนื้อหา 3 มิติและการประมวลผลรันไทม์ที่จำเป็นในการคลายแพ็กและใช้เนื้อหาเหล่านั้น ถูกนำมาใช้สำหรับการส่งและการโหลดฉากและโมเดล 3 มิติอย่างมีประสิทธิภาพโดยแอปพลิเคชัน glTF ได้รับการพัฒนาโดย Khronos Group 3D Formats Working Group และยังได้รับการอธิบายว่าเป็น JPEG ของ 3D โดยผู้สร้าง

รูปแบบไฟล์ GLTF กำหนดรูปแบบการเผยแพร่ทั่วไปที่ขยายได้สำหรับเครื่องมือและบริการเนื้อหา 3 มิติที่ปรับปรุงเวิร์กโฟลว์การเขียนและเปิดใช้งานการใช้เนื้อหาร่วมกันทั่วทั้งอุตสาหกรรม ความตั้งใจเบื้องหลังการสร้างรูปแบบไฟล์ glTF คือการกำหนดรูปแบบการเผยแพร่ทั่วไปที่ขยายได้สำหรับเครื่องมือและบริการเนื้อหา 3 มิติ ซึ่งควรปรับปรุงขั้นตอนการทำงานในการเขียนและทำให้สามารถใช้เนื้อหาร่วมกันทั่วทั้งอุตสาหกรรมได้ ลดการประมวลผลรันไทม์โดยแอปพลิเคชันโดยใช้ WebGL และ API อื่นๆ

ประวัติโดยย่อของไฟล์ GLTF

ข้อมูลจำเพาะแรกสำหรับรูปแบบไฟล์ glTF 1.0 ได้รับการประกาศในเดือนตุลาคม 2558 นี่เป็นความพยายามหลายชุดที่เริ่มต้นในเดือนมีนาคม 2555 โดย Khronos เป้าหมายของความพยายามเหล่านี้คือเพื่อประเมินโอกาสรอบ ๆ แรงฉุดของ WebGL ผลลัพธ์ที่ได้คือ การสาธิตครั้งแรกของรูปแบบ glTF ซึ่งอิงตามรูปแบบ JSON ได้ถูกนำเสนอในงานมีตติ้ง WebGl ในปี 2012 หลายบริษัทนำรูปแบบนี้มาใช้เป็นครั้งคราว เช่น Cesium, 3D Tiles, Oculus, Microsoft, Archilogic และอื่นๆ

glTF 2.0 เผยแพร่เมื่อวันที่ 5 มิถุนายน 2017 ที่งาน Web3D 2017 Conference มีรายชื่อบริษัทจำนวนมากที่นำรูปแบบไฟล์ glTF ไปใช้หลังจากนั้น

รูปแบบไฟล์ GLTF

ข้อกำหนดรูปแบบไฟล์สำหรับ glTF 2.0 มีให้ ออนไลน์ สำหรับการอ้างอิง และควรปรึกษาในการใช้งานที่เกี่ยวข้องกับการอ่าน/การเขียนสำหรับการสนับสนุน รูปแบบไฟล์ glTF

glTF กำหนดเนื้อหาเป็นไฟล์ JSON พร้อมรองรับข้อมูลภายนอก มันแสดงถึงโมเดล 3 มิติด้วยความช่วยเหลือของ:

  • คำอธิบายฉากแบบเต็มมีอยู่ในไฟล์ .glTF รูปแบบ JSON ซึ่งมีข้อมูลเกี่ยวกับลำดับชั้นของโหนด วัสดุ กล้อง ตลอดจนข้อมูลคำอธิบายสำหรับตาข่าย ภาพเคลื่อนไหว และโครงสร้างอื่นๆ
  • ไฟล์ไบนารี (.bin) ที่มีข้อมูลเรขาคณิตและแอนิเมชัน และข้อมูลอื่นๆ ที่ใช้บัฟเฟอร์
  • ไฟล์รูปภาพ (.jpg, .png) สำหรับพื้นผิว

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

glTF ได้รับการออกแบบมาเพื่อให้ได้ไฟล์ขนาดเล็ก โหลดเร็ว การแสดงฉาก 3 มิติที่สมบูรณ์และความสามารถในการขยาย เป้าหมายการออกแบบที่ไม่เหมือนใครเหล่านี้เป็นสาเหตุหลักที่ทำให้รูปแบบไฟล์ glTF เป็นที่นิยมในโดเมน 3 มิติ ต่อไปนี้เป็นประเภท mime ที่สนับสนุนโดยรูปแบบไฟล์ glTF สำหรับไฟล์ประเภทต่างๆ:

  • ไฟล์ .gltf ใช้ model/gltf+json
  • ไฟล์ .bin ใช้แอปพลิเคชัน/octet-stream
  • ไฟล์พื้นผิวใช้ภาพทางการ/* ประเภทตามรูปแบบภาพเฉพาะ รองรับรูปแบบภาพต่อไปนี้: image/jpeg, image/png เพื่อให้เข้ากันได้กับเว็บเบราว์เซอร์สมัยใหม่

การเข้ารหัส JSON

glTF กำหนดตามข้อจำกัดเพิ่มเติมเกี่ยวกับรูปแบบไฟล์ JSON

เพื่อลดความซับซ้อนของการใช้งานฝั่งไคลเอ็นต์ glTF มีข้อจำกัดเพิ่มเติมเกี่ยวกับรูปแบบ JSON และการเข้ารหัส

  1. JSON ต้องใช้การเข้ารหัส UTF-8 โดยไม่มี BOM
  2. สตริงทั้งหมดที่กำหนดในข้อมูลจำเพาะนี้ (ชื่อคุณสมบัติ, enums) ใช้ชุดอักขระ ASCII เท่านั้น และต้องเขียนเป็นข้อความล้วน เช่น “buffer” แทน "\u0062\u0075\u0066\u0066\u0065\u0072"
  3. ชื่อ (คีย์) ภายในวัตถุ JSON จะต้องไม่ซ้ำกัน กล่าวคือ ไม่อนุญาตให้ใช้คีย์ที่ซ้ำกัน

URI

ทรัพยากรบัฟเฟอร์และรูปภาพอ้างอิงผ่าน URI ไคลเอนต์ต้องรองรับ URI สองประเภทต่อไปนี้

URI ข้อมูล: URI ข้อมูลเป็นไปตามที่กำหนดโดย RFC 2397 และถูกใช้โดย glTF เพื่อฝังทรัพยากรใน JSON

เส้นทาง URI สัมพัทธ์: หรือเส้นทาง-noscheme ตามที่กำหนดโดย RFC 3986, ส่วน 4.2 — ไม่มีแบบแผน สิทธิ์ หรือพารามิเตอร์ อักขระที่สงวนไว้ต้องเข้ารหัสเป็นเปอร์เซ็นต์ตาม RFC 3986 ส่วนที่ 2.2

อ้างอิง

ดูเพิ่มเติม