Aspose.3D FOSS for TypeScript 是一个基于 MIT 许可证的库,用于在 Node.js 应用中处理 3D 文件格式。只需运行 npm install @aspose/3d 一条命令,即可立即在 TypeScript 中读取、构建和写入 3D 场景,无需编译本机插件、无需安装外部 SDK,也不需要渲染器。
该库提供了围绕 Scene、Node、Entity、Mesh、Camera、Light 和 Transform 构建的完整类型化场景图 API,这与专业 3D 工具使用的概念模型相同。支持的格式包括 OBJ(Wavefront,支持 .mtl 材质加载)、glTF 2.0 与二进制 GLB(PBR 材质)、STL(二进制和 ASCII,完整往返)、COLLADA(DAE)、3MF 和 FBX。每种格式的选项类,如 ObjLoadOptions 和 GltfSaveOptions,让您能够精确控制坐标系方向、缩放、法线归一化、二进制或 JSON 输出以及材质加载。
Aspose.3D FOSS 目标 Node.js 18、20 和 22+,使用 TypeScript 5.0+,编译为 CommonJS。库随附严格的 TypeScript 编译器设置(noImplicitAny、strictNullChecks),因此您的 IDE 能提供完整的自动补全和编译时安全性。它唯一的运行时依赖 xmldom 会自动安装。
GltfSaveOptions 实现 PBR 材质加载和二进制 GLB 输出。noImplicitAny 和 strictNullChecks 强类型化。GltfSaveOptions 选择紧凑的 GLB 或可读的 glTF。Aspose.3D 用于 TypeScript 安装的开源软件,只需一条 npm install @aspose/3d 命令。无需编译本机插件。该库是纯 TypeScript/JavaScript,只有一个自动安装的依赖 (xmldom)。
强类型 API 为每个场景图类和格式选项提供完整的 IDE 自动完成。库面向 Node.js 18–22+ 和 TypeScript 5.0+,在 Linux CI 运行器和开发者工作站上表现一致,并采用 MIT 许可证,GitHub 上拥有公开的 issue 跟踪系统。
使用 npm 安装后,使用同步的 scene.open() 方法并传入 ObjLoadOptions 来加载网格及其 MTL 材质文件。调用带有 .gltf 扩展名的 scene.save() 会写入标准的 glTF 2.0 JSON;格式会根据文件扩展名自动推断。
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());
// 导出为 glTF 2.0 JSON
scene.save("model.gltf");
要生成紧凑的二进制 GLB 而不是默认的 JSON glTF,请传入 GltfSaveOptions 并将 binaryMode = true。
import { Scene } from "@aspose/3d";
import { GltfSaveOptions } from "@aspose/3d/formats/gltf";
const scene = new Scene();
scene.open("mesh.stl");
// 保存为紧凑的二进制 GLB
const opts = new GltfSaveOptions();
opts.binaryMode = true;
scene.save("mesh.glb", opts);
它是一个免费、MIT 许可证的 TypeScript/Node.js 库,用于加载、操作和保存 3D 场景,无需安装任何本地插件或外部 SDK。
OBJ(带 .mtl)、glTF 2.0 与 GLB、STL(二进制和 ASCII)、COLLADA(DAE)、3MF 和 FBX。每种格式都有专用的类型化选项类。
不。Aspose.3D FOSS for TypeScript 是纯 JavaScript/TypeScript。它不需要编译步骤,并且只有一个运行时依赖(xmldom),由 npm 自动安装。
运行 npm install @aspose/3d。不需要额外的系统软件包或本地插件。
Node.js 18、20 和 22+。TypeScript 5.0+。该库编译为 CommonJS,并在严格的 TypeScript 设置下工作。
是的。所有类、方法、枚举和选项类型在启用 noImplicitAny 和 strictNullChecks 的情况下都已完整类型化。
是的。每种格式的选项类,例如 ObjLoadOptions 和 GltfSaveOptions,允许您翻转轴、调整比例并在无需自定义解析代码的情况下归一化法线。
该库采用 MIT 许可证,托管在 GitHub 上。欢迎提交 bug 报告和 pull requests。