Nén đỉnh GLTF

Đơn giản hóa và mã hóa hình học GLTF, tải về một file GLB tối ưu.

Không gian làm việc

Đang tải...

Vui lòng đợi

Về công cụ này

Công cụ nhận file .gltf kèm .bin và kết cấu đi kèm. Bạn giảm lưới, chọn mã hóa Meshopt (khuyến nghị) hoặc Draco, rồi tải về một file GLB tối ưu. Kết cấu giữ nguyên, mọi bước chạy ngay trong trình duyệt.

Mẹo

  • 1Tải kèm cả file .bin lẫn kết cấu mà .gltf tham chiếu
  • 2Chỉ bật được một trong hai: Meshopt hoặc Draco
  • 3Giảm lưới là bước riêng, có thể chạy không kèm mã hóa

Về tùy chọn cấu hình

Đỉnh / Hình học

Đơn giản hóa lưới

Mặc định50%

Phạm vi0% – 100% · step 5%

Sử dụng thuật toán đơn giản hóa lưới để giảm số lượng mặt và đỉnh. Mặc định ở mức trung bình; tăng cường độ sẽ thu nhỏ dung lượng tệp hơn nữa nhưng có thể làm mất chi tiết bề mặt. Chỉ tác động đến mật độ hình học, không thay đổi định dạng thùng chứa tệp.

Nén Meshopt

Mặc địnhBật

Áp dụng EXT_meshopt_compression cho glTF/GLB, nén vùng đệm hình học mà không thay đổi số mặt. Bật mặc định, rất phù hợp khi nạp thời gian thực. Không thể bật đồng thời với Draco. Không áp dụng cho các định dạng không phải glTF như STL, OBJ hoặc FBX.

BậtKhuyên dùng

Mặc định. Kích hoạt nén thùng chứa Meshopt.

Tắt

Không ghi phần mở rộng Meshopt.

Cấp độ Meshopt

Mặc địnhCao

Kiểm soát chiến lược mã hóa Meshopt. Mặc định 'Cao' thường cho dung lượng nhỏ hơn và bật bộ lọc thuộc tính, phù hợp với hầu hết tình huống Web. 'Trung bình' áp dụng lượng tử hóa đồng đều hơn cho các thuộc tính.

CaoKhuyên dùng

Mặc định. Nén mạnh mẽ hơn kèm bộ lọc, dung lượng thường nhỏ hơn.

Trung bình

Lượng tử hóa đồng đều hơn, tỷ lệ nén thường thấp hơn một chút.

Nén Draco

Mặc địnhTắt

Áp dụng KHR_draco_mesh_compression cho glTF/GLB. Dung lượng thường nhỏ hơn Meshopt, nhưng chi phí giải mã lớn hơn. Tắt mặc định; không thể dùng chung với Meshopt. Không áp dụng cho các định dạng không phải glTF.

TắtKhuyên dùng

Mặc định. Không ghi phần mở rộng Draco.

Bật

Bật Draco (sẽ tắt Meshopt).

Cường độ nén

Mặc định6

Phạm vi1 – 10

Đánh đổi giữa tốc độ mã hóa/giải mã của Draco, phạm vi từ 1 đến 10. Giá trị càng cao càng ưu tiên thu nhỏ dung lượng nhưng thời gian mã hóa lâu hơn. Mặc định 6, phù hợp với đa số mô hình.

Phương thức mã hóa

Mặc địnhEdgebreaker

Phương thức mã hóa cấu trúc topo của Draco. Mặc định Edgebreaker thường cho tỷ lệ nén tốt hơn trên lưới tam giác. Sequential phù hợp hơn với dải thứ tự hoặc chuỗi điểm.

EdgebreakerKhuyên dùng

Mặc định. Tối ưu cho lưới tam giác phổ biến.

Tuần tự

Phù hợp cho dải có thứ tự và topo đặc thù.

Số bit lượng tử hóa (Nâng cao)

Nằm trong mục Cài đặt nâng cao trên giao diện. Độ chính xác lượng tử hóa thuộc tính đỉnh khi Meshopt hoặc Draco ghi tệp glTF: mặc định vị trí 14 bit, vector pháp tuyến 10 bit, UV 12 bit. Số bit càng thấp tệp càng nhẹ nhưng nguy cơ rách mặt hoặc lỗi kết cấu càng cao.

Số bit vị trí

Mặc định14

Phạm vi8 – 16

Số bit lượng tử hóa cho thuộc tính POSITION (8 đến 16). Mặc định 14: cân bằng giữa kích thước tệp và nguy cơ rách lưới. Đặt quá thấp có thể gây khe hở hoặc rung lắc.

Số bit vector pháp tuyến

Mặc định10

Phạm vi8 – 16

Số bit lượng tử hóa cho thuộc tính NORMAL (8 đến 16). Mặc định 10. Đặt quá thấp dễ sinh lỗi đổ bóng loang lổ.

Số bit UV

Mặc định12

Phạm vi8 – 16

Số bit lượng tử hóa cho thuộc tính TEXCOORD (8 đến 16). Mặc định 12. Đặt quá thấp có thể làm giật hoặc méo kết cấu.

Thông tin định dạng

Định dạng đầu vào

Phần mở rộng:
gltf, glb
Tên đầy đủ:
Định dạng truyền tải GL (glTF)
Loại:
Mô hình 3D
Định dạng:
glTF (JSON + tệp rời)
Công cụ:
Three.jsBabylon.jsBlender
Mô tả:
Tệp glTF là chuẩn mô hình 3D mở dạng JSON do Khronos Group quản lý. Tệp chứa mô tả cấu trúc phân cảnh bằng JSON và tham chiếu đến các tệp dữ liệu nhị phân .bin cùng các tệp ảnh kết cấu PNG/JPG.

Ghi chú:

  • Nên đóng gói tệp .gltf, .bin và ảnh vào tệp ZIP khi tải lên
  • Có thể chuyển đổi nhanh sang GLB để tiện lưu trữ thành một tệp đơn

Tính năng hỗ trợ:

  • Cấu trúc cảnh 3D mở dựa trên JSON
  • Vật liệu PBR và hoạt ảnh chuyển động
  • Tương thích hoàn hảo với Three.js và Babylon.js

Định dạng đầu ra

Phần mở rộng:
glb
Tên đầy đủ:
GLB nén
Loại:
Mô hình 3D
Định dạng:
Nhị phân (glTF 2.0) với nén Draco và kết cấu
Công cụ:
Three.jsBabylon.js
Mô tả:
Định dạng tệp GLB nén sử dụng thuật toán nén hình học Draco hoặc tối ưu hóa kết cấu để giảm đáng kể dung lượng tệp tải về trong khi vẫn duy trì độ sắc nét trực quan tuyệt vời.

Ghi chú:

  • Mô hình được mã hóa bằng Draco yêu cầu bộ giải mã Draco để kết xuất hiển thị
  • Dung lượng tệp có thể giảm từ 50% đến 90% tùy theo cấu hình tối ưu

Tính năng hỗ trợ:

  • Nén hình học Draco, giảm tới 90% dung lượng
  • Chuyển kết cấu sang WebP/JPEG
  • Đơn giản hóa lưới với mức tùy chỉnh
  • Giữ nguyên vật liệu PBR và cấu trúc cảnh gốc

Cách sử dụng

1

Tải mô hình lên

Kéo thả file .gltf kèm .bin và kết cấu

2

Cấu hình tham số

Giảm lưới, chọn Meshopt hoặc Draco

3

Nén và tải về

Tải file GLB tối ưu

Q

Vì sao không tải trực tiếp file .gltf?

A

Bản nén được giao dưới dạng GLB một file để dễ di chuyển và được engine hỗ trợ rộng: một file nhị phân chứa hình học đã mã hóa. GLB nạp nhanh hơn .gltf kèm .bin và kết cấu rời, đồng thời dễ host hơn.

Q

Meshopt và Draco, cái nào giải mã nhanh hơn?

A

Meshopt được thiết kế cho giải mã nhanh trên web và thiết bị di động, là lựa chọn mặc định nên dùng khi ưu tiên tốc độ tải. Draco thường cho file nhỏ hơn nhưng tốn thời gian giải mã lâu hơn. Trên cùng một khối hình học chỉ bật được một trong hai.

Q

Kết cấu có được giữ nguyên không?

A

Có. Công cụ chỉ xử lý bộ đệm hình học; kết cấu được nhúng nguyên trạng vào GLB đầu ra, giống hệt file gốc và không mất chất lượng.

Q

Có thể chỉ giảm lưới mà không dùng Meshopt hay Draco không?

A

Được. Tắt mã hóa container thì công cụ chỉ giảm lưới, đầu ra vẫn là GLB tối ưu với hình học đã đơn giản hóa. Cách này hữu ích khi bạn chỉ muốn bớt số tam giác mà không mã hóa lại bộ đệm.

Q

Mã hóa Draco là gì?

A

Draco là thư viện mã nguồn mở của Google dùng để nén hình học 3D và đám mây điểm. Nó có thể thu nhỏ bộ đệm lưới tới 90% mà gần như không thấy khác biệt bằng mắt. Meshopt là phương án thay thế, giải mã thường nhanh hơn nhưng đôi khi file lớn hơn một chút.

Q

Mô hình sau khi nén dùng được trong Three.js không?

A

Được. Three.js nạp sẵn GLB/GLTF và hỗ trợ cả Draco lẫn Meshopt. Bạn chỉ cần nạp đúng decoder vào dự án: DRACOLoader cho Draco, còn MeshoptDecoder nằm trong thư mục examples của three.