如何开始使用 Aspose.3D FOSS for TypeScript
@aspose/3d for TypeScript 是一个免费、MIT 许可证的包,用于在 Node.js 中加载、操作和保存 3D 文件 —— 无需本机二进制文件,直接从源码构建。
分步指南
步骤 1:安装包
从源码构建(需要 Node.js 18 或更高版本):
git clone https://github.com/aspose-3d-foss/Aspose.3D-FOSS-for-TypeScript.git
cd Aspose.3D-FOSS-for-TypeScript
npm install
npm run build验证安装是否正确加载:
import { Scene } from "@aspose/3d";
console.log("@aspose/3d loaded.");步骤 2:导入所需类
从包中导入您需要的类:
import { Scene, Node } from "@aspose/3d";步骤 3:加载 3D 文件
使用 scene.open() 加载任何受支持的格式。库会根据文件扩展名自动检测格式:
import { Scene } from "@aspose/3d";
const scene = new Scene();
scene.open("model.obj");
console.log(`Loaded scene. Root node: ${scene.rootNode.name}`);或者使用静态工厂方法:
const scene = Scene.fromFile("model.glb");步骤 4:遍历场景图
加载后的场景是以 scene.rootNode 为根的 Node 对象树:
import { Scene, Node } from "@aspose/3d";
function walk(node: Node, depth: number = 0): void {
const indent = " ".repeat(depth * 2);
console.log(`${indent}Node: ${node.name}`);
for (const child of node.childNodes) {
walk(child, depth + 1);
}
}
const scene = Scene.fromFile("model.obj");
walk(scene.rootNode);步骤 5:保存为其他格式
使用 scene.save() 将导出为任何受支持的输出格式。库会根据文件扩展名检测输出格式:
import { Scene } from "@aspose/3d";
const scene = Scene.fromFile("model.obj");
scene.save("output.glb");
console.log("Saved as GLB.");常见问题与解决方案
Error: ENOENT 调用时 scene.open() 您提供的路径不存在。请使用绝对路径或 path.resolve() 以确保文件路径正确。
未知格式错误 确保文件扩展名与实际格式匹配。库会根据扩展名检测格式,适用于 open() and fromFile()。传入显式的 format 参数以覆盖。
加载后场景为空 某些二进制格式可能需要特定的加载选项。如果默认加载导致场景为空,请尝试使用带有格式特定选项的显式重载。
TypeScript 导入错误 类型定义随软件包一起提供。确保 "moduleResolution": "bundler" or "node16" 已在你的 tsconfig.json.
常见问题解答
@aspose/3d 需要任何本机二进制文件吗?
不。该包是纯 JavaScript/TypeScript,没有本机依赖。它可以在任何支持 Node.js 18 或更高版本的平台上运行。
支持哪些 Node.js 版本?
Node.js 18 或更高版本。该包可在 Windows、macOS 和 Linux 上运行。
该库可免费用于商业用途吗?
是的。它在 MIT License 下发布。您可以出于任何目的使用、修改和再分发,包括商业应用。
我可以读取和写入哪些 3D 格式?
该包支持 OBJ、STL、glTF 2.0 / GLB、FBX、COLLADA 和 3MF,均可用于读取和写入。使用基于扩展名的 scene.save() 可导出为任何受支持的格式。
我可以从头创建一个 3D 场景吗?
可以。使用无参数构造一个 Scene,向 scene.rootNode 添加子节点,然后保存为所需的格式。