Chuyển đổi GLB sang glTF
Chuyển GLB sang glTF giúp giải nén một vùng chứa nhị phân duy nhất thành các tệp văn bản và tài sản riêng biệt, để nhà phát triển dễ chỉnh sửa kết cấu và mã hình học 3D.
So sánh định dạng & Thông số kỹ thuật
| Thông số kỹ thuật | GLB | GLTF |
|---|---|---|
| Loại MIME | model/ | model/ |
| Loại | vùng chứa 3D nhị phân độc lập | truyền tải tài nguyên 3D khi chạy |
| Nén | JSON, bộ đệm và kết cấu được đóng gói dạng nhị phân | bản kê khai JSON không mất dữ liệu + bộ đệm nhị phân bên ngoài |
| Thông số tiêu chuẩn | Bộ chứa nhị phân Khronos glTF 2.0 | Đặc tả Khronos glTF 2.0 |
| Chữ ký byte đầu tệp | 67 6C 54 46 02 00 00 00 (glTF version 2 binary container) | 7B 22 61 73 73 65 74 22 ({"asset" JSON root) |
Tổng quan định dạng & Ứng dụng
Định dạng GLB đóng gói cảnh 3D, hoạt ảnh, vật liệu và kết cấu thành một gói nhị phân gọn. Cách này thuận tiện để tải đối tượng nhanh vào trang web và trò chơi, nhưng khiến dữ liệu thô khó chỉnh sửa. Nhà phát triển thường cần giải nén tệp GLB sang định dạng glTF để kiểm tra cấu trúc cảnh, chỉnh thuộc tính vật liệu trong trình soạn thảo văn bản hoặc sửa các tham số bộ đổ bóng được nhúng. Làm việc với tài sản glTF đã giải nén giúp các nhóm kỹ thuật quản lý phiên bản từng thành phần lưới 3D bằng quy trình Git tiêu chuẩn. Thay vì theo dõi một khối nhị phân lớn, nhà phát triển có thể ghi nhận các thay đổi nhỏ trong tệp kê khai JSON và quản lý riêng các tệp bộ đệm nhị phân. Quá trình chuyển đổi này hỗ trợ quy trình phát triển web nâng cao, trong đó tài sản 3D cần chèn bộ đổ bóng tùy chỉnh hoặc thay kết cấu linh hoạt trước khi triển khai vào môi trường chạy.
Thông số kỹ thuật & Phân tích codec
GLB dùng loại MIME model/gltf-binary và bắt đầu bằng tiêu đề 12 byte gồm mã nhận diện 4 byte (0x46546C67), số nguyên phiên bản 4 byte và tổng độ dài tệp 4 byte. Tiếp theo là các khối chứa bảng kê khai JSON và bộ đệm nhị phân. Khi chuyển sang glTF, dùng loại MIME model/gltf+json, bảng kê khai được tách thành tệp văn bản dễ đọc có phần mở rộng .gltf. Dữ liệu hình học và bản đồ điểm ảnh được ghi ra các tệp riêng bên ngoài như .bin và .png. Theo mặc định, cả hai định dạng đều không dùng nén mất dữ liệu. Chúng bảo toàn chính xác vị trí đỉnh, pháp tuyến và tọa độ UV.
Khả năng tương thích hệ điều hành & trình duyệt
Tệp glTF đã giải nén chạy trên hầu hết trình duyệt web hiện đại, gồm Google Chrome, Mozilla Firefox, Apple Safari và Microsoft Edge, bằng bộ kết xuất WebGL và WebGPU. Hệ điều hành máy tính như Windows 10 và 11, macOS, Linux hỗ trợ xem glTF qua công cụ như Trình xem 3D của Windows và Blender. Hệ điều hành di động iOS và Android hiển thị tài sản glTF trong môi trường AR gốc và ứng dụng web; tuy nhiên, nhà phát triển cần lưu trữ riêng các tệp .bin và .gltf đúng cách trên máy chủ để tránh lỗi chia sẻ tài nguyên khác nguồn.
Thông tin hữu ích
Sau khi chuyển đổi, hãy giữ bản đồ kết cấu trong cùng thư mục với tệp .gltf chính để bảng kê khai JSON tìm được các phần phụ thuộc bên ngoài, tránh lỗi đường dẫn.
Câu hỏi thường gặp
Làm thế nào để chuyển đổi glTF Nhị phân sang glTF JSON mà không làm giảm chất lượng?
Việc chuyển đổi từ GLB sang GLTF hoàn toàn không có tổn hao vì cả hai định dạng đều sử dụng các cấu trúc toán học cơ bản giống nhau. Quá trình này đơn giản là trích xuất khối JSON và các bộ đệm nhị phân từ vùng chứa nhị phân duy nhất và ghi chúng ra thành các tệp riêng biệt trên đĩa của bạn mà không làm thay đổi dữ liệu đỉnh hoặc độ nén điểm ảnh.
Sự khác biệt giữa glTF Nhị phân và glTF JSON là gì?
GLB là một tệp nhị phân tự chứa đóng gói mô tả cảnh, hình học và kết cấu vào một lần tải xuống duy nhất. GLTF tách biệt các yếu tố này bằng cách lưu trữ biểu đồ cảnh trong một tệp văn bản có thể đọc được trong khi giữ hình học và kết cấu trong các tệp nhị phân và hình ảnh bên ngoài.