1. Sản Phẩm
  2.   Aspose.3D
  3.   Aspose.3D FOSS for TypeScript

Aspose.3D FOSS cho TypeScript

Tải, xây dựng, biến đổi và xuất các cảnh 3D từ Node.js — đầy đủ kiểu dữ liệu, mã nguồn mở và sẵn sàng cho sản xuất với chỉ một lệnh cài đặt npm.

Thư viện TypeScript mã nguồn mở cho xử lý tệp 3D

Aspose.3D FOSS for TypeScript là một thư viện có giấy phép MIT để làm việc với các định dạng tệp 3D trong các ứng dụng Node.js. Cài đặt nó bằng một lệnh npm install @aspose/3d duy nhất và bắt đầu đọc, xây dựng và ghi các cảnh 3D trong TypeScript ngay lập tức, mà không cần các addon gốc để biên dịch, không cần SDK bên ngoài để cài đặt, và không cần renderer.

Thư viện cung cấp một API đồ thị cảnh được gõ đầy đủ, được xây dựng quanh Scene, Node, Entity, Mesh, Camera, LightTransform, cùng mô hình khái niệm được các công cụ 3D chuyên nghiệp sử dụng. Hỗ trợ định dạng bao gồm OBJ (Wavefront, với việc tải vật liệu .mtl), glTF 2.0 và GLB nhị phân (vật liệu PBR), STL (nhị phân và ASCII, vòng quay đầy đủ), COLLADA (DAE), 3MF và FBX. Các lớp tùy chọn theo định dạng như ObjLoadOptionsGltfSaveOptions cho phép bạn kiểm soát chính xác hướng hệ tọa độ, tỉ lệ, chuẩn hoá pháp tuyến, đầu ra nhị phân so với JSON, và việc tải vật liệu.

Aspose.3D FOSS nhắm tới Node.js 18, 20 và 22+ với TypeScript 5.0+ và biên dịch thành CommonJS. Thư viện đi kèm với các cài đặt biên dịch TypeScript chặt chẽ (noImplicitAny, strictNullChecks) để IDE của bạn cung cấp tính năng tự động hoàn thành đầy đủ và an toàn khi biên dịch. Phụ thuộc thời gian chạy duy nhất của nó, xmldom, được cài đặt tự động. Đối với dòng sản phẩm doanh nghiệp, xem Aspose.3D — Enterprise Product Family.

Hỗ trợ định dạng 3D và API đồ thị cảnh có kiểu dữ liệu

  • OBJ / MTL: Tải các tệp Wavefront OBJ kèm theo định nghĩa vật liệu.
  • glTF 2.0 / GLB: Tải vật liệu PBR và xuất GLB nhị phân qua GltfSaveOptions.
  • STL: Đọc và ghi cả STL nhị phân và ASCII với việc xác minh đầy đủ vòng quay.
  • COLLADA, 3MF, FBX: Hỗ trợ định dạng bổ sung với các lớp tùy chọn cho từng định dạng.
  • Full TypeScript types: Mỗi lớp, phương thức và tùy chọn đều được gõ mạnh bằng noImplicitAnystrictNullChecks.

Nơi Aspose.3D FOSS có thể được sử dụng

  • Node.js asset pipelines: Nhập tệp OBJ, xác thực và định hướng lại hình học, và xuất ra GLB trong CI.
  • Công cụ trò chơi: Xử lý hàng loạt các lưới 3D mà không cần engine hoặc trình render gốc.
  • Quy trình in 3D: Đọc, xác thực và xuất lại các tệp STL và 3MF.
  • Serverless backends: Chạy các endpoint chuyển đổi 3D trong Lambda hoặc Cloud Functions.
  • Di chuyển nội dung: Chuyển đổi giữa các họ định dạng ở quy mô lớn từ một script duy nhất.

Tùy chọn theo định dạng và kiểm soát tọa độ

  • Hướng hệ tọa độ: Lật trục và điều chỉnh tỷ lệ cho mỗi định dạng bằng các lớp tùy chọn.
  • Chuẩn hoá pháp tuyến: Tự động chuẩn hoá các pháp tuyến đỉnh khi tải hoặc lưu.
  • Binary vs. JSON output: Chọn GLB nén hoặc glTF có thể đọc được qua GltfSaveOptions.
  • Kiểm soát tải vật liệu: Bật hoặc tắt việc tải MTL/texture để phân tích nhanh hơn.
  • Round-trip fidelity: Các nút đồ thị cảnh không xác định được giữ nguyên nguyên văn khi lưu lại.

Trải nghiệm nhà phát triển

Aspose.3D FOSS cho TypeScript được cài đặt bằng một lệnh npm install @aspose/3d duy nhất. Không có addon gốc nào cần biên dịch. Thư viện này hoàn toàn bằng TypeScript/JavaScript với một phụ thuộc được tự động cài đặt (xmldom).

API được gõ mạnh cung cấp tính năng tự động hoàn thành IDE đầy đủ cho mọi lớp đồ thị cảnh và tùy chọn định dạng. Thư viện nhắm mục tiêu Node.js 18–22+ và TypeScript 5.0+, chạy giống hệt trên các máy chạy CI Linux và các workstation của nhà phát triển, và được cấp phép MIT với một trình theo dõi vấn đề mở trên GitHub.

Tải một cảnh OBJ và xuất dưới dạng glTF

Cài đặt bằng npm, sau đó sử dụng scene.open() với ObjLoadOptions để tải lưới cùng với tệp vật liệu MTL của nó. Cả open()save() đều đồng bộ — không cần await hay chuỗi Promise. Gọi scene.save() với phần mở rộng .gltf sẽ ghi JSON glTF 2.0 tiêu chuẩn — định dạng được suy ra tự động từ phần mở rộng tệp.

npm install @aspose/3d
import { Scene } from "@aspose/3d";
import { ObjLoadOptions } from "@aspose/3d/formats/obj";
const scene = new Scene();
scene.open("model.obj", new ObjLoadOptions());
// Export as glTF 2.0 JSON
scene.save("model.gltf");

Chuyển đổi STL sang Binary GLB

Để tạo ra một GLB nhị phân gọn thay vì glTF JSON mặc định, hãy truyền GltfSaveOptions với binaryMode = true. Cả open()save() đều đồng bộ — không cần await.

import { Scene } from "@aspose/3d";
import { GltfSaveOptions } from "@aspose/3d/formats/gltf";
const scene = new Scene();
scene.open("mesh.stl");
// Save as compact binary GLB
const opts = new GltfSaveOptions();
opts.binaryMode = true;
scene.save("mesh.glb", opts);

Câu Hỏi Thường Gặp

Aspose.3D FOSS cho TypeScript là gì?

Đây là một thư viện TypeScript/Node.js miễn phí, có giấy phép MIT, dùng để tải, thao tác và lưu các cảnh 3D mà không cần cài đặt bất kỳ native addon nào hoặc external SDK.

Các định dạng 3D nào được hỗ trợ?

OBJ (với .mtl), glTF 2.0 và GLB, STL (binary và ASCII), COLLADA (DAE), 3MF và FBX. Mỗi định dạng đều có một lớp tùy chọn kiểu riêng.

Nó có yêu cầu các addon gốc của Node.js không?

Không. Aspose.3D FOSS cho TypeScript là JavaScript/TypeScript thuần. Nó không yêu cầu bước biên dịch và có một phụ thuộc thời gian chạy duy nhất (xmldom) được cài đặt tự động bởi npm.

Tôi cài đặt nó như thế nào?

Chạy npm install @aspose/3d. Không cần gói hệ thống bổ sung hay addon gốc.

Các phiên bản Node.js và TypeScript nào được hỗ trợ?

Node.js 18, 20 và 22+. TypeScript 5.0+. Thư viện biên dịch sang CommonJS và hoạt động với cài đặt TypeScript nghiêm ngặt.

Nó có đi kèm với các định nghĩa kiểu TypeScript không?

Có. Tất cả các lớp, phương thức, enum và kiểu tùy chọn đều được gõ đầy đủ với noImplicitAnystrictNullChecks được bật.

Tôi có thể kiểm soát hướng hệ tọa độ không?

Có. Các lớp tùy chọn theo định dạng như ObjLoadOptionsGltfSaveOptions cho phép bạn đảo trục, điều chỉnh tỉ lệ và chuẩn hoá vector pháp tuyến mà không cần mã phân tích tùy chỉnh.

Tôi có thể tìm mã nguồn ở đâu?

Thư viện được cấp phép MIT và được lưu trữ trên GitHub. Các báo cáo lỗi và pull request đều được chào đón.

  

Tài Nguyên Hỗ Trợ và Học Tập

 Tiếng Việt