1. Các sản phẩm
  2.   3D
  3.   Node.js
  4.   glTF-Transform
 
  

SDK Node.js mã nguồn mở để làm việc với mô hình 3D glTF

SDK Node.js 3D mã nguồn mở hàng đầu cho phép các nhà phát triển phần mềm Đọc, Ghi, Chỉnh sửa, Tối ưu và Thao tác mô hình 3D glTF trong các ứng dụng Node.js.

glTF-Transform là gì?

Thế giới đồ họa 3D và nội dung kỹ thuật số luôn thay đổi. Đối với các nhà phát triển phần mềm và nghệ sĩ, việc có công cụ phù hợp là vô cùng quan trọng. Một công cụ đang nhận được nhiều sự chú ý là thư viện glTF-Transform. Được tạo ra bởi Don McCurdy, dự án mã nguồn mở này là một bước đột phá. Nó giúp các nhà phát triển phần mềm và nghệ sĩ giải quyết mọi khía cạnh phức tạp của việc xử lý hình học 3D. Định dạng glTF, viết tắt của GL Transmission Format, là một tiêu chuẩn do Khronos Group tạo ra. Nó tập trung vào việc truyền tải và tải hiệu quả các cảnh và mô hình 3D trong các ứng dụng Node.js.

Nếu bạn đam mê tạo đồ họa 3D sử dụng định dạng glTF, thư viện glTF-Transform là công cụ không thể thiếu cho bạn. Nó rất phù hợp cho việc sử dụng trên web, vì nó giữ cho mọi thứ nhẹ và đơn giản. Công cụ này có thể xử lý mọi loại nội dung 3D như texture, hoạt ảnh và shader. Thêm nữa, nó giúp giảm kích thước tệp glTF mà không làm giảm chất lượng hình ảnh. Nhờ vậy, thời gian tải nhanh hơn và hiệu suất trên các trang web của bạn được cải thiện. Hơn nữa, nó chuyển đổi và nâng cao tài sản một cách dễ dàng cho nhiều engine game và nền tảng khác nhau. Dải tính năng mạnh mẽ, giao diện thân thiện và thiết kế mã nguồn mở khiến nó trở thành lựa chọn ưu tiên để tinh chỉnh và chuyển đổi tài sản 3D. Nói chung, thư viện glTF-Transform là công cụ giá trị cho những người làm việc với mô hình 3D ở định dạng glTF.

Previous Next

Bắt đầu với glTF-Transform

Cách dễ nhất để cài đặt phiên bản ổn định của glTF-Transform là sử dụng npm. Vui lòng sử dụng lệnh sau để cài đặt thuận lợi.

Cài đặt glTF-Transform qua npm

npm install --global @gltf-transform/cli 

Cài đặt glTF-Transform qua GitHub.

clone https://github.com/donmccurdy/glTF-Transform.git 

Bạn có thể tải thư viện chia sẻ đã biên dịch từ Github.

Đọc & Ghi các cảnh glTF trong Node.js

Bộ công cụ mã nguồn mở glTF-Transform SDK giúp các nhà phát triển phần mềm dễ dàng tạo các Cảnh glTF mới từ đầu hoặc tải và đọc các cảnh hiện có trong các ứng dụng Node.js của họ. Thư viện hỗ trợ chỉnh sửa các cảnh hiện có, nén tệp glTF, thay đổi thuộc tính vật liệu, điều chỉnh cấu trúc nút và nhiều hơn nữa. Dưới đây là một ví dụ đơn giản cho thấy cách các nhà phát triển phần mềm có thể tải một tệp glTF hiện có, cập nhật nó và lưu tệp glTF đã chỉnh sửa vào vị trí họ chọn trong các ứng dụng Node.js.

Cách tải và lưu tệp glTF đã chỉnh sửa trong các ứng dụng Node.js?

const { NodeIO } = require('@gltf-transform/io');

// Create an IO instance.
const io = new NodeIO();

// Load a glTF file.
const document = io.read('path/to/your/model.glb');

// Perform operations on the document...

// Save the modified glTF file.
io.write('path/to/your/output.glb', document);

Nén & Tối ưu hoá tệp glTF trong Node.js

Bộ công cụ mã nguồn mở glTF-Transform SDK rất phong phú tính năng và cho phép các nhà phát triển phần mềm nén cũng như tối ưu hóa các tệp glTF trong môi trường Node.js của họ. Chỉ với một vài dòng mã, thư viện có thể giảm đáng kể kích thước của chúng mà vẫn duy trì chất lượng hình ảnh. Điều này rất quan trọng để nâng cao hiệu suất, đặc biệt trong các ứng dụng web nơi thời gian tải và băng thông là yếu tố then chốt. Ví dụ sau đây minh họa cách các nhà phát triển phần mềm có thể nén các tệp glTF hiện có để giảm kích thước trong các ứng dụng Node.js.

Cách nén tệp glTF để tối ưu kích thước trong các ứng dụng Node.js?

const { NodeIO } = require('@gltf-transform/io');
const { DracoMeshCompression } = require('@gltf-transform/extensions');
const { DracoMeshEncoder } = require('@gltf-transform/functions');

const io = new NodeIO();
const document = io.read('path/to/your/model.glb');

// Add Draco compression.
document.createExtension(DracoMeshCompression)
    .setRequired(true);

await document.transform(
    DracoMeshEncoder({ method: DracoMeshEncoder.Method.EDGEBREAKER })
);

io.write('path/to/your/output-compressed.glb', document);

Biến đổi và chỉnh sửa tệp glTF trong Node.js

Định dạng glTF, được phát triển bởi Khronos Group, là một tiêu chuẩn không bản quyền cho việc cung cấp tài sản 3D. Nó được tối ưu hóa để truyền tải và tải các cảnh và mô hình 3D một cách hiệu quả. SDK glTF-Transform cho phép thực hiện các sửa đổi rộng rãi trên các tệp glTF, bao gồm thay đổi cấu trúc cây node, chỉnh sửa thuộc tính vật liệu, điều chỉnh hoạt ảnh và vân vân. Những khả năng này mang lại cho các nhà phát triển sự linh hoạt trong việc tùy chỉnh tài sản 3D để đáp ứng nhu cầu cụ thể. Ví dụ sau đây cho thấy cách các nhà phát triển phần mềm có thể điều chỉnh cấu trúc node trong các ứng dụng Node.js của họ.

Cách điều chỉnh cấu trúc cây Node trong các ứng dụng Node.js?

const { NodeIO } = require('@gltf-transform/io');
const { DracoMeshCompression } = require('@gltf-transform/extensions');
const { DracoMeshEncoder } = require('@gltf-transform/functions');

const io = new NodeIO();
const document = io.read('path/to/your/model.glb');

// Add Draco compression.
document.createExtension(DracoMeshCompression)
    .setRequired(true);

await document.transform(
    DracoMeshEncoder({ method: DracoMeshEncoder.Method.EDGEBREAKER })
);

io.write('path/to/your/output-compressed.glb', document);

Chuyển đổi tệp 3D glTF trong Node.js

SDK glTF-Transform hoàn toàn hỗ trợ chuyển đổi các tệp glTF giữa các phiên bản và phần mở rộng khác nhau trong các ứng dụng Node.js. Tính năng này đặc biệt hữu ích để đảm bảo tính tương thích với nhiều nền tảng và ứng dụng. Thư viện cũng có thể xuất các tệp glTF sang các định dạng tệp khác, tạo điều kiện cho việc sử dụng và tích hợp rộng rãi hơn.

 Tiếng Việt