Dữ liệu glTF JSON (.gltf)

ISO/IEC Tiêu chuẩn

GL Transmission Format (glTF) là thông số kỹ thuật JSON mở, miễn phí bản quyền nhằm truyền tải và tải các cảnh cũng như mô hình 3D một cách hiệu quả cho WebGL, WebGPU, các công cụ trò chơi và ứng dụng gốc.

Chuyển đổi GLTF sang GLB

Trình chuyển đổi từ GLTF sang GLB miễn phí trên trình duyệt. Chuyển đổi tệp ngay lập tức trên thiết bị của bạn.

Kiểm tra & Siêu dữ liệu

Các hệ điều hành và trình phân tích tệp nhận dạng tệp glTF bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

Chọn hoặc thả tệp vào đây

Riêng tư - tệp không bao giờ rời khỏi thiết bị của bạn

Hoặc dán Ctrl+V
Cam kết bảo vệ quyền riêng tư, không truyền dữ liệu qua mạng: 0 byte được tải lên máy chủ bên ngoài. Toàn bộ quá trình xử lý diễn ra cục bộ trong hộp cát trình duyệt của bạn.

Chữ ký ở đầu tệp (mẫu byte nhận diện)

Các hệ điều hành và trình phân tích tệp nhận dạng tệp glTF bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

CHỮ KÝ HEX (OFFSET 0):

7B 0A 20 20 22 61 73 73 65 74 22

BIỂU DIỄN ASCII: {\n "asset"

Tiêu chuẩn hóa: ISO/IEC 12113:2022 / Khronos Open Standard

Thông số kỹ thuật

Kiến trúc ContainerTài liệu JSON dễ đọc mô tả đồ thị cảnh, nút, lưới, bộ truy cập, vật liệu và hoạt ảnh, tham chiếu các bộ đệm ngoài
NénKết cấu ngoài (PNG, JPEG, WebP) và tùy chọn nén hình học Draco
Thứ tự byteVăn bản JSON UTF-8 (tham chiếu bộ đệm .bin little-endian)
Không gian màuMàu cơ bản sRGB, Độ nhám/kim loại tuyến tính
Kênh & Cấu trúcPhân cấp cảnh, nút, máy ảnh, vật liệu PBR, bộ xương biến dạng và mục tiêu biến dạng
Kích thước tối đaKhông gian tọa độ và số lượng tam giác không giới hạn
Độ trong suốtChế độ alpha BLEND, MASK với ngưỡng cắt hoặc truyền qua thể tích
Truyền phát & Tăng dầnglTF tách mô tả cảnh khỏi dữ liệu hình học và kết cấu dạng nhị phân, nên trình xem có thể tải từng thành phần khi cần thay vì phải chờ một tệp lớn duy nhất.

Ma trận so sánh kỹ thuật: glTF so với các đối thủ

Thuộc tính kỹ thuậtglTF (Hiện tại)GLBOBJFBX
Kiến trúc TệpVăn bản cảnh JSON + .bin / kết cấu đi kèmTệp nhị phân đơn khép kínCác đỉnh & mặt văn bản thuần túy + .mtlBộ chứa nhị phân/ASCII độc quyền
Tiêu chuẩn Vật liệu PBRMetallic-Roughness PBR chuẩn hóaMetallic-Roughness PBR chuẩn hóaVật liệu Phong/Lambert cũVật liệu độc quyền tùy chỉnh
Hỗ trợ Hoạt ảnhTạo khung xương và mục tiêu biến dạngTạo khung xương và mục tiêu biến dạngKhông có (chỉ hình học tĩnh)Hoạt ảnh phức tạp & xương
Hiệu suất Thời gian thựcĐược tối ưu hóa cho WebGL và các công cụ kết xuất thời gian thựcĐược tối ưu hóa cho WebGL và các công cụ kết xuất thời gian thựcYêu cầu phân tích cú pháp & xây dựng lại chậmYêu cầu phân tích cú pháp SDK máy tính để bàn phức tạp

Các dạng hỏng thường gặp và hướng dẫn khôi phục bằng mã hex

Lỗi công cụ 3D: 'Failed to load buffer: URI not found'.

Nguyên nhân gốc rễ: Tệp nhị phân .bin đi kèm hoặc hình ảnh kết cấu không được tải lên cùng với tệp .gltf.

Khắc phục: Đóng gói tất cả các tệp đi kèm lại với nhau hoặc chuyển đổi trực tiếp sang một tệp GLB duy nhất bằng File2File.app.

Phân tích bảo mật và các đường tấn công nhằm vào bộ phân tích cú pháp

Các tệp glTF JSON tham chiếu các URI bên ngoài (URI dữ liệu hoặc URL từ xa) có thể kích hoạt lỗ hổng Giả mạo Yêu cầu Phía Máy chủ (SSRF) hoặc duyệt đường dẫn.

Các véc-tơ tấn công đã biết

  • Duyệt đường dẫn thông qua các URI bộ đệm tương đối (ví dụ: 'uri: ../../../etc/passwd').
  • SSRF thông qua việc tìm nạp bộ đệm mạng từ xa trong các trình tạo hình thu nhỏ 3D phía máy chủ.
  • Từ chối dịch vụ thông qua các chu kỳ phân cấp nút đệ quy được tạo ra sai quy cách.

Biện pháp phòng thủ tốt nhất: Không cho phép các URL từ xa và chuẩn hóa tất cả các đường dẫn URI bộ đệm cục bộ trước khi tải.

Nguồn gốc lịch sử và các cột mốc

2022glTF 2.0 đạt được sự phê chuẩn quốc tế theo tiêu chuẩn ISO/IEC 12113:2022.
2017Khronos Group phát hành glTF 2.0, đưa Render Dựa trên Vật lý (PBR) trở thành tính năng cốt lõi.
2015glTF 1.0 được công bố tại SIGGRAPH, do Fabrice Robinet, Neil Trevett và Tony Parisi sáng lập.

Ưu điểm & Lợi ích chính

  • Cấu trúc JSON dễ đọc đối với con người cho phép chỉnh sửa bằng chương trình, viết tập lệnh cho quy trình và kiểm tra trực quan.
  • Thiết kế dạng mô-đun: tách biệt siêu dữ liệu cảnh nhẹ khỏi hình học nhị phân có dung lượng lớn (.bin) và các kết cấu.
  • Vật liệu PBR có thể tăng tính nhất quán, nhưng kết quả tùy thuộc vào trình kết xuất, ánh sáng và cài đặt.

Hạn chế & Nhược điểm kỹ thuật

  • Độ phức tạp đa tệp: việc chia sẻ mô hình đòi hỏi phải nén ZIP hoặc bó chung các tệp .gltf, .bin và hình ảnh kết cấu lại với nhau.
  • Tốc độ khởi động mạng ban đầu chậm hơn một chút so với tệp đơn GLB do phải thực hiện nhiều yêu cầu HTTP.
  • Các phần phụ thuộc đường dẫn tương đối có thể bị hỏng nếu các tệp kết cấu đi kèm bị đổi tên hoặc di chuyển.

Thông tin kỹ thuật thú vị

  • glTF chính thức có biệt danh là 'The JPEG of 3D' vì nó tập trung hoàn toàn vào việc truyền tải và hiển thị trong thời gian thực thay vì việc sáng tạo nội dung.
  • Khronos Group giới thiệu glTF để đơn giản hóa việc truyền tài nguyên 3D cho ứng dụng web và di động.
  • NASA cung cấp các mô hình 3D về xe tự hành, vệ tinh và phi hành gia cho công chúng tải xuống miễn phí ở định dạng glTF.

Các câu hỏi kỹ thuật thường gặp

Tại sao tệp glTF của tôi bị mất màu sắc hoặc hình dạng?

Tệp .gltf chỉ chứa các hướng dẫn cảnh JSON. Nó phụ thuộc vào các tệp .bin đi kèm cho hình khối 3D và các tệp .png/.jpg cho màu sắc. Hãy đảm bảo tất cả các tệp đi kèm đều nằm trong cùng một thư mục.

Làm thế nào để biến tệp glTF thành một tệp GLB duy nhất?

Tải tệp .gltf của bạn cùng với các tệp .bin và tệp kết cấu đi kèm lên File2File.app để hợp nhất chúng thành một tệp .glb độc lập duy nhất ngay lập tức.

Những chương trình nào hỗ trợ glTF?

Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot và Windows 3D Viewer đều hỗ trợ glTF theo mặc định.